~/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.

Streams & durability

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, with IN_PROGRESS -> QUEUED on lease expiry or failure, and -> FAILED once 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)), where seq preserves 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

esc