ReviseAlgo Logo

Interviews & Case Studies

System Design Interviews

A step-by-step framework for tackling open-ended design questions.

In short

A step-by-step framework for tackling open-ended design questions.

Last Updated: June 26, 2026 25 min read

System Design Interviews are open-ended, ambiguous sessions designed to test your ability to scope, architect, and optimize large-scale distributed systems. Unlike coding interviews, there is no single "correct" answer. Instead, interviewers evaluate your communication, structured thinking, depth of engineering knowledge, and your approach to handling scale-related trade-offs. Driving the session with a repeatable, systematic framework is key to succeeding at senior and principal levels.

1. Learning Objectives

  • Master a structured 4-step system design interview framework.
  • Learn to ask the right clarifying questions to narrow down broad system scopes.
  • Perform back-of-the-envelope capacity estimations (QPS, storage, bandwidth, and memory) quickly.
  • Understand the grading rubric and signals interviewers look for (L4 vs. L5 vs. L6 expectations).
  • Manage the 45-minute interview timeline without getting stuck in rabbit holes.

2. Prerequisites

Before mastering the interview framework, ensure you understand:

  • Core Architectural Tiers: The roles of Load Balancers, Application Gates, Caches, and Databases.
  • Standard Protocols: HTTP/HTTPS, WebSockets, gRPC, and message queues (Kafka, RabbitMQ).
  • Basic Math Scaling: Understanding prefix multipliers (kilo, mega, giga, tera, peta) and converting daily volumes to per-second rates.

3. Why This Topic Matters

An open-ended prompt like *"Design Twitter"* is intentionally massive. A candidate who starts drawing servers on a whiteboard immediately without understanding the user's focus has already failed.

In production, architecture decisions are driven by concrete metrics: latency budgets, availability SLOs, read/write ratios, security policies, and cost constraints. System design interviews assess whether you can take a vague business problem, map it to engineering constraints, propose trade-offs, and design a scalable, reliable architecture within a highly compressed 45-minute window.

4. Real-world Analogy

Think of a system design interview as a general contractor presenting a blueprint to a developer for a new skyscraper:

  • A poor contractor starts building walls on day one without asking how many people will live in the building or if it needs parking garage space. The building eventually collapses under its own weight.
  • A great contractor first asks about requirements: *"Is this a residential tower or an office block? How many floors? What is the maximum load? Do we have earthquake regulations?"* They estimate concrete volumes, construct drafts (High-Level Design), zoom in on the elevator core and sewage lines (Detailed Component Design), and discuss budget vs safety trade-offs.

5. Core Concepts

  • The 4-Step Framework: A structured sequence of phases to keep the interview organized (Clarify -> HLD -> Detailed Design -> Scale/Trade-offs).
  • Back-of-the-envelope Estimation: Mathematical approximations of data sizes, storage capacities, and throughput to determine engineering bottlenecks.
  • Seniority Signals:
    • L4 (Mid-level): Can construct working high-level layouts; understands standard tools.
    • L5 (Senior): Leads the discussion; defends architectural choices with clear trade-offs; identifies deep bottlenecks.
    • L6 (Staff/Principal): Connects architecture to business realities; shows exceptional depth in failure modes, geographical deployments, and cost optimizations.
  • Functional vs. Non-Functional Requirements:
    • Functional: What features are within scope (e.g. posting a tweet, liking, following).
    • Non-Functional: Scale parameters (e.g. 99.99% availability, latency < 200ms, eventual consistency vs strong consistency).

6. Visualization

Timeline Allocation of a 45-Minute Interview

Managing your time is critical. Spend too much time on estimations, and you will run out of time to draw the architecture. The following timeline outlines a recommended allocation:

The 4-Step Framework Lifecycle Flow

7. How It Works

