Layer 3 · Go deeper · 9 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 long does one small job wait behind a 60,000-job import?
How many series does one per-tenant latency histogram create?
One tenant writes 2,500 small events/s under one DynamoDB key. What happens?
Build-up · 6 steps
Contain one tenant’s sale, layer by layer
The same shared system, from one unprotected pool to a design where one tenant’s worst day stays that tenant’s problem.
Step 1 of 6
One shared pool
1,000 tenants share a pool built for 8,000 requests a second. Merchant 417’s sale offers 8,950, so every tenant slows or loses about 10% of requests.
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
“One merchant’s sale takes the pool from 4,000 to 8,950 requests a second, against 8,000 of capacity. What do you add?”
Your move. Pick an approach:
Deep dive 2 of 4
Interviewer
“A webhook service has 200 workers. Tenant A enqueues 60,000 jobs, and tenant B’s single job lands right after. What do you change?”
Your move. Pick an approach:
Deep dive 4 of 4
Interviewer
“Events use tenant_id as the DynamoDB partition key, and your biggest tenant writes 2,500 small events a second. What do you change?”
Your move. Pick an approach: