Interview Q&A / System Design
System Design interview questions
Caching, scaling, databases and classic design problems for beginners.
Prefer rapid revision? Practise System Design short interview answers →
- What does a load balancer do, and what is the difference between L4 and L7 load balancing?
A load balancer sits in front of a group of servers and spreads incoming requests across the healthy ones, so no single server is overloaded and failures are hidden from users. An L4 balancer routes by IP address and port without reading the request. An L7 balancer reads HTTP details such as path, host and headers and can route on them.
BeginnerIn-depth4 min read - What is the difference between horizontal and vertical scaling?
Vertical scaling (scaling up) makes one machine bigger with more CPU, RAM or faster disks. Horizontal scaling (scaling out) adds more machines and spreads the load across them. Vertical is simpler but has a hard ceiling and a single point of failure; horizontal scales further and survives failures but needs stateless services and a load balancer.
BeginnerIn-depth4 min read