Here is the step-by-step breakdown of how the 4-step framework is applied:

  1. Stage 1: Clarifying Requirements (5 Mins)

    Ask questions to establish scope. Determine DAU (Daily Active Users), primary read/write ratios, security permissions, and target latency bounds. Agree on 3-4 core features to build.

  2. Stage 2: Capacity Estimation (5 Mins)

    Translate DAU into traffic QPS (Queries Per Second). Compute database writes storage requirements (in GB/TB/PB) for 1 year, network bandwidth ingress/egress, and Redis cache sizing using the 80/20 rule.

  3. Stage 3: High-Level Architecture (10 Mins)

    Draw the initial end-to-end request path. Place Clients, CDN/DNS, API Gateways, Load Balancers, Stateless Application Nodes, Caches, Databases, and Messaging Queues. Explain how requests flow step-by-step.

  4. Stage 4: Detailed Component Zoom-in (15 Mins)

    Focus on the core bottlenecks. Detail table schemas, indexing properties, hashing mechanics, data replication partitions, message queue serialization, and service boundary divisions.

  5. Stage 5: Scaling, Failures & Trade-offs (10 Mins)

    Propose optimizations to address failures. Discuss single points of failure (SPOFs), cache stampedes, region outages, rate limits, and consistency models (CAP theorem compromises).

8. Internal Architecture

The system design interview operates on a standardized feedback architecture. Interviewers grade you across four core dimensions:

Assessment Area What is Measured Strong Signal Weak Signal
1. System Architecture Designing end-to-end setups, decoupling services, choosing databases. Uses queues to isolate writes, balances load, sets caches correctly. Tightly-coupled monoliths, lack of database justification.
2. Technical Depth & Math Back-of-the-envelope calculations, network protocols, storage mechanics. Understands B-Trees vs. LSM-Trees, calculates bandwidth/storage accurately. Guesses numbers, drops random buzzwords, misses bottlenecks.
3. Trade-off Analysis Weighing alternatives (SQL vs. NoSQL, Redis vs. Memcached). Explicitly lists pros/cons based on CAP theorem and latency. Argues for one tool as a "silver bullet" solution.
4. Collaboration & Scope Time pacing, receiving hints, structuring the conversation. Drives the design, responds well to feedback, keeps time. Requires constant prompts, becomes defensive, goes off-topic.

9. Interactive Dialogue Lifecycle

The system design interview is a collaborative exchange, not a lecture. The candidate outlines options, the interviewer probes with constraints, and the candidate refines the model dynamically:

10. Deep Dive: Back-of-the-Envelope Math

To estimate capacities quickly, memorize these baseline equations and metric constants:

1. High-Speed QPS Equivalents

Standardizing traffic is simple when you map daily request rates to per-second rates:

  • 1 Million requests/day = ~12 QPS
  • 10 Million requests/day = ~116 QPS
  • 100 Million requests/day = ~1,160 QPS
  • 1 Billion requests/day = ~11,600 QPS

2. Power-of-Two Storage Scales

Prefix Power of 2 Power of 10 (Approx) Real-world Reference
Kilobyte (KB) 2^10 1,000 bytes (Thousand) 1 page of plain text (~2 KB)
Megabyte (MB) 2^20 1,000,000 bytes (Million) High-res picture (~3 MB)
Gigabyte (GB) 2^30 1,000,000,000 bytes (Billion) Compressed HD movie (~2 GB)
Terabyte (TB) 2^40 1,000,000,000,000 bytes (Trillion) Hard drive capacity
Petabyte (PB) 2^50 1,000,000,000,000,000 bytes (Quadrillion) Google's daily ingest logs (~100 PB)

3. Latency Values You Must Know

Your choice of storage engine and network configurations depends on physical performance speeds:

  • CPU Register Access / L1 Cache: ~0.5 ns
  • Main Memory (RAM) Access: ~100 ns
  • SSD Disk Sequential Read: ~1,000 ns (1 µs)
  • SSD Disk Random Read: ~100,000 ns (100 µs)
  • HDD Disk Seek (Platter): ~10,000,000 ns (10 ms)
  • Same Data Center Network Round Trip: ~500,000 ns (0.5 ms)
  • Global Internet Packet (US to Europe): ~150,000,000 ns (150 ms)

11. Production Example

