A full library for the system design interview — concepts, walkthroughs, and the reasoning framework that ties them together. Built for backend and distributed-systems engineers targeting mid-to-senior big-tech roles.
Orientation
Start here before the walkthroughs. The plan gives you a week-by-week order; the tradeoffs framework gives you the reasoning process; the decisions reference and checklist are the fast-lookup tools you return to throughout prep.
- Plan: 9-Week System Design Interview Prep — the week-by-week roadmap into the full library.
- Framework: Thinking About Tradeoffs in System Design — the four-step reasoning process (axes → context → cost → commit) that senior rounds actually score.
- Reference: Common System Design Decisions — a fast-lookup catalog of the recurring choices, each with a default and when to switch.
- Guide: Last-Minute System Design Review Checklist — a condensed pre-interview reference covering concepts, walkthroughs, and common mistakes.
Concept references
Short cheatsheets — one concept per page. Read these before, or alongside, the walkthroughs that use them. Each walkthrough links back to the relevant concept when it first reaches for it.
Reference: API Design Patterns
A short reference on REST vs gRPC, versioning, pagination, idempotency, and the small decisions that separate a designed API from an improvised one.
Reference: Database Indexing
A reference on B-Tree vs LSM-Tree storage engines, composite index column ordering, covering indexes, and where secondary indexes create hot shards.
Reference: Common System Design Decisions
A fast-lookup catalog of recurring system design choices — storage, performance, architecture, reliability — each with a default and when to switch away from it.
Reference: Capacity Estimation
A short reference on interview capacity math — QPS, storage, and bandwidth estimates, the numbers worth memorizing, and turning arithmetic into design conclusions.
Reference: Consistency Models
A short reference on consistency guarantees from linearizable to eventual — what each promises, what it costs, and how CAP and PACELC frame the choice.
Reference: Partitioning Strategies
A short reference on hash, range, and consistent-hash partitioning — how each distributes data, what breaks with each, and how to pick a partition key.
Reference: Replication Strategies
A short reference on leader-follower, multi-leader, and leaderless replication — failure behavior, lag anomalies, and quorum arithmetic for each.
Reference: Queue Delivery Semantics
A short reference on at-most-once, at-least-once, and exactly-once delivery — where each guarantee actually comes from, and what replay and idempotency add.
Reference: NoSQL Hot Key Mitigation Patterns
A short reference on hot key patterns in distributed NoSQL systems — what causes them, and the static and dynamic strategies for mitigating them.
Reference: Consecutive Activity & Retention Aggregation
A reference on computing streaks and retention over massive event streams — pre-aggregation, state slimming, and the bitmap, gaps-and-islands, and streaming techniques per time grain.
Reference: Distributed Transaction Patterns
A deep reference on distributed transaction patterns — 2PC, 3PC, and saga — their sequences, failure modes, and when to reach for each.
Reference: Cache Access and Invalidation Patterns
A reference on read/write caching patterns, invalidation strategies, and the classic failure modes — penetration, breakdown, avalanche — and how to avoid each.
Reference: SQL vs NoSQL Schema Design
A short reference on when to pick SQL vs NoSQL, how to model schemas in each, and how to avoid hot keys.
Reference: Rate Limiting Algorithms
A short reference on the four canonical rate limiting algorithms — token bucket, leaking bucket, fixed window, and sliding window — with when to pick each.
Reference: Real-Time Connection Patterns
A short reference on HTTP polling, long-polling, SSE, WebSocket, WebRTC, and push notifications — which to reach for and why.
Infrastructure walkthroughs
Foundational systems — KV stores, databases, caches, locks, queues, and CDNs — that appear as building blocks inside larger designs. The KV store, database, and cache form a natural triad: they are the two branches of the AP/CP CAP fork (KV store = leaderless/AP, database = consensus/CP) plus the cache that sits in front of both. Read them together.
- Walkthrough: Designing a Distributed Key-Value Store
- Walkthrough: Designing a Distributed Cache
- Walkthrough: Designing a Distributed Database
- Walkthrough: Designing a Distributed Lock
- Walkthrough: Designing a Distributed Queue
- Walkthrough: Designing a CDN
Classic product walkthroughs
The questions most commonly asked at FAANG-style interviews.
- Walkthrough: Designing a URL Shortener
- Walkthrough: Designing a News Feed
- Walkthrough: Designing a Chat System
- Walkthrough: Designing a Video Streaming Platform
- Walkthrough: Designing a Notification System
- Walkthrough: Designing a File Storage & Sync Service
- Walkthrough: Designing a Collaborative Editor
Search, ranking & recommendations
- Walkthrough: Designing a Post Search System
- Walkthrough: Designing a Recommendation System
- Walkthrough: Designing a Full Ranking System
- Walkthrough: Designing a Geospatial Matching System
Data & analytics walkthroughs
- Walkthrough: Designing an Ad Click Aggregation System
- Walkthrough: Designing a Metrics & Monitoring System
- Walkthrough: Designing a Top-K System
Transactional & commerce walkthroughs
- Walkthrough: Designing a Rate Limiter
- Walkthrough: Designing a Distributed Job Scheduler
- Walkthrough: Designing a Flash Deal System
- Walkthrough: Designing an Auction System
- Walkthrough: Designing an Order Processing System