--- title: System Design description: Notes for system design interviews — how to scope a problem, size it, and pick the parts that carry the load. icon: network sidebar: label: Overview --- ## How an interview runs Pin down the functional requirements (what the system does) and the non-functional ones (latency, availability, consistency, scale) before drawing anything. Size the traffic, storage and bandwidth with back-of-the-envelope numbers, so later choices have a reason. Define the endpoints and the entities they read and write. Draw the request path end to end: clients, load balancers, services, caches, stores and queues. Take the hardest part (a hot key, fan-out, a consistency guarantee) and work through its tradeoffs.