Layer 3 · Go deeper · 12 min
Go deeper
Size it, build it, then make the calls an interviewer will push you on.
Back of the envelope
Size it up
Tap through each step of the arithmetic.
How many runners at peak, and why must they autoscale?
How many runners must be booted and waiting at peak?
Which runner calls dominate control-plane traffic at peak?
How much cache data do jobs read at peak?
Build-up · 6 steps
Build the high-level design
One functional requirement at a time, ending with a design that works for a few hundred engineers.
Step 1 of 6
Pipelines as code
A trigger service verifies each webhook and drops duplicate deliveries. The planner reads the pipeline file at the pushed commit, expands matrices and writes one run per repository, SHA and event.
6 interview moments
You’re the candidate
The interviewer pushes on the hard parts. Pick an approach and see how it holds up.
Deep dive 1 of 6
Interviewer
“At 11:00, about 1,700 jobs a minute each need a fresh machine, and every team thinks theirs is urgent. How do you hand out work?”
Your move. Pick an approach:
Deep dive 2 of 6
Interviewer
“A PR can change the build script; any dependency’s install hook runs its author’s code. Yet some jobs deploy. How do you isolate them?”
Your move. Pick an approach:
Deep dive 3 of 6
Interviewer
“A monorepo pull request built from scratch takes 45 minutes, mostly redoing work another machine did an hour ago. How do you speed it up?”
Your move. Pick an approach:
Deep dive 4 of 6
Interviewer
“About 10,000 log appends a second, 800 GB a day, and an engineer who wants the next line within 2 seconds. How do logs flow?”
Your move. Pick an approach:
Deep dive 5 of 6
Interviewer
“If even 1 build in 100 is bad in a way tests missed, 500 deploys a day send five toward production. How do you ship?”
Your move. Pick an approach:
Deep dive 6 of 6
Interviewer
“A hotfix and a regular merge deploy at once, and someone runs
kubectl editby hand. What decides what production runs?”Your move. Pick an approach:
Build-up · 10 steps
Follow one change to every user
The top half is CI, a control plane and throwaway runners. The bottom half is CD: a deploy service that writes to Git, and cells that pull from it.
Step 1 of 10
Trigger
Priya pushes to her PR. The trigger service dedupes the webhook; the planner reads the pipeline file at that SHA, expands the graph, cancels the superseded run and posts “queued” checks.