System Design Fundamentals

Core concepts: scalability, availability, consistency, and trade-offs.

How globally distributed edge servers cut latency for static content, the cache hit/miss flow, and invalidation strategies.

The difference between high-level design (system architecture, modules, interactions) and low-level design (classes, APIs, database schemas, implementation logic).

How load balancers distribute traffic across servers, why naive hashing breaks on scale events, and how consistent hashing with virtual nodes solves it.

Identifying SPOFs in centralized components and the standard toolkit for removing them: redundancy, replication, failover, partitioning, and backups.

Understanding vertical and horizontal scaling, when to use each, and practical patterns for building scalable systems.