How major organizations structure their interviewing frameworks:

  • Google: Focuses heavily on algorithmic system design, asking candidates to optimize data structures (e.g. MapReduce pipelines, Bigtable row key distribution) and check edge case failure distributions.
  • Meta: Focuses on scale, caching (Memcached architecture), horizontal replication, and social graph indexing (TAO cache design). They evaluate whether a candidate can scale to 3 billion users without bloating infrastructure costs.
  • Amazon: Focuses on service boundary divisions, event-driven orchestration (Saga patterns vs. Orchestrators), database lock isolations, and strict operational resilience (outages mitigations).

12. Advantages

Using a structured system design framework provides distinct advantages:

  • Prevents Rabbit Holes: Keeps you from spending 30 minutes discussing database indexes while forgetting to design the load balancer.
  • Displays Leadership: Demonstrates that you can take control of a project, scope requirements, and lead engineers.
  • Standardizes Communication: Ensures the interviewer can follow your thought process easily on a shared canvas.

13. Limitations

While a framework is a powerful communication tool, it has limitations:

  • Cannot Hide Weak Fundamentals: A structured layout will not save a candidate who does not know the difference between a load balancer and a proxy, or SQL vs. NoSQL.
  • Prone to Rigid Over-Structuring: Applying a framework too rigidly (e.g., spending exactly 5 minutes on math when no math is required) can make you appear robotic. Adapt dynamically.

14. Trade-offs

When presenting designs, evaluate trade-offs rather than pitching a single solution:

  • Mathematical Precision vs. Estimation Speed: In an interview, estimate numbers using rounded values (e.g., using 100,000 seconds per day instead of 86,400). Precision wastes time; order-of-magnitude correctness is what matters.
  • Proven Monoliths vs. Scalable Microservices: Pitching microservices on day one for 10 users is a negative signal. Propose starting with a modular monolith and scaling out as the capacity calculations dictate.

15. Performance Considerations

Managing cognitive load under pressure is key. Keep these performance optimization tips in mind during the session:

  • Parallel Writing & Talking: Never stay silent. Talk through your architecture as you draw components.
  • Proactive Back-ups: Keep your math notes clearly grouped. Messy board scribbles consume cognitive energy and lead to arithmetic mistakes.

16. Failure Scenarios

Avoid these common candidate failure profiles:

  • The Silent Genius: Candidate thinks silently for 5 minutes, then draws a complex system without explaining their decisions. The interviewer cannot evaluate their communication or collaboration skills.
  • The Buzzword Dropper: Candidate drops names (e.g., "Kafka", "Cassandra", "Kubernetes") in every sentence without justifying why these tools are needed over simple filesystems or databases.
  • The Defensive Candidate: Candidate becomes combative or argumentative when the interviewer introduces a failure bottleneck. Learn to accept feedback and adjust your design gracefully.

17. Best Practices

Proven strategies to display a senior-level signal:

  • Think Out Loud: Give the interviewer access to your inner monologue. It helps them correct you before you make mistake cascades.
  • Own the Board: Drive the conversation. Do not wait for the interviewer to prompt you for the next steps.
  • Define Concrete Requirements First: Write down functional and non-functional requirements explicitly at the top of the canvas. Refer back to them when justifying your architecture.

18. Common Mistakes

Avoid these structural design errors:

  • Skipping capacity estimations: Building a system for 100 requests/sec with a multi-region Cassandra cluster and Kafka pipelines. Always align scale to concrete math.
  • Jumping directly to the HLD: Drawing web servers and databases before knowing if the application is read-heavy, write-heavy, or what the user operations are.

19. Implementation: Capacity Estimation Tool

The following utility class demonstrates how system scale parameters are programmatically calculated. Having this mental model allows you to compute estimates cleanly in your head:

20. Interview Questions

Q1 (Easy): Why is exact math less important than order-of-magnitude accuracy during estimations?

