~/problems
Problems
Basics first, then the classics, then company-style assessments. Every problem has tests you run right here; multi-level ones unlock as you go. See the roadmap.
Fault-tolerant work queue
Leases with deadlines in a min-heap; explicit task states.
Notes
Recognise it when: task queues, leases or visibility timeouts (SQS-style), retries, worker heartbeats.
- The task state machine:
QUEUED -> IN_PROGRESS -> DONE, withIN_PROGRESS -> QUEUEDon lease expiry or failure, and-> FAILEDonce attempts run out. - Leases: a heap of
(deadline, lease_id, task). A heartbeat issues a new lease_id, so the old heap entry becomes stale and is skipped (lazy deletion). - Claim order:
min(ready, key=(-priority, seq)), whereseqpreserves the original queue position on requeue. - Dependencies: claimable only when every dependency is DONE. Failure propagates to dependents.
4 problems
Practical systems
Streams & durability Rate counters, serialization, retrying work queues.
Fault-tolerant work queue
- Basics: expire leases with a min-heap basics py · c++ · java easy
- Round-robin print queue across customers py · c++ · java easy
- OA: Fault-tolerant work queue 3 levels OpenAI medium
- Round-robin task scheduler 3 levels Citadel medium