System design interview question
Design a Distributed Job Queue and Task Scheduling System like Airbnb's Chronos at Scale
Design a fault-tolerant, distributed job queue and task scheduler that handles millions of recurring and one-time jobs across a global infrastructure. The system must support 50K job submissions per second, execute tasks across 1000+ worker nodes in multiple regions, guarantee at-least-once execution semantics, handle job dependencies and retries with exponential backoff, and provide sub-second scheduling latency for time-sensitive tasks. Key constraints include maintaining strong consistency for job state transitions, supporting heterogeneous task types (batch, streaming, real-time), managing resource allocation and prioritization across competing jobs, and providing observability/debugging for failed executions. Design the control plane, worker orchestration, state management, and failure recovery mechanisms.
Practice this question step by step with an AI interviewer that reviews your requirements, your architecture and your trade-offs, and scores the design.