Interview prep guide
System Design Interview Prep
A system design interview is 45 to 60 minutes of designing a large-scale system out loud: a URL shortener, a chat app, a news feed. There is no single correct answer. You are scored on how you get from a vague prompt to a defensible architecture. This guide gives you a repeatable framework, a four-week plan, and the questions to practise it on.
What system design interviewers score
Most companies use a rubric close to this one. Knowing it tells you where to spend your minutes.
-
1
Problem scoping
Do you turn an open prompt into concrete functional and non-functional requirements before drawing anything?
-
2
Estimation
Can you size traffic, storage and bandwidth well enough to justify your choices?
-
3
Architecture
Is the high-level design coherent, with clear data flow from client to storage?
-
4
Depth
When pushed on one component, can you go several layers down: schema, partition key, cache policy, failure behaviour?
-
5
Trade-offs
Do you name what each choice costs, not only what it buys?
-
6
Communication
Do you think out loud, check in with the interviewer, and adapt when a constraint changes?
A 7-step framework for any system design question
Use the same sequence for every question. The timings assume a 45-minute interview.
-
1. Clarify requirements (about 5 minutes)
List what the system must do, then how well it must do it: latency, availability, consistency, durability. Agree on what is out of scope. Every later decision should trace back to one of these requirements. See system design fundamentals.
-
2. Estimate scale (about 5 minutes)
Turn daily active users into requests per second, peak load, storage per year and read-to-write ratio. You need orders of magnitude, not precision: the point is to decide whether one database is enough or whether you need caching and sharding. See Latency & Performance and Availability in Numbers.
-
3. Define the API and data model
Write the handful of endpoints the clients call and the entities you store. This is where access patterns become visible, and access patterns decide your database and partition key. See API Design & Communication and Data Storage Fundamentals.
-
4. Sketch the high-level design (about 10 minutes)
Draw the request path end to end: client, DNS, load balancer, stateless services, cache, database, and any asynchronous pipeline. Keep it simple enough to work, then say out loud where it will break first. See How Requests Flow Through Systems.
-
5. Deep-dive into the bottleneck (about 15 minutes)
Pick the component that fails first under your estimated load and fix it: a cache in front of a hot read path, a queue in front of a slow write path, replicas or shards for a saturated database. Explain the new failure modes each fix introduces. See Caching Systems, Asynchronous Processing and Database Bottlenecks.
-
6. Discuss trade-offs
Consistency against availability, latency against cost, simplicity against future scale. Interviewers reward candidates who state the downside of their own design before being asked. See Consistency & CAP Theorem, Consistency Models and System Trade-offs.
-
7. Cover failures and operations (about 5 minutes)
What happens when a zone goes down, a cache is cold, or a dependency slows down? Mention timeouts, retries with backoff, circuit breakers, and the metrics and alerts that would tell you something is wrong. See Fault Tolerance & Reliability and Observability & Monitoring.
A 4-week system design study plan
One hour a day is enough. Each week pairs concepts with questions that exercise them, and ends with a timed attempt.
Week 1Fundamentals and your first designs
Learn how requests move through a system and what the core building blocks do: Introduction & Fundamentals, How Requests Flow Through Systems, API Design & Communication, Data Storage Fundamentals. Then design the beginner questions:
Week 2Handling scale
Study Scaling Systems, Load Balancing Systems, Caching Systems, Asynchronous Processing and Content Delivery. Practise on:
- Design API Gateway System
- Design Google Drive
- Design Live Sports Score System
- Design Messaging App System
- Design Metrics Monitoring System
Distributed data and consistency
Study Database Scaling Techniques, Consistency Models, Consistency & CAP Theorem and Service Communication Patterns. Practise on:
- Design News Feed
- Design Online Dating Platform
- Design Quora
- Design Rate Limiter System
- Design Real-time Quiz Platform
Advanced questions under time pressure
Work through advanced questions with a 45-minute timer, then review what you skipped. Finish with at least two timed mock interviews.
Common system design interview mistakes
-
✕
Drawing before scoping
Jumping to Kafka and Cassandra before agreeing on requirements makes every later choice unjustifiable.
-
✕
Skipping estimates
Without numbers you cannot explain why you need a cache, how many shards, or whether a single region is enough.
-
✕
Naming components without reasons
"Add a load balancer" is not an answer; "add a load balancer so stateless app servers can scale horizontally and fail independently" is.
-
✕
Ignoring the write path
Many designs handle reads well and fall over on writes, fan-out or hot keys.
-
✕
No failure story
Every component fails. Say what the user sees when it does.
-
✕
Talking in monologue
Check in with the interviewer at each step; they are often steering you towards the deep dive they want.
How to practise with PRISM
Reading solutions builds recognition, not recall. In PRISM you draw the architecture yourself, run simulated traffic through it, and see which component saturates first. The same loop an interviewer takes you through, on your own schedule.