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.
Deliver ordered conversations across devices, reconnects and offline recipients.
Schedule durable jobs with leases, retries and safe recovery after worker crashes.
Turn uploads into adaptive streams with reliable transcoding and private playback.
Coordinate orders, stock and payment with idempotent steps and compensation.
Deliver signed events with retries, endpoint isolation and replayable delivery history.
Design durable enqueue, visibility leases and stale-ack protection.
Transform uploads into immutable variants with bounded decoding and retryable jobs.
Track versioned automated checks, reviewer decisions and publication state.
Track device commands through reconnects, deduplication and ambiguous acknowledgements.
Append versioned domain events and rebuild read models without duplicating effects.
Bridge a consistent snapshot to a retained change log and replay downstream safely.
Schedule email sends with suppression, provider feedback and honest ambiguous-outcome handling.
Compute windowed aggregates with watermarks, late-event policy and recoverable state.
Design retained partition logs with fenced consumer assignments and committed offsets.
Synchronize external calendars with durable cursors, tombstones and conditional local edits.
Assign support tickets by skills and capacity with aging, explicit ownership and reassignment.
Coordinate restaurant acceptance, preparation and courier pickup with explicit cancellation boundaries.
Charge customers through external payment providers exactly once, keep a correct ledger, and stay correct when providers time out or go down.
Jump to a problem, path or page