System design
From napkin sketches to FAANG design-round fluency.
Requirements, capacity, APIs, data models, scaling levers, and reliability patterns used in real large-scale systems.
Who this is for: Engineers preparing for design interviews and owning services.
outcomes
- Drive a 45-minute design discussion with structure
- Choose storage, cache, and queue patterns deliberately
- Call out bottlenecks, failure modes, and trade-offs
lessons
- 1 Design interview framework Clarify → estimate → API → data → high-level → deep dives → scale.
- 2 Capacity math and SLOs QPS, storage, p99 latency, error budgets — speak in numbers.
- 3 Choosing data stores SQL vs NoSQL vs blob vs search — pick for access patterns.
- 4 Caches, queues, and CDNs The three levers that save databases and smooth spikes.
- 5 Reliability patterns Timeouts, retries, idempotency, circuit breakers, graceful degradation.
- 6 Classic designs to rehearse URL shortener, news feed, chat, rate limiter — reusable building blocks.