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.
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.
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.
Route requests with authentication, quotas and bounded downstream failure handling.
Evaluate consistent rollouts with versioned rules and predictable outage defaults.
Maintain ordered scores with deduplicated updates, seasons and deterministic ties.
Deliver signed events with retries, endpoint isolation and replayable delivery history.
Schedule a bounded crawl with URL deduplication, per-host politeness and crash recovery.
Design durable enqueue, visibility leases and stale-ack protection.
Generate unique IDs across workers while handling clock rollback and sequence exhaustion.
Transform uploads into immutable variants with bounded decoding and retryable jobs.
Track multi-device presence using heartbeats, expiry and stale-event protection.
Build a searchable index with versioned updates, secure hydration and rebuilds.
Enforce tenant isolation across requests, caches, jobs and resource budgets.
Create verifiable recovery points and prove they restore in an isolated environment.