System design interviews test whether you can reason about trade-offs at scale. Interviewers aren’t looking for a single correct answer — they want to see how you think through constraints, identify bottlenecks, and justify architectural decisions with concrete reasoning.
These 20 questions cover the fundamental building blocks that appear in nearly every system design discussion: consistency models, caching layers, partitioning strategies, load balancing, and failure handling. Master these concepts and you’ll have the vocabulary to tackle any open-ended design problem.
Redis caching patterns define how your application coordinates reads and writes between the cache and the source-of-truth database.
Read full answer →Scaling is how you increase a system's capacity to handle more load.
Read full answer →API versioning lets you evolve a public API without breaking existing clients.
Read full answer →SLOs, SLAs, and SLIs form a hierarchy for defining, measuring, and committing to reliability.
Read full answer →Five 9s refers to 99.999% availability, which translates to approximately 5 minutes and 15 seconds of total downtime per year.
Read full answer →Latency and throughput are the two primary axes of performance, and they measure fundamentally different things.
Read full answer →Cache eviction policies determine which item is removed when the cache is full and a new item must be inserted.
Read full answer →**Stateful web tier**: each web server stores session data locally — in memory or on local disk.
Read full answer →Running across multiple data centers (or regions) eliminates single points of geographic failure and reduces latency by serving users from the nearest location.
Read full answer →Back-of-envelope QPS estimation follows a top-down decomposition: **Step 1: Establish user volume** Start with total users, derive DAU.
Read full answer →Storage estimation follows a data-type decomposition: **Step 1: Identify what gets stored** Break the system into data types: user records, messages, images, videos, metadata.
Read full answer →Bandwidth estimation connects QPS to data transferred per second.
Read full answer →Powers of 2 are the vocabulary of capacity estimation.
Read full answer →Jeff Dean's latency numbers (periodically updated as hardware improves) are the calibration tool for system design.
Read full answer →The wrap-up is not a summary — it is a structured hand-off that signals engineering maturity.
Read full answer →Cache invalidation is one of the hardest problems in distributed systems because you must balance consistency, availability, and performance simultaneously.
Read full answer →CRUD (Create, Read, Update, Delete) maps onto HTTP methods through REST conventions.
Read full answer →Good API design is a contract between producers and consumers.
Read full answer →Write-around caching is a strategy in which write operations bypass the cache entirely and go directly to the persistent storage (database, object store).
Read full answer →Reliability, fault tolerance, and redundancy are related but distinct concepts that together form the foundation of resilient system design.
Read full answer →The best system design candidates practice the framework, not the topics. Spend 30 minutes drilling the requirements-clarification phase on random problem prompts — weak candidates rush past scoping and get penalized for it. Then work through 3–5 canonical problems (URL shortener, Twitter feed, notification service) end-to-end with a timer.
Focus on justifying every architectural choice against alternatives. “Why this over that” is where senior interviewers probe hardest. Practicing 20 problems shallowly gets you a mixed signal; practicing 5 problems until you can defend every decision gets you strong-inclined.
System design is one round of a full senior loop. Pair it with coding interview questions and FAANG interview prep for complete coverage of how top-tier loops are structured.
Take a free AI-graded assessment across multiple domains. No signup required.
Start Free Assessment