Newcomer Guide
Start Here
System design is wide, so do not try to read everything at once. Pick your current experience level below and follow the five free steps in order.
Track 1: Foundations and Mental Models
For engineers with 0 to 3 years of experience. Build clear architectural mental models before memorizing distributed patterns.
What System Design Actually Is
Understand why software architecture is about tradeoffs and constraints, not drawing fancy boxes on a whiteboard.
How the Internet Works
Follow the physical path of a request: DNS lookup, TCP handshake, TLS negotiation, and packet routing.
The 30 Must-Know Concepts
Get the complete vocabulary for distributed systems: latency, throughput, partitions, replication, and caching.
Docker Basics (Lab 00)
Run real containers on your machine with zero configuration headaches so theory becomes muscle memory.
Design a Distributed Rate Limiter
Walk through your first complete interview problem: token buckets, sliding window counters, and Redis synchronization.
Track 2: Senior System Design & Interviews
For engineers with 4+ years preparing for SDE-2, Senior, or Lead interviews. Focus on trade-offs, real failure modes, and architectural defense.
Interview Framework & Patterns
Learn how to drive a 45-minute architectural interview and steer the discussion toward deep design tradeoffs.
CAP Theorem in Practice
Explore why network partitions force compromises and why the traditional AP versus CP distinction is oversimplified in production.
Consistent Hashing
Distribute keys across nodes with minimal reshuffling when servers join or leave a cluster.
Flash Sale Inventory Case Study
Solve the classic concurrency nightmare: prevent overselling when 100,000 customers hit the buy button on 50 items simultaneously.
Postgres Replication Lag (Lab 23)
Spin up a real primary and replica database pair and observe read-your-own-writes consistency break in real time.