System Design
The building blocks of scalable, reliable distributed systems. Each component below has detailed explanations and around 30 interview questions graded easy → hard.
Components
Pick a component to study. Every page has layered explanations and an interview question bank you can filter by difficulty.
Load Balancer
Spread traffic across servers; health checks and algorithms.
Caching
Redis, CDN, cache-aside, eviction, and invalidation.
Message Queue (Kafka)
Async decoupling, partitions, offsets, delivery semantics.
SQL vs NoSQL
Relational vs document/KV/wide-column, when to pick which.
Replication
Leader-follower, sync vs async, failover, replication lag.
Sharding & Partitioning
Horizontal scaling, hash/range keys, rebalancing, hotspots.
API Gateway
Single entry point, auth, routing, aggregation, throttling.
Rate Limiting
Token bucket, leaky bucket, sliding window, distributed limits.
CAP & Consistency
CAP, PACELC, consistency models, quorums.
CDN
Edge caching, TTLs, invalidation, push vs pull.