Design task scheduler with dependencies | Google Interview Question