Interview practice · 33 complete cases

System design interview questions you can actually practice

Move beyond prompt lists. Scope requirements, calculate capacity, defend an architecture, survive a failure injection, and repair the exact concept your answer missed.

Practice the whole interview, not a memorized diagram

Most system-design question lists stop at the prompt. Knowing that “design a rate limiter” is common does not prove that you can clarify its contract, estimate load, choose a consistency model, defend the hot path, or respond when the interviewer changes one constraint. These cases turn each question into a repeatable interview with observable evidence.

Every case follows six stages: scope the problem, estimate capacity, draw the high-level design, defend one critical path, respond to a failure, and review the result. The reference answer stays hidden during closed-book practice. After submission, scores cite your own words, missing dimensions link to focused concepts and drills, and already-demonstrated dimensions are not penalized by an unrelated gap.

If the topic is new, learn the linked mechanisms first and study an approved worked guide. Then wait before attempting the case without notes. If an interview is close, begin closed-book and use the review as diagnosis. A strong answer is not one remembered picture; it is a chain of explicit assumptions, unit-carrying calculations, named trade-offs, and operational responses.

AI systems

advanced · 45 minutes

Design production RAG

Design retrieval-augmented generation over a large, frequently changing document corpus with permissions and citations.

Start closed-book practice →

advanced · 45 minutes

Design a multi-tenant LLM gateway

Design an API gateway in front of multiple LLM models and providers for thousands of tenants.

Start closed-book practice →

advanced · 45 minutes

Design real-time recommendations

Design a real-time recommendation service for a large consumer application.

Start closed-book practice →

Social and real-time

advanced · 45 minutes

Design real-time chat

Design real-time one-to-one and group chat for 50 million daily active users.

Start closed-book practice →

advanced · 45 minutes

Design a ranked news feed

Design a ranked home feed for 100 million users with celebrity accounts, freshness, and moderation.

Start closed-book practice →

core · 45 minutes

Design a photo-sharing platform

Design an Instagram-like photo-sharing service with uploads, transformations, privacy, feeds, likes, and safe deletion. Focus on media and social-delivery boundaries.

Start closed-book practice →

core · 45 minutes

Design a proximity search service

Design a service that returns open businesses within a radius, filtered by category and ranked by distance, for a global consumer application.

Start closed-book practice →

advanced · 45 minutes

Design a nearby friends service

Design an opt-in feature that shows which friends are nearby and updates within seconds as people move, while making privacy and battery cost first-class constraints.

Start closed-book practice →

core · 45 minutes

Design a real-time gaming leaderboard

Design a leaderboard for a global game with seasonal, regional, and friends-only rankings, real-time score updates, anti-cheat review, and stable end-of-season results.

Start closed-book practice →

Media and collaboration

advanced · 45 minutes

Design a collaborative document editor

Design a Google Docs-like editor with real-time multi-user edits, offline work, presence, history, permissions, and deterministic convergence.

Start closed-book practice →

Infrastructure and storage

core · 45 minutes

Design a URL shortener

Design a global URL-shortening service with custom aliases, analytics, expiration, and abuse controls.

Start closed-book practice →

core · 40 minutes

Design a distributed rate limiter

Design a global, multi-tenant rate limiter for an API gateway with burst allowances and regional enforcement.

Start closed-book practice →

advanced · 45 minutes

Design a distributed cache

Design a low-latency distributed cache with partitioning, replication, TTL, eviction, invalidation, node failure, hot keys, and stampede protection.

Start closed-book practice →

core · 45 minutes

Design search autocomplete

Design typeahead suggestions for a large search product with prefix lookup, ranking, trends, personalization, freshness, moderation, and low latency.

Start closed-book practice →

advanced · 45 minutes

Design a distributed key-value store

Design a Dynamo-style distributed key-value store with partitioning, replication, tunable consistency, durability, rebalancing, repair, and compaction.

Start closed-book practice →

core · 45 minutes

Design a distributed unique ID generator

Design a service that issues globally unique, roughly time-sortable 64-bit IDs to thousands of application servers across regions without a database round trip per ID.

Start closed-book practice →

advanced · 45 minutes

Design a maps and routing platform

Design a driving-directions service that returns routes and ETAs across a continent, incorporates live traffic, and can serve map tiles separately from route computation.

Start closed-book practice →

advanced · 45 minutes

Design a distributed message queue

Design a multi-tenant distributed queue for asynchronous jobs and event streams with durable retention, consumer groups, backpressure, and at-least-once delivery.

Start closed-book practice →

advanced · 45 minutes

Design a metrics monitoring platform

Design a multi-tenant metrics platform that ingests counters, gauges, and histograms, supports dashboard queries and recording rules, and evaluates reliable alerts.

Start closed-book practice →

advanced · 45 minutes

Design a distributed email service

Design a transactional email platform that accepts API requests, renders templates, delivers through SMTP, handles retries and bounces, and protects sender reputation.

Start closed-book practice →

advanced · 45 minutes

Design an object storage service

Design an S3-like object storage service with buckets, immutable object versions, multipart uploads, ranged reads, checksums, lifecycle policies, and regional durability.

Start closed-book practice →

Commerce and marketplaces

advanced · 45 minutes

Design a payment-processing system

Design a payment system with authorization, capture, refunds, idempotency, webhooks, an auditable ledger, processor timeouts, reconciliation, and fraud controls.

Start closed-book practice →

advanced · 45 minutes

Design an ad click aggregation system

Design an ad click pipeline that powers near-real-time campaign dashboards and produces auditable daily billing aggregates despite duplicates, retries, bots, and late events.

Start closed-book practice →

core · 45 minutes

Design a hotel reservation system

Design a hotel booking platform that searches room availability and prevents overselling across multi-night stays, retries, payment delays, and expiring holds.

Start closed-book practice →

advanced · 45 minutes

Design a digital wallet

Design a digital wallet that supports deposits, peer-to-peer transfers, merchant payments, refunds, and withdrawals while maintaining auditable balances across retries and external settlement.

Start closed-book practice →

advanced · 45 minutes

Design a stock exchange

Design the core of a stock exchange that accepts limit and market orders, matches by price-time priority, publishes market data, and recovers without reordering or duplicating trades.

Start closed-book practice →

What the review measures

Cases score requirements, capacity, architecture, critical-path judgment, and reliability as separate dimensions. The deterministic rubric looks for declared evidence and remains available without an AI provider. When optional AI critique is configured, it can judge phrasing against fixed anchors, but it cannot add requirements, dimensions, facts, or out-of-range scores.

7 source-reviewed worked guides are public. Practice-only cases receive guides only after their calculations, primary sources, and editorial explanations pass the same review. That prevents generic, templated pages from diluting the curriculum.