Layer 3 · Go deeper · 8 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 servers for 25 million phones polling a cricket score?
Will a Mumbai checkout handler meet a 200 ms p99?
Build-up · 6 steps
Which number decides which box
An estimate is only useful once you compare it with a number to know. Each comparison is a threshold test that picks part of the design.
Step 1 of 6
Peak writes vs one primary
Compare peak writes with about 10,000 a second per SQL primary, or 1,000 per DynamoDB partition. Over it, you shard, and a hot key may need splitting.
4 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 4
Interviewer
“Your users are in India. The team wants every commit synchronously replicated to Frankfurt. What do you say?”
Your move. Pick an approach:
Deep dive 2 of 4
Interviewer
“You’re sizing a DynamoDB table for 40,000 writes a second. Most writes target a few popular keys.”
Your move. Pick an approach:
Deep dive 3 of 4
Interviewer
““Where does your 2,000 requests a second per app server come from?””
Your move. Pick an approach:
Deep dive 4 of 4
Interviewer
“Checkout misses its 200 ms p99. It runs 40 sequential cart queries and opens a new connection to a Singapore payment API.”
Your move. Pick an approach: