System Design: Building Blocks
What each box costs, and what forces it
Caches, queues, replicas and shards are easy to name and hard to size. This is the arithmetic behind them: a peak rate from a population, a year of storage, the memory a hot set needs, the instances a lost zone costs — and then, given one stated constraint, which box it forces and which it rules out.
- Modules
- 6
- Drills
- 9
- Build steps
- 2
- Time
- ~4h
Walk out able to
Take a product sentence you have never seen and put six numbers under it, with the assumption written beside each one.
What you work out
Rates, storage, memory
A population in, requests, gigabytes and a hot set out.
Instances and headroom
What a peak needs, and what losing a zone adds to it.
Caches and queues, costed
Reads still reaching the store; a backlog and its drain.
Replicas, shards, or neither
The clause that decides, and the one that rules a box out.
The pitch
What you practise, and what you leave with
A sized envelope for a system nobody walked you through: six figures, the assumption beside each, and the clause that would move it.
You will practise
- Peak rate, storage per year, hot-set memory
- Instances for a peak, headroom for a lost zone
- Cache load, two-speed latency, backlog and drain
- Replica, shard, queue or none of them
Afterwards you can
- Turn a product sentence into a peak rate
- Size a fleet that survives a lost zone
- Cost a cache and a queue in real units
- Name the block a constraint forces
Modules
6 modules, 24 items
Lessons explain one idea. Drills repeat it until it sticks. Build steps make something that exists afterwards.
- 1
Put a number on the load
~46 minTurn a product sentence into a rate, a year of storage and a memory figure.
- LessonWhy put a number on it at all4 min
- LessonTurn a product sentence into a rate9 min
- LessonName the numbers you cannot invent10 min
- DrillSize a year of storage12 min
- DrillSize the memory a hot set needs11 min
- 2
The box in front
~35 minCount the instances a peak needs, and the ones a lost zone costs.
- LessonCount the instances a peak needs9 min
- LessonQuestion a per-instance ceiling6 min
- DrillProvision for the zone you lose11 min
- DrillSay what share a backend takes9 min
- 3
The box beside
~26 minSay what a cache removes from the store, and what the path then costs.
- LessonSay what a cache actually removes9 min
- LessonSay what a better hit ratio buys7 min
- DrillSpend a latency budget on two hops10 min
- 4
The box between
~27 minCompute a backlog and its drain, and say whether the work may wait at all.
- LessonSay how deep the backlog gets10 min
- LessonSay why depth is only a symptom7 min
- DrillSay whether the work may wait10 min
- 5
The box behind
~37 minName the half that is out of room, and count the shards a ceiling forces.
- LessonTell a standby from a read replica5 min
- LessonName the half that is out of room11 min
- DrillCount the shards a ceiling forces11 min
- DrillSay where the data belongs10 min
- 6
Let the requirement decide
~43 minName the block a constraint forces, then size a system nobody walked you through.
- DrillName the block the constraint forces11 min
- Build stepPut the traffic under a product brief8 min
- Build stepSize the fleet the zones force8 min
- LessonTrace a changed clause to the figures8 min
- LessonName the block a clause adds8 min
More in Algorithms & interviews
Keep going
Discrete Mathematics Drills
MA101 taught it once. This is the volume.
Intermediate~8h8 modules
Interview: Two Pointers & Sliding Window
Read the problem. Then say whether a window applies at all.
Intermediate~3h4 modules
Interview: Trees & Graphs
One skeleton. Then the family it answers.
Intermediate~5h6 modules
Interview: Dynamic Programming
Most problems are not new. Learn to see the shape.
Advanced~5h5 modules
Every box has a price. Learn to work it out.
The first item is free. ~4h of focused work, at your own pace.
Advanced~4h6 modules