Interview prep · Updated 2026
System Design Interview Preparation Guide
Everything you need to pass the system design round at FAANG and high-bar startups: a repeatable 7-step framework, the 20 most-asked questions, what interviewers actually score, and 122+ practice problems with AI feedback.
The 7-step framework
Use the same structure on every question. Interviewers evaluate communication and structure as much as the answer itself — a predictable framework signals seniority.
- 1
Clarify requirements
Spend the first 5 minutes asking questions. Confirm functional requirements (what the system must do), non-functional requirements (latency, availability, consistency, durability), out-of-scope features, and the target scale (DAU, peak QPS, payload size).
- 2
Estimate capacity
Convert requirements into numbers: storage per year, peak read/write QPS, bandwidth, and number of servers. Round aggressively. Show your math.
- 3
Define APIs
List the 3–6 endpoints (or RPCs / events) that capture the core flows. Specify method, path, key parameters, and response shape. This anchors the rest of the design.
- 4
Sketch high-level architecture
Draw clients → gateway → services → storage → async pipeline. Name each box. Mention which services are stateless and which hold state.
- 5
Design the data model
Pick storage per entity (relational vs key-value vs document vs wide-column vs blob). Define primary keys, sharding keys, indexes, and access patterns.
- 6
Deep dive on one bottleneck
The interviewer will pick a component or ask "what happens when X grows 10x?" Common deep dives: cache strategy, sharding, leader election, message ordering, hot keys, geo-replication.
- 7
Address failure modes
Walk through what happens when each component fails. Cover retries, timeouts, idempotency, dead-letter queues, circuit breakers, and graceful degradation.
The 20 most-asked questions
Across hundreds of interview reports from Glassdoor, Blind, and Reddit, these problems repeat the most. Practice them in this order — the patterns compound.
- Design a URL shortener (TinyURL, Bitly)
- Design Twitter / X newsfeed
- Design Instagram
- Design WhatsApp / messaging
- Design Uber / Lyft
- Design Netflix / video streaming
- Design Dropbox / Google Drive
- Design YouTube
- Design Google Search type-ahead
- Design a rate limiter
- Design a distributed cache
- Design a notification system
- Design a parking lot
- Design a payment system
- Design Google Maps
- Design a web crawler
- Design Reddit / Hacker News
- Design a chess / multiplayer game
- Design a key-value store like DynamoDB
- Design a metrics / monitoring system
Frequently asked questions
What companies ask system design interviews?
Almost every mid-to-senior engineering interview at Google, Meta, Amazon, Microsoft, Apple, Netflix, Uber, Airbnb, Stripe, Snowflake, Databricks, and most YC startups includes a system design round. Even some new-grad interviews now include a lightweight system design section.
How long is a system design interview?
Standard is 45 to 60 minutes. Senior and staff loops can include two back-to-back 60-minute rounds. Expect 5 minutes of intro, 35 to 45 minutes of design, and 5 to 10 minutes for your questions.
How is a system design interview scored?
Most rubrics weight: (1) clarification and requirements gathering, (2) high-level architecture correctness, (3) handling scale and bottlenecks, (4) trade-off articulation, (5) communication. Senior loops weight trade-offs and depth more heavily.
Should I memorize architectures of real systems?
Memorizing without understanding hurts you. Instead, learn the underlying patterns (sharding, fan-out, CQRS, eventual consistency) and a small set of components — then you can derive the architecture for any product on the spot.
What if I disagree with the interviewer?
Defend your choice with reasoning, then ask "is there a constraint I am missing?" If they push, restate the trade-off you accepted and offer the alternative. Strong candidates change their mind when given new information; weak ones either capitulate immediately or refuse to update.
How do I practice realistically?
Use SystemCity. Pick a problem, set a 45-minute timer, work through the 7-step framework on the canvas, then submit your design for AI evaluation across GPT, Gemini, and Claude. Compare your design to the reference architecture and iterate. Aim for 15+ problems before a real interview loop.
Start with these problems
Each problem includes a reference architecture and AI-graded feedback.