System design interview questions - 20 with answer outlines
By interview type - Guide
Mid-level and senior engineers preparing for architecture rounds where depth should match the team you applied to - not generic FAANG templates. Samples below are illustrative. Your kit is traced to the posting you paste.
Overview
-
System design interviews reward candidates who clarify goals before drawing boxes.
The bar still depends on the job description: a consumer feed role cares about fan-out and caching - a fintech posting cares about correctness, idempotency, and auditability - an internal tools role may care more about simplicity and operability than global scale theater.
-
Read the JD for scale clues (QPS, multi-region, realtime), data sensitivity, on-call expectations, and whether you'll own APIs used by other teams.
Those clues tell you which failure modes to rehearse.
-
This guide is a design-prep companion to your posting - not a replacement for drawing systems on a whiteboard with a timer.
Clarify before you architect
-
In the first two minutes, lock: users, read/write ratio, consistency needs, latency target, data size, and what "good enough" means for v1.
Write the non-goals. Interviewers often grade the questions you ask as highly as the diagram.
-
If the JD is compliance-heavy, ask about audit logs and retention early.
If it is marketplace/realtime, ask about freshness and spike traffic early.
Junior vs senior design bar (same prompt)
-
A solid mid-level answer: clear API, data model, basic scaling (cache, queue), and one bottleneck called out.
-
A senior answer adds: failure modes, backpressure, migration/rollback, ownership boundaries, cost, and what you'd monitor in week one.
Match the seniority language in the posting - don't perform staff-level complexity for a role that wants pragmatic builders.
System design interview questions with answer outlines
-
Twenty design prompts with what to clarify, a v1 shape, and a follow-up.
Scope depth to the posting's queues, caches, SLAs, and domain - not a generic FAANG template. Time-box: clarify, one diagram, two deep dives, risks.
What interviewers usually test
-
Requirements clarification and scope control
-
High-level architecture and data flow
-
Bottlenecks, failure modes, and scaling paths
-
Trade-off communication without over-engineering
Signals to read in your job description
-
Distributed systems, queues, caches in requirements
-
Scale numbers or SLA mentions
-
Data storage technologies listed
-
Security and multi-tenant hints
How rounds differ
-
Prompt + requirements
Ask clarifying questions - restate goals and constraints - propose a v1 scope.
-
High-level design
Core components and data flow. Keep the diagram readable.
-
Deep dives
The 1-2 risks that match the JD (consistency, hot keys, fan-out, multi-tenant isolation, PII).
-
Operate & evolve
Metrics, alerts, rollout, and what you'd change at 10x traffic.
Common prep mistakes
-
Jumping to microservices before requirements are clear
-
Ignoring the consistency and compliance cues in the JD
-
Drawing every buzzword (Kafka, CQRS, mesh) without a reason
-
No discussion of failure, retries, or observability
-
Over-designing for a role that wants a simple, operable system
Last-hour prep playbook
-
JD risk list
From the posting, list the top risks: scale, correctness, latency, multi-tenant, privacy.
-
Two timed drills
Run two 30-minute designs in their domain - force a recommendation and a kill list.
-
One deep dive card
Cache invalidation, exactly-once illusion, or hotspot handling - pick what the JD implies.
-
Operate the design
Name three metrics and one rollback plan for your diagram.
-
Last-hour pass
Requirements checklist + your risk list - no new patterns.
20 interview questions with answer outlines
Practice set for this path: question, round, short answer outline, and a follow-up. Your kit is generated from the posting you paste - not copied from this list.
-
What do you clarify first in a system design interview, and why?
Round: Phone / early round. Answer outline: Users, QPS, consistency, latency, cost, non-goals. Follow-up: What if the interviewer wants you to start drawing immediately?
-
Design a URL shortener with analytics. Where do you start?
Round: Technical / role-core. Answer outline: Write path, read path, ID generation, hot keys, analytics lag. Follow-up: How do you handle a celebrity URL?
-
Design a news feed. What is v1 vs later?
Round: Technical / role-core. Answer outline: Fan-out, ranking, cache, pagination, celebrity problem. Follow-up: Where does ranking live?
-
Design file upload for images at scale.
Round: Technical / role-core. Answer outline: Direct-to-object-store, virus scan, thumbnails, CDN, retries. Follow-up: What if the client dies mid-upload?
-
How would you design rate limiting for a public API?
Round: Technical / role-core. Answer outline: Token bucket vs sliding window, where to store, fairness, 429 shape. Follow-up: Per user, IP, or API key?
-
Design a chat system for a team product.
Round: Technical / role-core. Answer outline: Channels, presence, delivery, ordering, search, retention. Follow-up: What is acceptable lag?
-
Walk through designing a job queue that must not lose work.
Round: Technical / role-core. Answer outline: At-least-once, idempotency, poison messages, visibility timeout. Follow-up: How do you prove no silent drop?
-
Design search for a catalog of 10M documents.
Round: Technical / role-core. Answer outline: Index, ranking, freshness, typos, multi-region. Follow-up: How stale can results be?
-
How do you design multi-tenant isolation for a B2B SaaS?
Round: Technical / role-core. Answer outline: Authn/z, data keys, noisy neighbor, backup. Follow-up: A tenancy bug you have seen.
-
Design notifications: email, push, in-app.
Round: Technical / role-core. Answer outline: Fan-out, preference center, retries, quiet hours. Follow-up: How do you prevent storms?
-
Where would you put a cache, and how do you invalidate it?
Round: Technical / role-core. Answer outline: Read-through, TTL, stampede, write path. Follow-up: A cache bug that served wrong data.
-
Design a metrics pipeline for 100k events/sec.
Round: Technical / role-core. Answer outline: Ingest, buffer, aggregation, query, cost. Follow-up: What do you drop first under load?
-
How would you approach a payments ledger?
Round: Technical / role-core. Answer outline: Idempotency, double-entry, reconciliation, audit. Follow-up: What is the recovery story?
-
How do you time-box a 45-minute design interview?
Round: Hiring manager / final. Answer outline: Clarify, 1 diagram, 2 deep dives, risks. Follow-up: What do you skip on purpose?
-
Design session storage for a globally distributed app.
Round: Technical / role-core. Answer outline: Sticky vs JWT vs server session, revocation, latency. Follow-up: How do you log someone out everywhere?
-
How would you migrate a monolith read path to a new service?
Round: Technical / role-core. Answer outline: Dual write, shadow reads, cutover, rollback. Follow-up: What is the abort metric?
-
Talk through CAP in a real system you would actually ship.
Round: Technical / role-core. Answer outline: Which partition, what users see, how you communicate. Follow-up: Where is eventual OK?
-
The posting names queues, caches, and SLAs. How does that change your design drill?
Round: Phone / early round. Answer outline: Map JD nouns to components you will draw. Follow-up: What would you not design because the JD never asks?
-
Design abuse detection for sign-up.
Round: Technical / role-core. Answer outline: Signals, latency, false positives, human review. Follow-up: How do you avoid locking real users?
-
How do you communicate a design trade-off to a non-engineer interviewer?
Round: Hiring manager / final. Answer outline: User impact, cost, risk, one diagram. Follow-up: An example that landed.
FAQ
-
Do I need to memorize famous system designs?
Know patterns, not scripts. Interviewers change constraints. Practice transferring patterns to the domain in the JD.
-
How detailed should data models be?
Enough to discuss access patterns and consistency. Avoid drowning in every column unless they pull you there.
-
Short on time?
One clarifying checklist, one timed drill in their domain, one failure-mode card.
-
Guide vs kit?
Guide = design interview craft. Kit = JD-traced questions/outlines for your round, including design-leaning prompts when relevant.
-
Next?
Paste the JD and choose a system-design (or technical) round when you generate the kit.
When you have a posting
-
Get the right interview questions for the job you applied for by pasting the complete job description from the company's careers page - free preview, $2 for the full kit. No account needed. Paste the job description.