Answer: System design is about sizing components (e.g. deciding if a database fits on a single disk or requires sharding). Sizing limits work in power-of-ten boundaries. Knowing whether write traffic is 1,200 QPS vs. 1,000 QPS does not change the architecture (both require a single server instance). However, knowing whether it is 10 QPS (single SQLite database) vs. 100,000 QPS (requires a sharded database with write queues) changes the design fundamentally.

Q2 (Medium): How should you react if the interviewer introduces a sudden change in constraints mid-way (e.g. "We now need support for real-time multiplayer coordination")?

Answer: Do not panic or try to completely erase your existing design.
1. Accept the constraint and validate it: *"That's an interesting requirement; it changes our architecture from pull-based request-response to duplex connection persistence."*
2. Identify the impacted components: *"Our stateless API web servers will now need WebSockets termination gateways."*
3. Redraw/adjust dependencies step-by-step: *"We will add a WebSocket proxy layer and integrate a Redis Pub/Sub backplane to route real-time coordinate events between nodes."*

Q3 (Hard): What signals separate a Senior (L5) candidate from a Staff/Principal (L6+) candidate in a system design interview?

Answer:
- L5 (Senior) focus is on execution: making working designs, correctly implementing sharding, caching, and showing technical competence in resolving standard bottlenecks.
- L6 (Staff/Principal) focus is on broader operational reality and scope: they connect tech choices to business costs, detail cross-region deployments (multi-active databases, replication conflicts, consensus limits), analyze complex migration patterns (how to switch databases without taking the site down), and discuss developer velocity and monitoring boundaries.

21. Practice Exercises

Exercise 1 (Easy): Perform Capacity Estimations for a Blog Site

Estimate the daily storage capacity for a publishing blog site with 50,000 monthly active users (MAUs), where 1% of users publish one article per month. Assume each article is 5 KB in plain text metadata.

Exercise 2 (Medium): Create an API Definition for WhatsApp

Draft REST or gRPC API signatures for a messaging system. Include endpoints for sending a message, retrieving chat history, and listing active threads. Specify HTTP status codes and payloads.

Exercise 3 (Hard): Zoom in on a Leaderboard DB Sharding Strategy

You are designing a gaming leaderboard with 10 million daily active gamers. Design a database sharding strategy. Weigh the trade-offs between partitioning by gamer ID, partitioning by game category, and partitioning by rank score.

22. Challenge Problem

The Multi-Region Partition Conflict Challenge:

You are designing a global collaborative document editor (like Google Docs). You expect 10,000 concurrent editors geographically distributed across Europe, the US, and Asia.

Constraints:

  • Users must see edits from other global users in <500ms.
  • Concurrent edits to the same document paragraph must not result in database corruption or permanent out-of-sync states.
  • Network partitions between regions must not freeze the application locally.

Detail an interview design strategy explaining how you would present Conflict-free Replicated Data Types (CRDTs) or Operational Transformation (OT) engines, and justify your choice of multi-primary replication vs global consensus algorithms.

23. Summary

System Design Interviews are collaborative problem-solving exercises. The key to success is demonstrating structured communication and leading the session proactively. By applying the 4-step framework, you clarify ambiguous goals, calculate capacity bounds, draft high-level layouts, zoom in on critical bottlenecks, and justify architectural decisions using trade-offs.

24. Cheat Sheet

Stage Target Duration Goal Deliverables
1. Clarify Requirements 5 minutes Define scope and scale target bounds. List of 3-4 core features and NFR metrics (availability, latency).
2. Capacity Estimation 5 minutes Calculate resource requirements. Approximate write QPS, read QPS, yearly storage, ingress/egress bandwidth.
3. High-Level Design 10 minutes Draft the end-to-end request lifecycle. Architecture block diagram showing LB, gateways, services, caches, and DBs.
4. Component Zoom-In 15 minutes Detail bottlenecks and critical services. Database schemas, sharding keys, caching logic, queue integrations.
5. Scale & Trade-offs 10 minutes Defend resilience against failure modes. Failover strategies, rate limits, CAP theorem evaluation, monitoring targets.

25. Quiz

