unemployed.dev☕ Support

Interview prep

System Design Guide

You don't need a perfect architecture. You need a clear framework, confident tradeoff decisions, and the ability to talk through your thinking out loud. This covers both the building blocks and real system walkthroughs.

The 8-step framework
01
Clarify requirements
Functional and non-functional. Ask before you draw.
02
Estimate scale
DAU → QPS → storage → bandwidth. Let numbers drive decisions.
03
Define major components
API layer, storage, cache, queue, workers. Start high-level.
04
Explain data flow
Walk through a read and a write end to end.
05
Choose storage
SQL vs NoSQL, schema, indexing. Justify by access pattern.
06
Add scaling tools
Cache, load balancer, sharding, CDN — only where needed.
07
Identify bottlenecks
What breaks first at 10x load? How do you fix it?
08
Discuss monitoring
What metrics matter? How do you detect failure?

Quick reference

Component Cheat Sheet

Load balancer
spreads traffic, detects unhealthy nodes
Cache (Redis)
fast reads, less DB load, LRU + TTL
SQL DB
structured data, strong relations, ACID
NoSQL DB
flexible schema, horizontal scale, BASE
Message queue
async work, absorbs spikes, decouples services
CDN
static content closer to users, edge caching
Replication
copies for read scaling and fault tolerance
Sharding
split data across nodes for write scale
Rate limiter
prevent abuse, protect downstream services
WebSocket
persistent connection for real-time delivery

Beginner rule: You don't need a perfect architecture. You need a reasonable one and the ability to explain your tradeoffs clearly. Silence is the real failure mode.