System Design Interview Prep

Requirements & estimation, networking, API design, data modelling, caching, and scaling — the architecture-interview competency

🎮 Play all System Design questions in Game Mode

Choose a Module

🧭

Fundamentals

The interview framework: scoping the prompt, functional vs non-functional requirements, estimation and the numbers to know

🌐

Networking

DNS, TCP vs UDP, HTTP versions, load balancers and API gateways, and choosing between polling, SSE and WebSockets

🔗

API Design

REST vs gRPC vs GraphQL, pagination, idempotency, versioning, and designing error contracts

🗄️

Data Modelling

SQL vs NoSQL as an access-pattern decision, indexing, normalisation trade-offs, and modelling for scale

Caching

Cache layers, write-through/aside/behind, eviction and TTLs, invalidation, hot keys, stampedes and CDNs

📈

Scaling & Sharding

Replication and read scaling, partitioning and sharding, consistent hashing, hot shards and rebalancing