Library
LearnSystem design

High level design

Updated

System design, taught the way it is actually used. Every diagram on these pages is drawn by code rather than exported from a design tool, so it moves, it responds to what you drag, and it fits on your phone. Every page stops a few times and asks you to commit to an answer before it gives you one.

The pages are written for a specific moment: you have an interview in a few weeks, you have read a dozen blog posts, and you still cannot start from a blank whiteboard.

Looking for one subject rather than the whole path? Topics lists every chapter and article by subject and level, so you can pull up everything on caching or consistency at once.

Start here#

New to system design? Read these first, in this order. The first one is the round itself: what to do in each part of the 45 minutes, and how you are scored. The other six are the words every design question is answered in: how a system grows past one machine, how to put a number on traffic and on downtime, how requests get spread out, which database to reach for, and what you give up when the network breaks.

Building blocks#

The parts that the design questions reuse. Each one goes a level deeper than the starter pages above.

Two more building blocks live in the databases path, because they are about what happens inside one database: how an index finds a row, and how a storage engine lays data out on disk.

Design questions#

Staff level#

The questions that come up at senior and staff interviews, where the interesting part is not what the boxes are but which constraint decides the design. Start with the chapter on what changes at this level, then use the questions to practise it.

India scale#

Systems you use every day, at volumes most global case studies never have to handle. The traffic shapes are the lesson: a whole country pressing "book" in the same second at tatkal time, payment peaks on festival days, a whole country refreshing the score of one ball. Get these right and the usual global questions feel gentle.

What is coming#

More questions: a stock exchange matching engine, top K and trending, a distributed cache, a digital wallet, and a food delivery order flow for the India scale set. Failure handling has its own chapter, Retries, backoff and circuit breakers, and consensus, consistency models, clocks, leases, tail latency and distributed transactions have their own path: Distributed systems.

Start hereThe 45 minute round