Distributed Systems Design — case syllabus
The 44-case applied layer of this track. The 19 foundation lessons derive the patterns; these case drills are where you apply them under realistic prompts. This page maps the 44 drills to their sources — the Alex Xu books and archive — and shows the coverage without duplicating the source material.
How to use the cases
Work the 19 foundation lessons first — they build the vocabulary (partitioning, replication, consistency, queues, fault tolerance) that every case below assumes. Then treat each case as a drill: state the requirements and estimates, reach for the foundation patterns by name, and defend the trade. The cases are the second half of the track, not an optional appendix.
Source Coverage
| Source | Role in the site | What it contributes |
|---|---|---|
| System Design Interview, Vol. 1 | Classic interview spine | Scaling, estimation, interview method, then core cases: rate limiter, consistent hashing, key-value store, IDs, short links, crawler, notifications, feed, chat, autocomplete, video, and file storage. |
| System Design Interview, Vol. 2 | Advanced case-study layer | Location, maps, queues, observability, ad aggregation, reservations, email, object storage, leaderboards, payments, wallets, and stock exchange. |
| System Design Big Archive | Primer and gap filler | Short topics around databases, security, web/networking, cloud, caching, messaging, storage, operations, payments, geo, collaboration, and flash sales. |
The Existing Foundation Track
These pages are already the right prerequisite path. They should remain the main sequence because they teach the forces behind the cases.
01
Method, estimates, and requirements
The interview script, back-of-envelope math, and the habit of letting numbers choose architecture.
Covers Vol. 1 Ch. 1-3 plus archive estimation/scaling topics.
02
Contract and data layer
API style, data modeling, storage engines, indexes, database choice, and the costs of each access pattern.
Covers archive API, database, isolation, and storage primers.
03
Scale the stateless tier
Load balancing, stateless replicas, caching, API edge concerns, CDNs, and rate limiting as protection.
Covers Vol. 1 scaling/rate limiter material and archive cache/CDN topics.
04
Scale state
Partitioning, replication, consistency, consensus, transactions, idempotency, and fault tolerance.
Covers the distributed-systems concepts used by almost every case.
05
Operate and synthesize
Optimization, observability, service decomposition, archetypes, and the capstone interview walkthrough.
Covers archive operations, deployment, outage, and monitoring topics.
Case-Study Lessons
Each case page is original and uses the same rubric: requirements, estimates, API/data model, linearized design, deep dives, failures, and trade-offs. The source column is a coverage pointer, not a prescription to copy.
Phase 1 - Core distributed building blocks
| No. | Lesson | Source | Design focus |
|---|---|---|---|
| C01 | Design a rate limiter | Vol. 1 Ch. 4 | Token bucket, sliding windows, shared counters, edge placement, abuse protection. |
| C02 | Design consistent hashing | Vol. 1 Ch. 5 | Rings, virtual nodes, remapping cost, hot shards, cache/database ownership. |
| C03 | Design a key-value store | Vol. 1 Ch. 6 | Partitioning, replication, quorum reads/writes, compaction, failure recovery. |
| C04 | Design a distributed unique ID generator | Vol. 1 Ch. 7, archive | Snowflake-style IDs, monotonicity, clock skew, region bits, collision budgets. |
| C05 | Design a URL shortener | Vol. 1 Ch. 8 | Read-heavy routing, ID allocation, redirects, analytics, abuse, cache hit rate. |
Phase 2 - Search, feeds, communication, and collaboration
| No. | Lesson | Source | Design focus |
|---|---|---|---|
| C06 | Design a web crawler | Vol. 1 Ch. 9, archive | Frontier scheduling, politeness, duplicate detection, robots rules, content storage. |
| C07 | Design a notification system | Vol. 1 Ch. 10, archive | Fanout, device tokens, templates, preferences, retry, dedupe, channel priority. |
| C08 | Design a news feed | Vol. 1 Ch. 11 | Fanout-on-write vs fanout-on-read, celebrity users, ranking, freshness, storage. |
| C09 | Design a chat system | Vol. 1 Ch. 12 | WebSockets, message ordering, online presence, offline sync, multi-device state. |
| C10 | Design search autocomplete | Vol. 1 Ch. 13 | Trie/FST style serving, prefix aggregation, personalization, updates, latency. |
| C11 | Design Twitter-style timelines | Archive | Hybrid fanout, social graph reads, ranking, backfill, cache invalidation. |
| C12 | Design Google Docs-style collaboration | Archive | Operational transform/CRDT choices, presence, conflict handling, document storage. |
| C13 | Design Gmail or a distributed email service | Vol. 2 Ch. 8, archive | SMTP flow, inbox indexing, spam pipeline, delivery retry, search and attachments. |
Phase 3 - Media and storage products
| No. | Lesson | Source | Design focus |
|---|---|---|---|
| C14 | Design YouTube | Vol. 1 Ch. 14 | Upload, transcoding, metadata, CDN, recommendations boundary, hot video traffic. |
| C15 | Design Google Drive | Vol. 1 Ch. 15 | Large file upload, chunking, sync, metadata, conflict resolution, sharing. |
| C16 | Design S3-like object storage | Vol. 2 Ch. 9, archive | Object metadata, placement, replication, erasure coding, durability math. |
| C17 | Design large file upload and serving | Archive | Multipart upload, resumability, checksums, CDN, object lifecycle policy. |
| C18 | Block, file, and object storage primer | Archive | Storage interface trade-offs and how they drive product design choices. |
Phase 4 - Geo, maps, and realtime location
| No. | Lesson | Source | Design focus |
|---|---|---|---|
| C19 | Design a proximity service | Vol. 2 Ch. 1, archive | Geohash, quadtrees, nearby search, cache by cell, privacy and freshness. |
| C20 | Design nearby friends | Vol. 2 Ch. 2 | Location streams, pub/sub, friend graph filtering, online state, battery trade-offs. |
| C21 | Design Google Maps | Vol. 2 Ch. 3, archive | Map tiles, routing, traffic updates, storage, rendering, offline/cache behavior. |
| C22 | Geospatial indexes and quadtrees | Archive | Grid, geohash, quadtree, S2-style cells, precision vs fanout. |
Phase 5 - Data infrastructure and observability
| No. | Lesson | Source | Design focus |
|---|---|---|---|
| C23 | Design a distributed message queue | Vol. 2 Ch. 4, archive | Topics, partitions, consumer groups, ordering, durability, backpressure. |
| C24 | Design metrics monitoring and alerting | Vol. 2 Ch. 5, archive | Ingestion, time-series storage, rollups, alert evaluation, cardinality control. |
| C25 | Design ad click event aggregation | Vol. 2 Ch. 6 | Event pipelines, dedupe, late data, batch vs stream, exactly-once illusions. |
| C26 | Why Kafka is fast and when to use it | Archive | Append logs, batching, zero-copy, page cache, partition parallelism. |
| C27 | At-most, at-least, and effectively-once delivery | Archive | Idempotency, transactions, outbox, consumer offsets, replay strategy. |
| C28 | Debugging CPU, memory, and IO incidents | Archive | Symptom-first diagnosis, telemetry, saturation, deployment rollback. |
Phase 6 - Marketplaces, reservations, and burst traffic
| No. | Lesson | Source | Design focus |
|---|---|---|---|
| C29 | Design a hotel reservation system | Vol. 2 Ch. 7, archive | Inventory, booking holds, overbooking, payment handoff, consistency boundaries. |
| C30 | Design a flash sale system | Archive | Queue gating, stock counters, fairness, cache pre-warm, overload control. |
| C31 | Design a realtime gaming leaderboard | Vol. 2 Ch. 10 | Sorted sets, partitioning, top-k, season resets, cheat/fraud hooks. |
Phase 7 - Payments, wallets, and financial systems
| No. | Lesson | Source | Design focus |
|---|---|---|---|
| C32 | Design a payment system | Vol. 2 Ch. 11, archive | Payment intent, ledger, idempotency, retry, PSP integration, reconciliation. |
| C33 | Design a digital wallet | Vol. 2 Ch. 12 | Ledger model, balance reads, double-entry accounting, holds, auditability. |
| C34 | Money movement and reconciliation | Archive | Settlement, posting, mismatch detection, retry, compensating correction. |
| C35 | Avoid double charges | Archive | Idempotency keys, outbox, state machine, duplicate webhook handling. |
| C36 | Payment security, SWIFT, and foreign exchange | Archive | Threat model, rails, FX quote lifecycle, compliance and audit constraints. |
Phase 8 - Trading systems
| No. | Lesson | Source | Design focus |
|---|---|---|---|
| C37 | Design a stock exchange | Vol. 2 Ch. 13, archive | Order book, matching engine, sequencing, market data, persistence, risk checks. |
| C38 | Microsecond-latency exchange architecture | Archive | Latency budget, colocated components, single-writer design, recovery logs. |
| C39 | Match buy and sell orders | Archive | Price-time priority, order types, deterministic replay, correctness before scale. |
Phase 9 - Web, security, and cloud primers
| No. | Lesson | Source | Design focus |
|---|---|---|---|
| C40 | Secure API access, SSO, passwords, and HTTPS | Archive | Authn/authz, OAuth/OIDC shape, password hashing, TLS termination, API signing. |
| C41 | DNS, HTTP, browser request lifecycle, and QUIC | Archive | Name resolution, connection setup, protocol evolution, page-load bottlenecks. |
| C42 | Microservices, containers, deployment, and Lambda | Archive | Runtime boundaries, rollout strategy, serverless execution, operational trade-offs. |
| C43 | IaaS, PaaS, SaaS, and cloud choice | Archive | Responsibility boundaries, managed services, lock-in, cost and control. |
| C44 | Design an AI coding engine | Archive | Bridge to ML system design: retrieval, sandboxing, tool calls, evaluation, serving. |
Publishing Order
| Wave | Ship first | Why |
|---|---|---|
| 1 | C01-C05 | These are reusable primitives that appear inside many later cases. |
| 2 | C06-C18 | Classic social, search, communication, media, and storage prompts. They make the track immediately useful for interviews. |
| 3 | C19-C28 | Advanced distributed dataflow: geo, queues, metrics, aggregation, and operations. |
| 4 | C29-C39 | High-correctness domains: reservations, payments, wallets, and trading. |
| 5 | C40-C44 | Primer lessons that fill conceptual gaps and cross-link to security, cloud, and ML systems. |
Content rule
The lessons should not be book notes. Use the PDFs to choose coverage, then write each lesson as an original design exercise with calculations, trade-offs, failure modes, and links back to the 19 foundation lessons.