ORIGINAL SYSTEM DESIGN QUESTION
Fair scheduling for sandbox jobs
Allocate isolated code-runner workers across competing tenants with deadlines.
Original exercise · advanced. Editorial role relevance does not imply a company has asked this question.
Requirements and constraints
- 10,000 jobs/minute; job CPU limits 1–10 seconds; 500 workers.
- A tenant flooding long jobs must not starve short legitimate assessments.
- State assumptions and justify security, cost, operational ownership and data retention.
Pressure round
An execution node fails while holding 100 active jobs.
Build and explain the design
Requirements & scope
Who uses it? What must it do? What is explicitly out of scope? State latency, durability and privacy goals.
Self-review guidance
Define the actors, required operations and out-of-scope behavior. Explicit requirement: A tenant flooding long jobs must not starve short legitimate assessments.
Capacity estimates
State assumptions, peak requests/second, data volume and retention. Show your arithmetic and units.
Self-review guidance
Use this workload: 10,000 jobs/minute; job CPU limits 1–10 seconds; 500 workers. Convert rates and payload sizes into peak compute/storage assumptions; show units, headroom and what remains unmeasured.
APIs & data model
Describe endpoints/events, entity keys, indexes, authorization, and idempotency.
Self-review guidance
Define tenant queues, deadline metadata, cancellation and queue/program timing.
Architecture & data flow
Describe components and request/event paths. Use plain text arrows to sketch your design; explain each responsibility.
Self-review guidance
Use fair admission, bounded queues and separately isolated workers.
Failures & observability
What happens on overload, duplicate events, partial failures or lost dependencies? Discuss monitoring and recovery.
Self-review guidance
Pressure-test: An execution node fails while holding 100 active jobs. Describe bounded recovery, deduplication, observability and a user-visible failure state.
Tradeoffs & alternatives
Compare two plausible approaches. State the costs, consistency model and what would make you change the design.
Self-review guidance
Compare retries, orphan reconciliation and deadline-aware fair scheduling.
Design guidance describes assumptions and tradeoffs; no architecture has been simulated or benchmarked.
Practice this question
Save your work privately, explain decisions and return to your revision queue.
Open practice workspaceBrowse the question library →