Common System Design Interview Questions
A comprehensive reference of the most common system design interview questions, organized by company type, difficulty, and category. Use this alongside the SDI books and the interview-framework to prepare systematically.
Section 1: Top 25 Most Common Questions Overall
| # | Question | Difficulty | Type | Chapter Reference | Key Patterns to Mention |
|---|---|---|---|---|---|
| 1 | Design a URL Shortener (like bit.ly) | Easy | Storage, Hash | Vol1 Ch08 | Consistent hashing, Base62 encoding, redirect, analytics |
| 2 | Design a Rate Limiter | Easy | Distributed | Vol1 Ch04 | Token bucket, sliding window, Redis, distributed state |
| 3 | Design a Key-Value Store | Medium | Distributed | Vol1 Ch06 | Consistent hashing, replication, CAP, vector clocks |
| 4 | Design a News Feed (like Facebook) | Medium | Social | Vol1 Ch11 | Fan-out on write/read, Redis, pagination, celebrity problem |
| 5 | Design a Chat System (like WhatsApp) | Medium | Real-time | Vol1 Ch12 | WebSocket, message ordering, delivery receipts, presence |
| 6 | Design a Notification System | Medium | Real-time | Vol1 Ch10 | Push/APNs/FCM, fan-out, deduplication, retry |
| 7 | Design YouTube / Video Streaming | Medium | Storage, CDN | Vol1 Ch14 | CDN, adaptive bitrate, chunked upload, encoding pipeline |
| 8 | Design Google Drive / Dropbox | Medium | Storage | Vol1 Ch15 | Block storage, delta sync, conflict resolution, versioning |
| 9 | Design a Web Crawler | Medium | Distributed | Vol1 Ch09 | URL frontier, politeness, dedup, distributed crawl |
| 10 | Design a Search Autocomplete | Medium | Real-time | Vol1 Ch13 | Trie, prefix hash, typeahead, CDN caching |
| 11 | Design a Unique ID Generator | Easy | Distributed | Vol1 Ch07 | Snowflake ID, UUID, ticket server, clock skew |
| 12 | Design a Payment System (like Stripe) | Hard | Fintech | Vol2 Ch11 | Idempotency, double-entry ledger, reconciliation, PSPs |
| 13 | Design a Proximity Service (like Yelp) | Medium | Geospatial | Vol2 Ch01 | Geohash, quadtree, radius search, DB indexing |
| 14 | Design a Ride-Sharing Service (like Uber) | Hard | Geospatial, Real-time | Vol2 Ch01, Ch02 | Geohash, WebSocket, matching algorithm, surge pricing |
| 15 | Design Google Maps / Navigation | Hard | Geospatial | Vol2 Ch03 | Graph traversal (Dijkstra/A*), ETA, routing tiles, traffic |
| 16 | Design a Distributed Message Queue (like Kafka) | Hard | Distributed | Vol2 Ch04 | Partitioning, consumer groups, offset, durability |
| 17 | Design a Metrics & Monitoring System | Medium | Data pipeline | Vol2 Ch05 | Time-series DB, aggregation, alerting, pull vs push |
| 18 | Design S3 / Object Storage | Hard | Storage | Vol2 Ch09 | Multipart upload, erasure coding, bucket/object model |
| 19 | Design a Gaming Leaderboard | Medium | Real-time, Data | Vol2 Ch10 | Redis Sorted Sets, score normalization, real-time updates |
| 20 | Design a Stock Exchange | Very Hard | Fintech | Vol2 Ch13 | Order book, matching engine, ACID, low latency, sequencer |
| 21 | Design a Digital Wallet | Hard | Fintech | Vol2 Ch12 | Distributed transactions, idempotency, event sourcing |
| 22 | Design an Ad Click Aggregation System | Hard | Data pipeline | Vol2 Ch06 | Stream processing, MapReduce, deduplication, watermarks |
| 23 | Design a Hotel Reservation System | Medium | Booking | Vol2 Ch07 | Optimistic locking, double-booking prevention, inventory |
| 24 | Design a Distributed Email Service | Hard | Distributed | Vol2 Ch08 | SMTP, MIME, deduplication, spam filtering, mailbox storage |
| 25 | Design Consistent Hashing | Easy | Distributed | Vol1 Ch05 | Virtual nodes, ring, rebalancing, load distribution |
Section 2: Questions by Company Type
FAANG / Big Tech
| Question | Difficulty | Type | Chapter Reference | Key Patterns to Mention |
|---|---|---|---|---|
| Design Google Search (crawl + index + serve) | Very Hard | Distributed, Storage | Vol1 Ch09 (crawl) | Crawler, inverted index, PageRank, sharding, serving |
| Design Google Maps | Hard | Geospatial | Vol2 Ch03 | Graph routing, tile serving, ETA, live traffic |
| Design YouTube | Medium | Storage, CDN | Vol1 Ch14 | CDN, transcoding, metadata DB, recommendation |
| Design Gmail / Distributed Email | Hard | Distributed | Vol2 Ch08 | Mailbox sharding, SMTP, spam, threading |
| Design Facebook News Feed | Medium | Social | Vol1 Ch11 | Fan-out, Redis, denormalization, pagination |
| Design Facebook Messenger / WhatsApp | Medium | Real-time | Vol1 Ch12 | WebSocket, message store, group messaging |
| Design Instagram | Medium | Social, Storage | Vol1 Ch11, Ch14 | CDN, fan-out, media storage, explore feed |
| Design Amazon Search / Product Catalog | Medium | Search, Storage | Vol1 Ch13 | Elasticsearch, inverted index, faceted search |
| Design Amazon Order Management | Hard | Fintech, Distributed | Vol2 Ch11 | Saga pattern, inventory, payment, fulfillment |
| Design Netflix Streaming | Hard | CDN, Storage | Vol1 Ch14 | Adaptive bitrate, CDN prefetch, Open Connect |
| Design Apple Push Notification Service | Medium | Real-time | Vol1 Ch10 | Fan-out, device tokens, delivery guarantee |
| Design AWS S3 | Hard | Storage | Vol2 Ch09 | Object store, multipart, metadata, replication |
Fintech
| Question | Difficulty | Type | Chapter Reference | Key Patterns to Mention |
|---|---|---|---|---|
| Design Stripe Payment API | Hard | Fintech | Vol2 Ch11 | Idempotency keys, PSP integration, webhooks, reconciliation |
| Design Robinhood Stock Feed / Trading | Very Hard | Fintech, Real-time | Vol2 Ch13 | Order book, market data feed, matching engine |
| Design Coinbase Crypto Exchange | Very Hard | Fintech | Vol2 Ch13 | Matching engine, blockchain integration, wallets |
| Design a Digital Wallet (like Venmo/PayPal) | Hard | Fintech | Vol2 Ch12 | Distributed transactions, double-entry accounting |
| Design Fraud Detection System | Hard | Data pipeline | Vol2 Ch06 | Stream processing, ML feature store, rule engine |
| Design a Rate Limiter for a Payments API | Easy | Distributed | Vol1 Ch04 | Token bucket, per-customer limits, Redis |
Social Media
| Question | Difficulty | Type | Chapter Reference | Key Patterns to Mention |
|---|---|---|---|---|
| Design Twitter / X Timeline | Medium | Social | Vol1 Ch11 | Fan-out, celebrity problem, Redis sorted sets |
| Design Twitter Search | Hard | Search | Vol1 Ch09 (concepts) | Inverted index, real-time indexing, Elasticsearch |
| Design Instagram Stories | Medium | Social, Storage | Vol1 Ch14 | TTL, CDN, media pipeline, viewer counts |
| Design TikTok Video Feed | Hard | Social, CDN | Vol1 Ch14 | Recommendation, video pipeline, CDN, infinite scroll |
| Design Snapchat Stories / Messaging | Medium | Real-time, Storage | Vol1 Ch12 | Ephemeral storage, E2E encryption, media storage |
| Design a “Who Viewed Your Profile” Feature | Medium | Social | Vol1 Ch11 | Count-min sketch, approximate counting, privacy |
Storage / Cloud / Productivity
| Question | Difficulty | Type | Chapter Reference | Key Patterns to Mention |
|---|---|---|---|---|
| Design Dropbox / Google Drive | Medium | Storage | Vol1 Ch15 | Block sync, delta diff, conflict resolution, versioning |
| Design Slack / Team Messaging | Medium | Real-time | Vol1 Ch12 | WebSocket, channels, threading, search, retention |
| Design Notion / Collaborative Doc Editor | Hard | Real-time, Storage | Vol1 Ch15 (concepts) | CRDT / OT, versioning, real-time collab, block model |
| Design a Pastebin | Easy | Storage | Vol1 Ch08 (concepts) | Object store, TTL, short URLs, rate limiting |
| Design a Cloud File Sync Service | Medium | Storage | Vol1 Ch15 | Delta sync, deduplication, conflict resolution |
Rideshare / Maps
| Question | Difficulty | Type | Chapter Reference | Key Patterns to Mention |
|---|---|---|---|---|
| Design Uber / Lyft | Hard | Geospatial, Real-time | Vol2 Ch01, Ch02 | Geohash, driver matching, WebSocket, surge, ETA |
| Design Google Maps Navigation | Hard | Geospatial | Vol2 Ch03 | Dijkstra/A*, routing tiles, live traffic, ETA |
| Design Yelp / Proximity Search | Medium | Geospatial | Vol2 Ch01 | Geohash, quadtree, radius query, business index |
| Design Nearby Friends (like Facebook) | Medium | Geospatial, Real-time | Vol2 Ch02 | Location pub/sub, Redis geospatial, privacy |
| Design a Delivery ETA System | Hard | Geospatial | Vol2 Ch03 | Historical traffic, ML models, graph routing |
Section 3: Question Difficulty Breakdown
Easy — Junior / Mid-Level (L3-L4)
| Question | Key Focus | What Interviewers Want to See |
|---|---|---|
| URL Shortener | Hashing, redirects, analytics | Basic CRUD, simple scale, DB design |
| Unique ID Generator | Distributed IDs, clock skew | Snowflake IDs, trade-offs of approaches |
| Rate Limiter | Algorithms, distributed state | Token bucket vs sliding window, Redis |
| Consistent Hashing | Ring, virtual nodes | Understanding of why it’s needed |
| Pastebin | Object storage, TTL, short URLs | Simple architecture, basic scale |
| Design a TinyURL Analytics Dashboard | Metrics, aggregation | Time-series data, aggregation strategies |
Medium — Senior (L5)
| Question | Key Focus | What Interviewers Want to See |
|---|---|---|
| News Feed | Fan-out, caching, scale | Push vs pull trade-off, celebrity problem |
| Chat System | Real-time, ordering, delivery | WebSocket, message queues, at-least-once |
| Notification System | Push delivery, fan-out | APNs/FCM, deduplication, retry strategies |
| YouTube | Video pipeline, CDN | Encoding, adaptive bitrate, metadata sharding |
| Google Drive | Sync, versioning | Block diff, conflict resolution, resumable upload |
| Web Crawler | Distributed crawl, politeness | URL frontier, dedup, robots.txt, scheduling |
| Search Autocomplete | Trie, caching, latency | Data structure choice, CDN, update lag |
| Key-Value Store | CAP, replication, quorum | Dynamo-style design, gossip, vector clocks |
| Proximity Service | Geohash, quadtree | Spatial indexing trade-offs, radius search |
| Metrics Monitoring | Time-series, alerting | TSDB, pull vs push, cardinality |
Hard — Staff Level (L6)
| Question | Key Focus | What Interviewers Want to See |
|---|---|---|
| Payment System | Idempotency, ACID, reconciliation | Double-entry, PSP integration, failure recovery |
| Distributed Message Queue | Partitioning, durability, at-least-once | Kafka internals, consumer groups, offset management |
| S3 Object Storage | Erasure coding, metadata, multipart | Object model, durability, replication design |
| Ad Click Aggregation | Stream + batch, deduplication | Lambda architecture, watermarks, fault tolerance |
| Google Maps | Graph routing, live traffic | Dijkstra/A*, tile serving, ETA accuracy |
| Uber Driver Matching | Real-time matching, geospatial | Location indexing, WebSocket at scale, surge |
| Digital Wallet | Distributed transactions, consistency | Event sourcing, saga pattern, reconciliation |
| Distributed Email | Mailbox sharding, SMTP | Deduplication, spam filtering, threading |
| Hotel Reservation | Inventory locking, double-booking | Optimistic locking, idempotency, overbooking |
| Gaming Leaderboard | Real-time ranking, high write | Redis Sorted Sets, approximate counting |
Very Hard — Principal / Distinguished (L7+)
| Question | Key Focus | What Interviewers Want to See |
|---|---|---|
| Stock Exchange | Order book, matching engine, latency | LMAX disruptor, sequencer, sub-ms latency |
| Google Search (full) | Crawl + index + rank + serve | PageRank, serving at scale, freshness |
| Global Distributed DB | Consensus, partitioning, clock sync | Paxos/Raft, TrueTime (Spanner), linearizability |
| Collaborative Doc Editor | CRDT/OT, real-time consistency | Operational transforms, conflict-free merges |
| Recommendation Engine at Scale | ML pipeline, feature store, serving | Offline training + online serving, A/B testing |
Section 4: Question Types
Storage-Heavy Systems
| Question | Storage Challenge | Key Patterns |
|---|---|---|
| YouTube | Video blobs, metadata, thumbnails | Object store (S3), CDN, chunked upload |
| Google Drive | File blocks, versioning, delta sync | Block dedup, conflict resolution, resumable uploads |
| S3 Object Storage | Petabyte-scale blob storage | Erasure coding, consistent hashing, metadata DB |
| Distributed Email | Mailbox storage, attachments | MIME, mailbox sharding, attachment dedup |
| Web Crawler | URL data, crawled content | Bloom filter dedup, distributed queue, content store |
Real-Time Systems
| Question | Real-Time Challenge | Key Patterns |
|---|---|---|
| Chat System | Message ordering, delivery guarantee | WebSocket, message queue, at-least-once delivery |
| Notification System | Low-latency fan-out | APNs/FCM, Kafka fan-out, device token management |
| Gaming Leaderboard | Live score updates | Redis Sorted Sets, pub/sub, debounced updates |
| Nearby Friends | Live location broadcast | Location pub/sub, geospatial index, privacy controls |
| Stock Exchange | Sub-millisecond matching | LMAX disruptor, single-threaded engine, lock-free |
High-Throughput Systems
| Question | Throughput Challenge | Key Patterns |
|---|---|---|
| Rate Limiter | Millions of checks/sec | Redis INCR, sliding window, token bucket in memory |
| Ad Click Aggregation | Billions of events/day | Kafka ingestion, MapReduce, time-window aggregation |
| Distributed Message Queue | High-volume pub/sub | Partitioning, sequential disk I/O, batch writes |
| Key-Value Store | High read/write QPS | In-memory cache, consistent hashing, replication |
| Metrics Monitoring | High-cardinality time-series | TSDB (InfluxDB/Prometheus), downsampling, retention |
Geospatial Systems
| Question | Geo Challenge | Key Patterns |
|---|---|---|
| Proximity Service | Radius search at scale | Geohash, quadtree, DB spatial index |
| Nearby Friends | Real-time location updates | Redis GEORADIUS, pub/sub, location TTL |
| Google Maps | Routing, live traffic | Graph algorithms, routing tiles, traffic prediction |
| Uber Driver Matching | Real-time driver location | Geohash, WebSocket, H3 hexagonal indexing |
| Delivery ETA | Route estimation | Historical traffic, ML models, A/B routing |
Financial Systems
| Question | Finance Challenge | Key Patterns |
|---|---|---|
| Payment System | Exactly-once, reconciliation | Idempotency keys, double-entry ledger, saga |
| Digital Wallet | Distributed balance updates | Event sourcing, CQRS, optimistic locking |
| Stock Exchange | Order book, fairness, latency | FIFO queue, price-time priority, sequencer |
| Fraud Detection | Real-time anomaly detection | Stream processing, rule engine, ML scoring |
| Hotel Reservation | Inventory + double booking | Optimistic locking, overbooking policy, ACID tx |
Section 5: Questions NOT in the SDI Books (Good Stretch Problems)
These questions extend beyond the SDI books. Ideal for senior/staff prep and for companies with unique domains.
| Question | Difficulty | Type | Hints / Key Areas to Explore |
|---|---|---|---|
| Design a Collaborative Code Editor (like CodePair) | Hard | Real-time, CRDT | Operational Transform or CRDT, cursor sync, execution sandbox |
| Design a Distributed Cron / Job Scheduler | Hard | Distributed | Leader election, at-least-once execution, idempotency, sharding jobs |
| Design an App Store (like Google Play) | Hard | Storage, Distributed | Binary distribution, versioning, review pipeline, developer portal |
| Design a Live Streaming Platform (like Twitch) | Hard | Real-time, CDN | RTMP ingest, HLS/DASH distribution, chat at scale, viewer count |
| Design a CI/CD Pipeline (like GitHub Actions) | Hard | Distributed | Job queue, worker isolation (containers), artifact storage, caching |
| Design a Social Graph (like LinkedIn connections) | Hard | Graph, Distributed | Graph DB vs adjacency list, BFS at scale, degree-of-connection |
| Design a Real-Time Analytics Dashboard | Hard | Data pipeline | Stream processing, pre-aggregation, live push via WebSocket |
| Design an E-commerce Search with Personalization | Hard | Search, ML | Elasticsearch, personalized ranking, A/B testing, click feedback |
| Design a Ride-Share Pricing Engine (Surge) | Hard | Real-time | Demand/supply ratio, ML models, geographic zones, fairness |
| Design a Content Moderation System | Hard | ML, Distributed | Async media pipeline, classifier queue, human-in-the-loop, appeals |
| Design a Two-Factor Authentication (2FA) Service | Medium | Security, Distributed | TOTP (RFC 6238), rate limiting, fallback SMS, device trust |
| Design a Distributed Tracing System (like Jaeger) | Hard | Observability | Trace context propagation, span storage, sampling strategies |
| Design a Feature Flag Service | Medium | Distributed | Consistent evaluation, rollout percentages, kill switch, low latency |
| Design a Real-Time Bidding (RTB) System | Very Hard | Fintech, Real-time | Sub-100ms auction, DSP/SSP, bidding logic, auction result delivery |
| Design an ML Feature Store | Hard | Data pipeline, ML | Feature computation, point-in-time correctness, online/offline store |
| Design a DNS Resolver at Scale | Hard | Distributed | Recursive resolution, caching, TTL, DDoS protection |
| Design a CDN from Scratch | Hard | Infrastructure | Edge PoPs, origin pull, cache invalidation, anycast routing |
| Design a Ticket Booking System (like Ticketmaster) | Hard | Fintech, Distributed | Seat locking, virtual queue, flash sale handling, double-booking |
| Design a Distributed Configuration Service (like ZooKeeper) | Hard | Distributed | Consensus (ZAB/Raft), watch mechanism, sequential consistency |
| Design a Privacy-Preserving Analytics System | Very Hard | Data pipeline, Security | Differential privacy, k-anonymity, aggregation with noise |
Last Updated: 2026-04-13