We use cookies for site analytics. Accept to help us understand how the site is used. See our Privacy Policy for details.
L4 vs L7, consistent hashing, health checks, connection draining, and the difference between a fleet that survives partial failures and one that cascades into outage.
Design a load balancer that fronts a fleet of backend servers, distributes incoming connections across them, detects unhealthy backends and removes them from rotation, drains connections cleanly during deploys, and survives its own component failures without dropping traffic.
This is the canonical "thing every system has but nobody designs from scratch" problem. Strong candidates separate L4 vs L7 explicitly, walk through health-check semantics, and explain why consistent hashing matters for cache-affinity workloads. Excellent candidates discuss the LB itself as a tier that needs HA - "who load-balances the load balancers?".
Asking these before diving into a solution is the difference between a "hire" and a "no signal" rating. Pick the questions whose answers would change your design.
Capacity estimation · architecture with all 11 components explained · 6 deep dives · trade-off analysis · 8 common follow-up questions
Get full access to gitGood.dev with a subscription.
Try everything free for 10 days. Cancel anytime.
10-day trial, then $5/mo - or $40/yr ($3.33/mo, save 33%). Cancel anytime.
Five algorithms, three sharding strategies, one fail-open vs fail-closed decision. The bounded design that surfaces in every backend interview loop.
Edge cache hierarchies, cache key design, invalidation, origin shield, and edge compute - the system every other system relies on without thinking about it.
Reading is the floor. The interview signal is in walking through this live with someone probing follow-ups. Use the AI mock interview to practice talking through requirements, architecture, and trade-offs out loud.
Start an AI mock interview →