Jump to a problem, path or page
Jump to a problem, path or page
Problem library
High-level architecture and low-level object design, each with progressive hints, a written analysis, approach and worked solution.
Turn long URLs into short links. Keep redirects fast when a link goes viral.
Deliver email, SMS, and push notifications without losing work during provider outages.
Build a feed for millions of readers, from everyday posts to celebrity fan-out.
Model spots, tickets, and pricing with clear responsibilities and safe allocation.
Design a token bucket with an injectable clock, atomic state, and useful retry hints.
Separate dispatch policy from car state and enforce movement safety invariants.
Deliver ordered conversations across devices, reconnects and offline recipients.
Design resumable uploads, durable metadata and secure downloads for large files.
Schedule durable jobs with leases, retries and safe recovery after worker crashes.
Design partitioning, bounded staleness and stampede control for a shared cache.
Build constant-time lookup and eviction with a hash map and a doubly linked list.
Model selection, payment, dispensing and refunds with guarded state transitions.
Split expenses fairly with exact money arithmetic and an auditable ledger.
Reserve seats with expiring holds and reconcile payment without overselling.
Serve ranked prefix suggestions while rebuilding indexes without downtime.
Turn uploads into adaptive streams with reliable transcoding and private playback.
Match riders with nearby drivers while handling stale locations and acceptance races.
Ingest time-series data with bounded cardinality, replay and predictable query costs.
Coordinate orders, stock and payment with idempotent steps and compensation.
Model titles, physical copies, loans and reservations without double lending.
Compose structured logging, redaction and bounded asynchronous output.
Model a directory tree with path resolution, safe moves and consistent mutations.
Define subscription, dispatch and error semantics for a reusable event dispatcher.
Separate board rules, turn handling and game state for a testable game engine.