Um momento

Learn System Design

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

Start learning 13 lessons · about 4.5 hours · free
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. Short Python simulations make each idea concrete; exercises run in your browser.

Before you start
  • Comfort reading basic Python (loops, lists, and dictionaries).
  • Some experience building or using web applications helps, but is not required.
  • The first exercise run loads the Python runtime in your browser.
  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 0/1 exercises solved 20 min 0/1 exercises solved
    2. 0x102Estimate scale on the back of an envelopeTurn user counts into requests per second, storage, and bandwidth. 20 min 0/2 exercises solved 20 min 0/2 exercises solved
    3. 0x203Reason about latency and availabilityUse latency numbers, percentiles, and “nines” to set and meet targets. 20 min 0/1 exercises solved 20 min 0/1 exercises solved
  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 0/1 exercises solved 20 min 0/1 exercises solved
    2. 0x405Speed up reads with cachingChoose a caching pattern, an eviction policy, and a way to stay fresh. 20 min 0/1 exercises solved 20 min 0/1 exercises solved
    3. 0x506Choose and scale a databasePick SQL or NoSQL by access pattern, then add indexes and replicas. 20 min 0/1 exercises solved 20 min 0/1 exercises solved
    4. 0x607Partition data with shardingSplit data across machines and add nodes without reshuffling everything. 20 min 0/1 exercises solved 20 min 0/1 exercises solved
  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 0/1 exercises solved 20 min 0/1 exercises solved
    2. 0x809Decouple work with message queuesAbsorb bursts and move slow work off the request path. 20 min 0/1 exercises solved 20 min 0/1 exercises solved
    3. 0x9010Protect services with rate limitingCompare limiter algorithms and run one across many servers. 20 min 0/1 exercises solved 20 min 0/1 exercises solved
  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 0/1 exercises solved 20 min 0/1 exercises solved
    2. 0xB012Design a news feedBalance fan-out on write and fan-out on read for a social timeline. 20 min 0/1 exercises solved 20 min 0/1 exercises solved
    3. 0xC013Design a chat systemDeliver messages in real time, in order, to users who come and go. 20 min 0/1 exercises solved 20 min 0/1 exercises solved
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: