Skip to content
System Designintermediate · 70 min

System Design Basics

How to reason about large systems: scalability, latency vs throughput, caching, load balancing, and the trade-offs captured by CAP. Learn a repeatable framework for the design interview.

A framework for the interview

Clarify requirements (functional + non-functional, scale estimates) → define the API → sketch the high-level architecture → drill into data model and storage → identify bottlenecks and scale them (caching, sharding, replication, queues) → discuss trade-offs. Always state assumptions and do back-of-envelope capacity math.

Scaling building blocks

Vertical scaling (bigger machine) is simple but capped; horizontal scaling (more machines) needs load balancing and statelessness. Caches (CDN, Redis) cut latency and DB load. Replication adds read capacity and availability; sharding/partitioning adds write capacity. Message queues decouple producers from consumers and absorb spikes.

CAP & consistency

Under a network partition you must choose availability or consistency (CAP). Many systems pick eventual consistency for availability and partition tolerance. Know the spectrum: strong, read-your-writes, eventual — and pick per use case.

Resources

Practice & test yourself

Take the quiz →