System Design Practice Questions
Eight prompts that show up again and again in real interviews. Each one is worked through the same 6-step framework — and each one highlights one or two building blocks so you build a library of reusable moves: rate limiting, fan-out, the long-poll/WebSocket choice, consistent hashing, idempotency, and more.
Before reading any solution, force yourself through the framework out loud:
- Requirements — functional (2–3 core features) + non-functional (scale, latency, consistency).
- Estimate — QPS, storage, bandwidth (peak, not just average).
- API — the contract.
- Data model — entities + the access pattern that picks the database.
- High-level design — boxes, each justified by a requirement.
- Deep dives — find and fix your own bottleneck.
If you can narrate those six steps before peeking, you’ve already passed.
Easy
| Problem | Highlights | Status |
|---|---|---|
| Rate Limiter | Token bucket vs sliding window, where it lives, distributed counters | Available |
| URL Shortener (TinyURL) | Read-heavy path, unique key generation, sharding | Available |
Medium
| Problem | Highlights | Status |
|---|---|---|
| Typeahead / Autocomplete | Trie at scale, prefix caching, top-k ranking | Available |
| News Feed | Fan-out on write vs read, the celebrity problem | Available |
| Chat App (WhatsApp) | WebSockets, presence, message delivery & ordering | Available |
| Distributed Key-Value Store | Consistent hashing, replication, quorum, CAP | Available |
Hard
| Problem | Highlights | Status |
|---|---|---|
| Web Crawler | BFS frontier, politeness, dedup at scale | Available |
| Notification Service | Multi-channel fan-out, queues, retries, idempotency | Available |
More Practice (Coming Soon)
| Problem | Highlights | Status |
|---|---|---|
| Design YouTube / Netflix | Video upload pipeline, transcoding, CDN | Coming Soon |
| Design Instagram | Photo storage, feed, follow graph | Coming Soon |
| Design Uber | Geospatial indexing, matching, real-time location | Coming Soon |
| Design a Distributed Cache | Eviction, sharding, replication | Coming Soon |
| Design Google Drive / Dropbox | Chunking, sync, dedup, metadata | Coming Soon |
| Design Ticketmaster | Inventory locking, fairness, concurrency | Coming Soon |
| Design a Search Engine | Inverted index, ranking, sharded query | Coming Soon |
| Design a Distributed Job Scheduler | Cron at scale, leader election, exactly-once | Coming Soon |