Skip to main content
Vamsi Narla's profile photo
Written by Vamsi Narla
Founder of Revarta | Ex-Google, Amazon, Remitly

12 System Design Interview Questions with Follow-Ups

Practice 12 system design interview questions with scoping prompts, technical follow-ups, and evidence to look for in your answer.

Useful system design interview questions give you a system to design and a decision to defend. Start with a URL shortener, chat service, rate limiter, or notification system, then change a constraint and explain how your architecture responds.

The 12 prompts below are Revarta editorial exercises. They are not a list of leaked employer questions or a claim about which questions appear most often. Each includes a scoping question, a follow-up, and evidence you can look for in your answer.

For a full rehearsal, use the 45-minute system design mock structure. Keep the follow-up hidden until you have drawn your first architecture.

Rehearse the design on a whiteboard

Explore timed system design voice practice, follow-up questions, and design-specific feedback. Practice requires a desktop or tablet and account access.

1. Design a URL shortener

Clarify: Are links permanent? Can owners edit destinations or create custom aliases?

Follow-up: One short link becomes extremely popular. What happens to your reads, analytics, and destination updates?

Evidence to look for: You separate the redirect path from analytics, explain identifier collisions, and define how an edited destination becomes visible. A cache needs a freshness policy as well as a reason to exist.

2. Design a chat service

Clarify: Is this one-to-one messaging or group chat? What should an offline recipient see later?

Follow-up: A sender reconnects after a timeout and submits the same message again.

Evidence to look for: You distinguish message persistence from delivery, define ordering within a conversation, and explain how a client recognizes a duplicate. A persistent connection alone does not establish those guarantees.

3. Design an API rate limiter

Clarify: Is the limit per customer, user, IP address, or endpoint? Are short bursts acceptable?

Follow-up: Requests arrive through multiple regions while the shared limiter is unreachable.

Evidence to look for: You explain where enforcement happens and what callers experience during failure. You connect any approximate enforcement to the business cost of admitting or rejecting requests.

4. Design an order-notification service

Clarify: Which channels are required, and how late can a notification arrive?

Follow-up: The delivery provider times out after possibly accepting the message.

Evidence to look for: You explain retry ownership, duplicate handling, and how uncertain outcomes are reconciled. Read the worked notification trade-off after attempting the problem yourself.

5. Design a news feed

Clarify: Is the feed chronological or ranked? Do users follow individuals, topics, or both?

Follow-up: A small number of accounts have millions of followers.

Evidence to look for: You explain when feed work happens and who pays its storage and compute cost. You discuss freshness and a skewed follower distribution instead of treating every account as average.

6. Design a file-sharing service

Clarify: Do users upload whole files, synchronize edits, or collaborate simultaneously?

Follow-up: An upload fails halfway through, and the owner later revokes a sharing link.

Evidence to look for: You distinguish file bytes from metadata, explain how interrupted uploads resume, and show where access is checked. Knowing a file's identifier must not automatically grant permission to download it.

7. Design a ticket-booking service

Clarify: Are customers buying assigned seats or general admission? How long does a reservation last?

Follow-up: Two customers try to buy the last seat while the payment provider responds slowly.

Evidence to look for: You identify the operation that prevents double booking and explain reservation expiry, payment uncertainty, and recovery. A diagram with a payment service does not establish who owns the seat.

8. Design a nearby-places search service

Clarify: Are locations static businesses or moving vehicles? How fresh must results be?

Follow-up: A dense city center returns too many candidates for each query.

Evidence to look for: You explain how the search narrows geographically, how results are ranked, and what an indexing delay means for users. Geographic proximity and result relevance are separate decisions.

9. Design a metrics-ingestion service

Clarify: What are the write rate, retention period, and required query latency?

Follow-up: A large customer sends a burst while other customers expect normal service.

Evidence to look for: You explain ingestion limits, tenant isolation, aggregation, and the policy for late data. Show where pressure accumulates when consumers cannot keep up.

10. Design a background-job scheduler

Clarify: Are jobs one-time or recurring? Must a job run at an exact time, or within a window?

Follow-up: A worker crashes after performing the work but before acknowledging completion.

Evidence to look for: You separate scheduling from execution and explain leases, retries, and duplicate effects. State which guarantee your system can offer rather than promising "exactly once" without a mechanism.

11. Design a video-upload and processing service

Clarify: Which formats and playback devices must be supported? When can viewers first watch an upload?

Follow-up: One processing stage repeatedly fails while the original upload remains intact.

Evidence to look for: You describe the processing stages, persisted progress, retry boundaries, and the status shown to the uploader. Explain how you avoid repeating successful work unnecessarily.

12. Design a product-search service

Clarify: Which matters most: text relevance, inventory freshness, personalization, or response time?

Follow-up: Search returns a product that has just sold out.

Evidence to look for: You distinguish the search index from authoritative inventory and define what happens between discovery and purchase. You state where freshness matters enough to require another check.

Make a question harder by changing the constraint

Use the same prompt at different depths. These are practice variations, not universal definitions of engineering levels.

  • First pass: Establish requirements, draw a complete path, and explain the main stored state.
  • Deeper pass: Trace a failure, defend an alternative, and estimate the bottleneck that drives your choice.
  • Broader pass: Add migration, regional failure, operational ownership, and the cost of changing the design without stopping the existing service.

A more demanding answer can use a simpler architecture if it explains why that architecture fits the problem and how it would evolve.

Turn the question bank into a practice loop

Choose one prompt, attempt it without a reference answer, and introduce its follow-up after your first design. At the end, write down the decision you could not defend and rehearse that decision again.

For structured voice practice with a whiteboard and design feedback, explore Revarta's system design practice on a desktop or tablet. Sign in or create an account to see its curated problems; access depends on your plan or available mock credits. The editorial exercises on this page are separate from the in-app catalogue.

For a question about your past experience rather than a hypothetical architecture, practice explaining a system design trade-off you made.

Frequently asked questions

Which system design question should I practice first?

Start with a system whose user action you understand, such as shortening a link or sending a notification. Draw one complete path before adding scale. Then introduce a failure and explain how the system recovers.

Do these questions come from real employer interviews?

These are editorial practice prompts based on familiar system categories. They are not attributed to employers, and their inclusion does not predict your interview question. Ask your recruiter which design format and level of detail to expect.

How many system design questions should I complete?

Use coverage and evidence of improvement rather than a fixed total. Practice different pressures, including read volume, real-time delivery, contested state, and background processing. Revisit a question when you still cannot explain its central decision or failure behavior.

Do I need to write code in a system design interview?

Some rounds emphasize architecture; others include API contracts, data models, or detailed component design. Confirm the format. These exercises focus on architecture and reasoning, so they do not replace coding or low-level design preparation.

Editorial scope

The prompts and review cues are original Revarta preparation material, reviewed November 10, 2026. They are exercises rather than complete reference architectures or an employer scoring rubric.

Rehearse the design on a whiteboard

Explore timed system design voice practice, follow-up questions, and design-specific feedback. Practice requires a desktop or tablet and account access.

Practice Common Interview Questions

Browse 100+ behavioral interview questions with expert examples and practice your answers out loud using the STAR method.

Explore Interview Questions
As featured inFast Company
Vamsi Narla

Built by a hiring manager who's conducted 1,000+ interviews at Google, Amazon, Nvidia, and Adobe.