Load Balancer
Use when: spreading traffic across many servers; need failover and health checks.
Everything you need for the whiteboard: a working back-of-the-envelope calculator, the latency numbers interviewers expect you to know, and a filterable reference of every core component — when to reach for it and the trade-off to say out loud.
Estimating scale is the part candidates fumble. Type your assumptions; the numbers update live. Round them in the interview and state them confidently.
Approximate orders of magnitude. The lesson: memory is ~100,000× faster than disk, and one datacenter is ~100× faster than crossing the internet.
| Operation | Latency | Relative |
|---|---|---|
| L1 cache reference | ~1 ns | baseline |
| Branch mispredict | ~3 ns | |
| L2 cache reference | ~4 ns | 4× L1 |
| Mutex lock/unlock | ~17 ns | |
| Main memory reference | ~100 ns | 100× L1 |
| Compress 1 KB | ~2 µs | |
| Send 1 KB over 1 Gbps | ~10 µs | |
| SSD random read | ~16 µs | 160× memory |
| Round trip in same datacenter | ~500 µs | |
| Read 1 MB sequentially from SSD | ~1 ms | |
| Disk seek (HDD) | ~2–10 ms | |
| Round trip CA ↔ Europe | ~150 ms | 1.5M× L1 |
Search by need (e.g. “cache,” “queue,” “search”). Every answer should name the component and the trade-off.
Use when: spreading traffic across many servers; need failover and health checks.
Use when: reads dominate and data is hot; you need sub-millisecond reads.
Use when: serving static assets/media to a global audience; cut latency at the edge.
Use when: you need ACID transactions, joins, and strong consistency (payments, orders).
Use when: massive scale, flexible schema, high write throughput; eventual consistency is OK (feeds, logs, sessions).
Use when: decoupling producers from consumers, smoothing spikes, async processing, event streaming.
Use when: storing large blobs — images, video, backups — durably and cheaply.
Use when: full-text search, autocomplete, or relevance ranking over lots of documents.
Use when: a single entry point for auth, rate limiting, and routing to microservices.
Use when: protecting a service from abuse or ensuring fair use (token bucket is the usual answer).
| 210 | ~1 Thousand (1 KB) |
| 220 | ~1 Million (1 MB) |
| 230 | ~1 Billion (1 GB) |
| 240 | ~1 Trillion (1 TB) |
| Seconds in a day | ~86,400 (round to 100K) |
| Seconds in a month | ~2.5 Million |
| Char (ASCII) | 1 byte · UTF-8 up to 4 |
From DAU and writes/user/day → writes/sec (divide by 86,400). × read:write ratio → reads/sec. × peak factor (~2) → peak QPS. For storage: writes/day × item size × retention. The calculator above does it live.
SQL for ACID, joins, strong consistency (payments). NoSQL for horizontal scale, flexible schema, high write throughput with eventual consistency (feeds, logs). Say the trade-off out loud — that’s what’s scored.
Yes — free, no signup, link or bookmark it. Published by CoPilot Interview as a study reference.
Reciting the components is one thing; structuring a clear answer under pressure is another. CoPilot Interview is a desktop AI assistant that helps you organize a system-design answer in real time during the actual interview — with a permanent free tier.
See how it works