Back-of-Envelope Estimates
6 exercises — narrate DAU, storage, bandwidth, and growth calculations for system design discussions using correct order-of-magnitude language.
0 / 6 completed
Back-of-envelope calculation vocabulary
- "Let's say / let's assume" — open an assumption explicitly before calculating
- DAU from MAU: "assuming 20% of monthly users are active daily"
- Seconds per day: 86,400 ≈ 10⁵ — memorise for rps calculations
- Units: KB → MB → GB → TB → PB → EB (each ×1,000)
- Peak multiplier: "peak traffic is typically 3–5× average load"
- Draw a conclusion: always map the number to an architectural decision
- "Rounding up to be conservative" — infrastructure planning default
1 / 6
A system design interviewer asks: "How many requests per second does Twitter handle?" What is the correct approach for a back-of-envelope estimate?
Option C — a narrated, step-by-step estimation chain with explicit assumptions and a peak multiplier.
Back-of-envelope estimation structure:
Key vocabulary:
• "Let's say / let's assume" — opens an assumption explicitly
• "roughly / approximately / around" — signals estimated values
• "on average" — distinguishes average from peak
• "at peak / peak traffic" — addresses worst-case load
• "Divide by 86,400 seconds" — showing the calculation builds confidence
86,400 seconds in a day = memorise this for system design. Useful multiples:
• 1 day = 86,400 s ≈ 10⁵ s
• 1 month = ~2.6M s ≈ 3×10⁶ s
• 1 year = ~31.5M s ≈ 3×10⁷ s
Why estimation fluency matters:
In system design discussions, the calculation itself is less important than narrating your reasoning clearly — interviewers and colleagues want to see that you can reason under uncertainty.
Back-of-envelope estimation structure:
1. Base number: "let's say [X]M monthly active users" 2. Daily active rate: "approximately 20% are active daily → [Y]M DAU" 3. Per-user behavior: "each user makes ~10 requests/day" 4. Total per day: "[Y]M × 10 = [Z]M requests/day" 5. Per second: "divide by 86,400 seconds → [N] rps" 6. Peak adjustment: "peak traffic is ~3–5× average → [P] rps at peak"
Key vocabulary:
• "Let's say / let's assume" — opens an assumption explicitly
• "roughly / approximately / around" — signals estimated values
• "on average" — distinguishes average from peak
• "at peak / peak traffic" — addresses worst-case load
• "Divide by 86,400 seconds" — showing the calculation builds confidence
86,400 seconds in a day = memorise this for system design. Useful multiples:
• 1 day = 86,400 s ≈ 10⁵ s
• 1 month = ~2.6M s ≈ 3×10⁶ s
• 1 year = ~31.5M s ≈ 3×10⁷ s
Why estimation fluency matters:
In system design discussions, the calculation itself is less important than narrating your reasoning clearly — interviewers and colleagues want to see that you can reason under uncertainty.