Loading

from first concept to confident practice

System Design

Prepare for system design interviews, from requirements to scalable architectures.

Start learning 13 lessons · first lesson about 20 min · free · no account needed
About this track

System design interviews ask you to sketch a large-scale system - a URL shortener, a news feed, a chat app - and defend your choices. This track teaches a repeatable interview framework, back-of-the-envelope estimation, and the building blocks every design uses: load balancers, caches, databases, sharding, replication, queues, and rate limiters. You will learn the trade-offs interviewers probe (consistency versus availability, push versus pull) and finish by working through classic interview problems. You’ll practice the way the interview works: estimating on the spot, breaking simulated systems, answering an interviewer’s follow-ups and presenting designs out loud against a clock.

Before you start
  • Some experience building or using web applications helps, but is not required.
  • Paper and a pen, for sketching and estimating.
Loading progress…
  1. Unit 1 · 0/3 lessons

    Interview foundations

    Structure the interview, estimate scale, and set latency and availability targets. Badge: Blueprint drafter

    1. 0x001Run a system design interviewUse a repeatable framework to turn a vague prompt into a defensible design. 20 min 20 min
    2. 0x102Estimate scale on the back of an envelopeTurn user counts into requests per second, storage, and bandwidth. 20 min 20 min
    3. 0x203Reason about latency and availabilityUse latency numbers, percentiles, and “nines” to set and meet targets. 20 min 20 min
  2. Unit 2 · 0/4 lessons

    Scaling building blocks

    Load balancers, caches, databases, replication, and sharding. Badge: Scale builder

    1. 0x304Scale out behind a load balancerCompare vertical and horizontal scaling and spread traffic across servers. 20 min 20 min
    2. 0x405Speed up reads with cachingChoose a caching pattern, an eviction policy, and a way to stay fresh. 20 min 20 min
    3. 0x506Choose and scale a databasePick SQL or NoSQL by access pattern, then add indexes and replicas. 20 min 20 min
    4. 0x607Partition data with shardingSplit data across machines and add nodes without reshuffling everything. 20 min 20 min
  3. Unit 3 · 0/3 lessons

    Distributed trade-offs

    Consistency, queues, and rate limiting across many machines. Badge: Trade-off tamer

    1. 0x708Trade consistency for availabilityApply CAP, consistency models, and quorums to replicated data. 20 min 20 min
    2. 0x809Decouple work with message queuesAbsorb bursts and move slow work off the request path. 20 min 20 min
    3. 0x9010Protect services with rate limitingCompare limiter algorithms and run one across many servers. 20 min 20 min
  4. Unit 4 · 0/3 lessons

    Classic interview designs

    Put it together: a URL shortener, a news feed, and a chat system. Badge: System architect

    1. 0xA011Design a URL shortenerWalk through a classic prompt: short codes, redirects, and scale. 20 min 20 min
    2. 0xB012Design a news feedBalance fan-out on write and fan-out on read for a social timeline. 20 min 20 min
    3. 0xC013Design a chat systemDeliver messages in real time, in order, to users who come and go. 20 min 20 min