wtf( )unctionsystem design, drawn

System design, answered by building the diagram.

Not four sentences to choose between. You are given a system with holes in it, a brief written the way an incident is written, and the components to fill them — and the design you build is what gets judged.

272 problems across 28 topics, 158 of them rated Hard.

Seven ways a problem is asked

Place171 problems
Drag the missing components into the holes in a working diagram.
The boxes that two competent engineers would ship differently are already drawn. What is left is the handful decided by a mechanism.
The spoke that borrowed the hub's circuit
Compose59 problems
Read the requirements, build the architecture, and let the invariants judge it.
No answer key: each problem declares the properties the design must hold, and anything that holds them passes.
Twenty seconds, or it never happened
Trace5 problems
Follow a request through the system, in the order it actually travels.
The wiring decides the path, not the layout — the boxes are shuffled every time.
Which plane a scoring request is allowed to touch
Spot19 problems
Find what is wrong in a design that looks reasonable.
Several of these are real incidents with the names taken off.
The migration validated clean, and three of these were never compared
Choose10 problems
Two complete architectures. Pick the one that meets the brief.
Both are drawn to look plausible, and which side the right one is on is shuffled per problem.
Two designs, one peering attachment
Blast radius3 problems
One component fails. Work out everything that fails with it.
Nothing here is wrong — the design works. The question is how far the damage travels when it stops.
One zone went, and three zones lost the internet
Rank5 problems
Put the options in order, by a property the diagram cannot show.
Recovery time, blast radius, cost at scale — the reasoning comes from what the options are.
Four recovery plans, and the one the business actually bought

What counts as a question

A hole in a diagram is only a question if something in the system observably behaves differently depending on what fills it — which side of a route table a store sits on, whether a component can read a URL path, whether return traffic can be initiated.

Anything two competent engineers would ship both ways is drawn in for you. That is what lets a twenty-box diagram have six holes and still look like a real architecture.

Other tracks

Tracks

System designBuild the diagram: boundaries, caches, failure.CSSFlexbox, stacking contexts, and the boxes that will not shrink.
TypeScriptNOT YETNarrowing, generics, and the any that got away.
ReactNOT YETRenders, effects, and stale closures.
React NativeNOT YETBridges, lists, and the jank in between.