System Design Interview Preparation
System Design Decision Flow 1- Clarify Requirements • Functional: What features are needed? – Example: Store, retrieve, update user profiles; search by email, etc. • Non-functional: Scale, performance, reliability? – Example: 100M users, 1000 RPS, 99.99 2- High-Level Components 2.1- Client The entry point for user interaction via web or mobile interfaces. Clients send HTTP or API requests to the backend through gateways or load balancers. 2.2- CDN (Content Delivery Network) A CDN is a globally distributed network of edge servers that caches and serves static content (like images, CSS, JS, fonts, and videos) from locations geographically closer to users. This reduces latency, offloads traffic from your origin server, and improves content delivery speed. Use when: • You serve static assets to a global audience. • You want to reduce load on your a...