system design courseCommon Designs
The questions that actually get asked, worked end to end.
8 chapters30 lessonsabout 1 hour
Map a short code to a long URL. Read-heavy, globally cached.
- Requirements and Estimation2 min
- Short Codes and the Data Model3 min
- The Read Path2 min
- 301 vs 302 and the Analytics Pipeline2 min
Real-time bidirectional messaging with offline delivery and group support.
- Requirements and Estimation2 min
- Message Flow Across Servers2 min
- Storage and Offline Delivery3 min
- Groups, Receipts, and Presence2 min
Aggregate, rank, and serve personalized posts from accounts you follow.
- Requirements and Estimation2 min
- Fan-out on Write vs Fan-out on Read3 min
- The Serving Architecture3 min
- Ranking and Pagination3 min
Systematically download and index the web at scale. Breadth-first, politeness-aware.
- Requirements and Estimation2 min
- The Crawl Pipeline3 min
- The Frontier and Politeness2 min
- Deduplication and Storage3 min
Return top-k ranked suggestions for a prefix in real time (< 100ms).
- Requirements and Estimation3 min
- The Trie and the Serving Path3 min
- The Offline Pipeline and Trending Queries3 min
Reliably deliver push, email, and SMS notifications at millions per second.
- Requirements and the API Contract3 min
- The Delivery Pipeline3 min
- Retries, Dead Letters, and Idempotency3 min
- Preferences, Rate Limits, and Priority3 min
Generate globally unique, roughly-sortable IDs across many machines without coordination.
- Requirements and the Obvious Candidates3 min
- The Snowflake Layout3 min
- Clock Skew and the Alternatives3 min
Find businesses within a radius, ranked by distance, over hundreds of millions of rows.
- Sizing the Problem2 min
- The Read Path2 min
- Splitting Reads from Writes2 min
- Density and Hotspots3 min