1. What should a candidate do first upon receiving a system design prompt?

  • A. Start drawing databases on the canvas.
  • B. Ask clarifying questions to narrow down features and scale constraints.
  • C. Calculate disk storage budgets.
  • D. Discuss network routing protocols.

Answer: B. Always clarify scope and scale first before making any design decisions.

2. If a system handles 10 million write requests per day, what is the approximate QPS?

  • A. ~10 QPS.
  • B. ~116 QPS.
  • C. ~1,160 QPS.
  • D. ~11,600 QPS.

Answer: B. 10 million / 86400 seconds per day is approximately 116 QPS.

3. What does 2^30 bytes represent in standard storage prefixes?

  • A. 1 Kilobyte (KB).
  • B. 1 Megabyte (MB).
  • C. 1 Gigabyte (GB).
  • D. 1 Terabyte (TB).

Answer: C. 2^30 bytes is 1 Gigabyte.

4. Which memory or disk component has the lowest access latency?

  • A. SSD random read.
  • B. Main memory (RAM).
  • C. L1 Cache / CPU register.
  • D. Same-datacenter network packet.

Answer: C. CPU L1 cache access takes ~0.5 ns, which is faster than RAM (~100 ns) or SSD (~100 µs).

5. What is a "strong signal" during the trade-off evaluation stage of the interview?

  • A. Pitching a single tool as the only correct database.
  • B. Highlighting the benefits and drawbacks of SQL sharding vs. Cassandra based on data structure.
  • C. Deleting the previous design diagrams.
  • D. Refusing to calculate network bandwidth.

Answer: B. Comparing options using clear, data-driven pros and cons is a strong senior engineering signal.

6. What is a common mistake candidates make during estimations?

  • A. Rounding up numbers to do mental math quickly.
  • B. Completely skipping estimations and designing a multi-region setup for minimal traffic.
  • C. Writing estimations on the canvas.
  • D. Stating assumptions out loud.

Answer: B. Designing highly complex setups without checking capacity math first is a negative signal.

7. How should a candidate react if their proposed architecture contains a single point of failure (SPOF)?

  • A. Ignore it and focus on API design.
  • B. Defend the design as simple and fast.
  • C. Proactively identify the SPOF and explain replication/failover mitigations.
  • D. Ask the interviewer to fix it.

Answer: C. Proactively identifying bottlenecks and proposing solutions is a strong leadership indicator.

8. How much daily read traffic data should be sized for cache holding using the standard rule of thumb?

  • A. 100%.
  • B. 50%.
  • C. 20% (80/20 rule).
  • D. 1%.

Answer: C. Sizing the cache to hold the top 20% of daily active read traffic is the standard recommendation.

9. Why is JSON serialization overhead an important factor to discuss at scale?

  • A. JSON is insecure.
  • B. JSON parsing is CPU-intensive and increases payload sizing compared to binary protocols.
  • C. JSON does not support string fields.
  • D. Web browsers cannot parse JSON.

Answer: B. Binary protocols like Protobuf reduce bandwidth and CPU usage substantially at high throughput.

10. What does the "Collaborative Signal" evaluate?

  • A. If the candidate can write perfect syntax.
  • B. If the candidate can structure an ambiguous session, incorporate feedback, and think out loud.
  • C. If the candidate knows all RFC protocols.
  • D. If the candidate works fast without talking.

Answer: B. Communication and cooperative refinement of ideas are key grading criteria.

26. Further Reading

  • System Design Interview by Alex Xu (Volume 1 & 2 cover the 4-step framework in depth).
  • Designing Data-Intensive Applications by Martin Kleppmann (indispensable guide on distributed data trade-offs).
  • Latency Numbers Every Programmer Should Know — interactive visual graphs by Jonas Bonér.

27. Next Lesson Preview

With a strong understanding of the interview framework, we will now apply it to a real-world case study. In the next lesson, we simulate a full system design interview for Design a URL Shortener, clarifying requirements, estimating write/read throughput, defining base62 hash keys, and scaling lookups using Redis caches.

Key takeaways

  • Always start by clarifying requirements and scale.
  • Justify decisions with trade-offs; there's no single right answer.