System Design · 12 min
How to pass System Design at FAANG (full framework)
60 minutes, 5 stages, senior vocabulary. The method L5/L6/L7 candidates use to close offers.
System Design is the round candidates fear most. The reason: no single right answer. But there's a proven structure interviewers expect. Follow it with senior vocabulary and you pass. Here it is.
The 5 stages of system design
1. Clarify (5 min): functional and non-functional questions. 2. Estimate (5 min): storage, QPS, bandwidth. 3. High-level design (15 min): main blocks. 4. Deep-dive (20 min): DB schema, caching, queues. 5. Bottlenecks & wrap-up (10 min): chokepoints and improvements.
Stage 1: Clarify (don't skip)
Functional: what does the system do? Users can A, B, C. Non-functional: scale (1M DAU vs 1B), consistency (strong vs eventual), availability (99.9% vs 99.99%), latency (50ms vs 500ms). Without these questions, you design blind.
Stage 2: Estimate (fast numbers)
Storage: 1M users × 1MB profile = 1TB. QPS: 1M DAU × 10 actions / 86400s = ~115 QPS avg, ~1k peak. Bandwidth: 1k QPS × 5KB response = 5MB/s. These numbers anchor everything that follows.
Stage 3: High-level design
Sketch: client → load balancer → API gateway → microservices → cache (Redis) → DB (Postgres/Cassandra) → message queue (Kafka) → workers. Name each component and say why. Senior vocab: 'API gateway for rate limiting', 'Redis for L1 cache', 'Kafka for async fanout'.
Stage 4: Deep-dive (where it's decided)
The interviewer picks 1-2 components for deep-dive. DB schema: tables, indexes, partitioning (hash vs range vs geo). Caching: cache-aside, write-through, write-behind, TTL strategy. Queue: at-least-once vs exactly-once, ordering, idempotency.
Stage 5: Bottlenecks & improvements
Identify the bottleneck: 'cache falls short on celebrities with 10M followers'. Propose fix: 'fanout-on-read for celebrities, fanout-on-write for regular users'. Discuss trade-offs: 'this adds complexity but cuts 80% write amplification'.
Required senior vocabulary
Idempotency, write-ahead log, leader election, quorum, partition tolerance, eventual consistency, read replicas, sharding strategies (consistent hashing, range, geo), CDN edge caching, gossip protocol, two-phase commit, saga pattern, CQRS.
Key takeaway
System design is structure + vocabulary. With Darknote.ai the copilot suggests trade-offs and senior vocab live during each framework stage.