Design a URL shortener (TinyURL)
bit.ly-style redirect service. Hashing, collisions, analytics.
Tier 1 is warm-up. Tier 4 is the interview no one prepped you for. Your tutor watches every whiteboard.
bit.ly-style redirect service. Hashing, collisions, analytics.
Text storage with expiry, share links, blob offload.
Per-key limits under burst traffic. Token bucket, Redis atomicity.
Single-node KV with TTL and eviction. Get the basics right.
Ticketing, spot allocation, pricing. Scope it honestly.
Home timeline at scale. Fan-out, the celebrity problem, feed cache.
Delivery states, ordering, presence. Messages that never vanish.
Push, email, SMS fan-out with dedup and user preferences.
Politeness, frontier queues, dedup at web scale.
Unfurl URLs safely. Async fetch, cache, image proxy.
Match riders to drivers in real time. Geo-index, dispatch, surge.
Upload → transcode → CDN. Adaptive bitrate at planet scale.
Millisecond suggestions. Prefix index, caching, ranking.
Build Memcached. Consistent hashing, replication, hot keys.
Move money exactly once. Idempotency, ledgers, reconciliation.
File sync with chunking, delta upload, conflict handling.
Sell each seat once under a thundering herd. Holds, isolation.
Active-active across regions. Conflicts, failover, data gravity.
Cron at platform scale. Leases, retries, exactly-once-ish.
Clickstream to dashboards in seconds. Kafka, Flink, late events.
Bid, serve, and pace budgets — all inside 100 ms.
Spanner-lite. Consensus, partitions, cross-ocean quorums.
One limiter for every service. Sharded counters, flow control.
A flawed design is on the board. Find what breaks first.