System Design Interview Questions
Honest, sourced guides to the most-asked system-design rounds at top tech companies. Each guide covers requirements, capacity, high-level design, the deep dive on the hard problem, common mistakes, and likely follow-ups.
Design a Real-Time Bidding Ad Server
Design a real-time bidding ad server asks you to build the system that, when a publisher's page loads, runs an auction across many advertisers, picks a winning ad, and returns the creative — all in under 100 milliseconds end-to-end. The hard part is fan-out auctions at hundreds of thousands of QPS with budget pacing and frequency capping correct to the cent.
Asked at: Google, Meta, Amazon, The Trade Desk, Criteo
Design Amazon Prime Video
Design Amazon Prime Video is a system-design interview that asks you to build a streaming platform with both video-on-demand and live event streaming: hundreds of millions of subscribers watch movies and TV on demand, while live sports (Thursday Night Football) reach 15M+ simultaneous viewers. The hard part is the live-streaming CDN architecture at peak event scale.
Asked at: Amazon, Netflix, Disney, Google (YouTube), Meta
Design API Gateway
Design API Gateway is a system-design interview that asks you to build the north-south entry point for a multi-service platform: every external client request lands at the gateway, which authenticates the caller, applies rate limits, routes to the right backend service, transforms the request and response, and emits observability. The hard part is keeping per-request latency under a few milliseconds while supporting thousands of distinct API contracts, per-tenant policies, and dynamic config reloads.
Asked at: Amazon, Google, Microsoft, Netflix, Apple
Design Autoscaling System
Design Autoscaling System is a system-design interview that asks you to build the infrastructure that automatically resizes a workload's capacity in response to demand: scale out when load rises, scale in when load drops, scale up resources per instance when needed, and do all of it without dropping traffic or thrashing. The hard part is reacting fast enough for traffic spikes, slow enough to avoid oscillation, and combining horizontal and vertical scaling without conflict.
Asked at: Amazon, Google, Microsoft, Netflix, Uber
Design a Collaborative Document Editor (Google-Docs style)
Design a Collaborative Document Editor is a system-design interview that asks you to build the engine behind real-time multi-user editing — Google Docs, online code editors, design canvases. The hard part is conflict resolution: when two users edit the same character position simultaneously, the system must converge to a consistent state without losing anyone's intent. The canonical mechanisms are Operational Transformation (OT) and Conflict-Free Replicated Data Types (CRDTs).
Asked at: Google, Microsoft, Atlassian, Figma, Notion
Design a Content Moderation System
Design a Content Moderation System is a system-design interview that asks you to build the pipeline that scans user-generated content (images, video, text) and removes or restricts violating content — CSAM, hate speech, harassment, spam, sexual content, terrorist content. The hard part is balancing accuracy, throughput, human-reviewer cost, and legal mandates that demand zero tolerance for certain content categories.
Asked at: Meta, Google, TikTok, Microsoft, Reddit
Design Discord
Design Discord is a system-design interview that asks you to build community voice + text chat: users join servers (each server has many channels), exchange text messages in real time, and hop into low-latency voice rooms with dozens of concurrent speakers. The hard part is voice infrastructure plus channel fanout at server scale.
Asked at: Discord, Meta, Roblox, Twitch
Design Distributed Blob Store
Design Distributed Blob Store is a system-design interview that asks you to build an object storage service at internet scale: trillions of objects, exabytes of total capacity, 11-nines of durability, and high-throughput read and write. The hard part is the durability math (erasure coding vs replication tradeoff), efficient placement across racks and regions, and metadata indexing that doesn't become the bottleneck.
Asked at: Amazon, Google, Microsoft, Meta, Apple
Design Distributed Cache
Design Distributed Cache is a system-design interview that asks you to build a distributed in-memory cache that fronts a slower backing store: clients fetch and write keys with sub-millisecond latency, the cache spans many nodes for capacity, and node failures are handled without losing user-visible availability. The hard part is consistent hashing, replication, and eviction at scale.
Asked at: Google, Meta, Amazon, LinkedIn, Twitter/X
Design Distributed Counter
Design Distributed Counter is a system-design interview that asks you to build a high-throughput counter service: any client can increment a named counter, any client can read its current value, and the system handles millions of increments per second across a global fleet without losing counts. The hard part is that a single counter can't naively live on one machine at this rate — sharding plus aggregation is the only way to scale, and the tradeoff is read freshness vs write throughput.
Asked at: Google, Meta, Amazon, LinkedIn, Microsoft
Design Distributed Key-Value Store
Design Distributed Key-Value Store is a system-design interview that asks you to build a durable, horizontally-scalable key-value store: PUT and GET operations across petabytes of data, sub-10ms latency, no central coordinator, and survival of any single node failure with no data loss. The hard part is sharding, replication, and the consistency contract.
Asked at: Amazon, Google, Meta, Apple, LinkedIn
Design Distributed Lock Service
Design Distributed Lock Service is a system-design interview that asks you to build a coordination service: clients acquire named locks across a cluster, only one client can hold a lock at a time, and the system must handle network partitions and client crashes without deadlocking forever. The hard part is the fencing-token contract — a lock holder must know if its lease expired before another client took the lock, and the protected resource must reject stale lock holders.
Asked at: Google, Amazon, Meta, Microsoft, Apple
Design Distributed Log
Design Distributed Log is a system-design interview that asks you to build a horizontally-scalable, append-only log service: producers append events to named topics, consumers read events in order from any offset, and the system replicates each event across multiple nodes for durability. The hard part is sharding a topic across many nodes while preserving per-partition order and surviving any single broker failure without data loss.
Asked at: Amazon, Google, Meta, LinkedIn, Netflix
Design Distributed Message Queue
Design Distributed Message Queue is a system-design interview that asks you to build a managed queue service: producers publish messages, consumers pull or receive pushed messages, and the system handles visibility timeouts, retries, dead-letter routing, and configurable delivery guarantees (at-least-once or exactly-once). The hard part is the visibility-timeout contract — once a consumer takes a message, no other consumer sees it until the first one acks or times out.
Asked at: Amazon, Google, Microsoft, Meta, Apple
Design Distributed Task Scheduler
Design Distributed Task Scheduler is a system-design interview that asks you to build a DAG-based workflow scheduler at scale: users define directed acyclic graphs of tasks with dependencies, the scheduler runs each task when its parents complete, and the system handles retries, backfills, SLAs, and resource allocation across a fleet of executor nodes. The hard part is the leader/coordinator role — exactly one node must decide which task runs next, but the system must keep working when that node dies.
Asked at: Amazon, Google, Meta, Netflix, LinkedIn
Design Distributed Tracing System
Design Distributed Tracing System is a system-design interview that asks you to build the infrastructure that follows a single user request as it fans out across hundreds of microservices, captures timing and metadata at every hop, and lets engineers visualize the whole call tree in seconds. The hard part is propagating trace context with zero application-code cost, sampling at scale without losing the interesting traces, and storing tens of billions of spans per day affordably.
Asked at: Google, Meta, Amazon, Microsoft, Uber
Design DoorDash
Design DoorDash is a system-design interview that asks you to build a three-sided marketplace: consumers order from restaurants, restaurants prepare the food, and gig couriers deliver it. The hard part is coordinating preparation time with courier arrival under variable real-world timing.
Asked at: DoorDash, Uber, Instacart, Grubhub, Meta
Design Dropbox
Design Dropbox is a system-design interview that asks you to build a cloud-storage product: users sync files across devices, share folders with others, and resolve conflicts when two devices edit the same file. The hard part is chunking, deduplication, and bidirectional sync.
Asked at: Dropbox, Google, Microsoft, Box, Apple
Design a Flight Search Engine
Design a flight search engine asks you to build the system that, given an origin + destination + date, searches across hundreds of airlines, computes multi-leg itineraries with connections, prices each one, and returns a ranked list — typically in a few seconds. The hard part is the combinatorial explosion of multi-leg paths combined with airline pricing APIs that are slow and rate-limited.
Asked at: Google, Booking.com, Expedia, Airbnb, Amazon
Design a Real-Time Fraud Detection System
Design a real-time fraud detection system asks you to score every payment or account event for fraud risk in single-digit milliseconds, block the high-risk ones, and let the rest through. The hard part is balancing false-positive cost (rejecting a legitimate customer is expensive) against false-negative cost (approving a fraudster is also expensive) while serving an ML model on the hot path of every transaction.
Asked at: PayPal, Block, Visa, Amazon, Meta
Design Google Calendar
Design Google Calendar is a system-design interview that asks you to build a calendar system: users create events, invite others, see free/busy across teammates, get reminders, and handle recurring events. The hard part is recurrence expansion plus cross-user free/busy queries at organization scale.
Asked at: Google, Microsoft, Apple, Atlassian, Meta
Design Google Drive
Design Google Drive is a system-design interview that asks you to build a cloud-storage product with collaboration: users upload files, sync across devices, share with permissions, and collaboratively edit documents in real time. The hard part is the file/folder tree, chunked uploads, and the bridge to live-collaborative documents.
Asked at: Google, Microsoft, Dropbox, Box, Apple
Design Hacker News
Design Hacker News is a system-design interview that asks you to build a community link-sharing site: users post URLs with titles, others upvote and comment, and a ranked front page surfaces the best stories. The hard part is the ranking formula and serving the front page under burst traffic from popular posts.
Asked at: Y Combinator (Hacker News), Reddit, Stack Overflow, Pinterest, Twitter/X
Design Instagram
Design Instagram is a system-design interview that asks you to build a photo-and-video sharing platform: 2B+ users post media, follow each other, and scroll a personalized feed. The hard part is media storage, feed generation, and ranking at scale.
Asked at: Meta, Snapchat, Pinterest, Twitter/X, ByteDance
Design a Real-Time Leaderboard
Design a Real-Time Leaderboard is a system-design interview that asks you to build a ranked scoreboard for a game or social product: millions of players post scores, and any player can ask 'what's my rank?' or 'show me the top 100' with near-real-time freshness. The hard part is the rank-by-score query at scale — naive sorting is impossibly expensive — plus write-amplification on hot players and storage cost for the long tail of inactive accounts.
Asked at: Meta, Microsoft, Amazon, Roblox, Activision
Design LinkedIn
Design LinkedIn is a system-design interview that asks you to build a professional network with a feed, a connection graph reaching three degrees out, and recruiter-grade people search across hundreds of millions of profiles. The hard part is the connection graph at scale and ranking the feed under engagement signals.
Asked at: LinkedIn, Meta, Microsoft, Amazon, Google
Design Lyft
Design Lyft is a system-design interview that asks you to build a ride-hailing platform with a focus on driver-matching quality: matching the right driver to the right rider, not just the nearest one, accounting for driver preferences, rider preferences, supply-demand balance, and predicted trip economics. The hard part is the matching algorithm under economic constraints.
Asked at: Lyft, Uber, DoorDash, Instacart, Meta
Design a Real-Time Multiplayer Game Server
Design a Real-Time Multiplayer Game Server is a system-design interview that asks you to build the server-side state authority for a fast-paced multiplayer game: 10-100 players in a match, 30-60 server ticks per second, sub-100ms input-to-response, and a guarantee that nobody can cheat by lying about their state. The hard part is reconciling network latency with responsiveness — players need to feel that their inputs register instantly, but the server must remain the single source of truth.
Asked at: Microsoft, Amazon, Roblox, Activision, Epic Games
Design Netflix
Design Netflix is a system-design interview that asks you to build a global video-on-demand service: 250M+ subscribers stream 4K video, the catalog is searchable and personalized, and playback must start in under 2 seconds anywhere on Earth. The hard part is content delivery at petabyte scale.
Asked at: Netflix, Amazon, Google, Meta, Disney
Design a News Feed Ranking System
Design a News Feed Ranking System is a system-design interview that asks you to build the personalized ranking and serving layer behind a social feed: hundreds of millions of users open the app, and within 500ms they see a ranked list of 50 stories tailored to them by an ML model. The hard part is candidate generation at scale (which 500 items to rank from a pool of millions), the feature store that hydrates user + item features for the ranker, and cache warmup so the cold-start request doesn't blow the latency budget.
Asked at: Meta, ByteDance, Snapchat, Pinterest, LinkedIn
Design Notion
Design Notion is a system-design interview that asks you to build a flexible document workspace: users create pages composed of blocks (text, images, embeds, databases), collaborate in real time, and link pages into nested trees. The hard part is the block-level data model plus real-time multi-user editing.
Asked at: Notion, Atlassian, Meta, Google
Design an Online Judge
Design an Online Judge is a system-design interview that asks you to build a LeetCode-style platform: users submit code, the system compiles and runs it against test cases inside a sandbox, and returns a verdict (accepted, wrong-answer, time-limit-exceeded, runtime-error) within seconds. The hard part is the sandboxing — running untrusted code safely without letting it escape or starve the host — plus queue back-pressure during contest spikes.
Asked at: Amazon, Google, Microsoft, Meta, Bloomberg
Design Online Marketplace
Design Online Marketplace is a system-design interview that asks you to build a multi-seller commerce platform (eBay or Etsy abstraction): millions of sellers list items, buyers search and bid or buy, and the platform handles payments, inventory, and fulfillment. The hard part is the search-and-discovery engine over a heterogeneous long-tail catalog.
Asked at: eBay, Etsy, Amazon, Meta (Marketplace), Mercari
Design an Online Payments System
Design an online payments system asks you to build the backend that merchants integrate to accept card payments: tokenize cards, authorize charges, capture funds, handle webhooks, settle to merchant bank accounts, and reconcile every cent. The hard part is exactly-once semantics with money on the line.
Asked at: PayPal, Block, Adyen, Plaid, Meta
Design Pastebin
Design Pastebin is a system-design interview that asks you to build a text-snippet sharing service: users paste text (code, logs, configs), get a short URL, and anyone with the URL can view the paste. Optional features include syntax highlighting, expiration, and private pastes. The hard part is storage cost at scale plus serving read-heavy traffic on the long tail.
Asked at: Amazon, Google, Microsoft, Meta, Apple
Design a Payment Gateway
Design a payment gateway asks you to build the routing layer that sits between a merchant's checkout and the card networks: tokenize cards, route authorization requests through the right acquiring bank, handle 3D Secure step-up, and settle funds back to the merchant. The hard part is multi-network routing with deterministic retries and a tokenization vault that satisfies PCI scope.
Asked at: PayPal, Block, Adyen, Visa, Mastercard
Design Pinterest
Design Pinterest is a system-design interview that asks you to build a visual discovery board: users save pins to boards, follow other users and topics, and browse an algorithmic feed of recommended images. The hard part is visual-similarity recommendation and the home-feed ranking under image-heavy storage.
Asked at: Pinterest, Meta, Snapchat, Etsy, Amazon
Design a Push Notification Service
Design a Push Notification Service is a system-design interview that asks you to build a multi-platform fanout system: applications submit a notification (with target users or a topic) and your service delivers it to every recipient's iOS, Android, and web client within seconds. The hard part is device-token lifecycle (tokens expire, devices change owners, users uninstall), topic fanout at scale (a celebrity announcement targets 10M devices), and the at-least-once vs. best-effort delivery decision per notification class.
Asked at: Meta, Amazon, Google, Microsoft, Uber
Design Quora
Design Quora is a system-design interview that asks you to build a question-and-answer platform: users post questions, others write long-form answers, the community votes, and an algorithmic feed surfaces interesting questions. The hard part is ranking high-quality answers under sparse and noisy signals.
Asked at: Quora, Meta, Stack Overflow, Reddit, Pinterest
Design Rate Limiter
Design Rate Limiter is a system-design interview that asks you to build a distributed component that allows or denies incoming requests based on per-key rate limits: a user, an API key, or an IP address is allowed N requests per window across a fleet of servers. The hard part is enforcing the limit globally without serializing every request through a central store.
Asked at: Google, Amazon, Meta, LinkedIn, Microsoft
Design a Real-Time Gaming Matchmaker
Design a Real-Time Gaming Matchmaker is a system-design interview that asks you to pair skill-rated online players into balanced matches: a player clicks 'find game', and within 10-30 seconds they're in a lobby with 9 other players of similar skill, on a server in their region, with acceptable network latency. The hard part is the queue dynamics — too strict on skill matching and queues stall; too loose and matches are one-sided — plus the rating computation that has to be incremental and tamper-resistant.
Asked at: Microsoft, Amazon, Roblox, Activision, Riot Games
Design a Recommendation System
Design a Recommendation System is a system-design interview that asks you to build the engine behind a personalized feed — products on a marketplace, videos on a streaming service, posts on a social platform. The hard part is the two-stage architecture: candidate generation across billions of items, then ranking the top thousand with a heavier model, all under ~100ms p99 per user request.
Asked at: Meta, Google, Amazon, TikTok, Netflix
Design Reddit
Design Reddit is a system-design interview that asks you to build a community-driven aggregator: users post links and text into subreddits, others vote and reply in deeply nested comment threads, and ranking surfaces the best content per subreddit and globally. The hard part is the comment tree and the ranking pipeline.
Asked at: Reddit, Meta, LinkedIn, Pinterest
Design Search Autocomplete
Design Search Autocomplete is a system-design interview that asks you to build the suggestion engine behind a search box: as the user types each character, return the top 10 most likely query completions in under 100ms. The hard part is the prefix data structure and updating it from a stream of new queries.
Asked at: Google, Amazon, Meta, Microsoft, LinkedIn
Design Service Mesh
Design Service Mesh is a system-design interview that asks you to build the infrastructure layer that handles east-west traffic between microservices: mTLS encryption between every service-to-service hop, dynamic routing rules, retries, circuit breaking, and observability — all without requiring application code changes. The hard part is the data-plane vs control-plane separation, certificate rotation at scale, and keeping sidecar overhead low.
Asked at: Google, Meta, Lyft, Uber, Netflix
Design Slack
Design Slack is a system-design interview that asks you to build team chat for the workplace: persistent channels organized by workspace, threaded replies, presence, search across years of history, and integrations. The hard part is multi-tenant isolation plus search at message-trillions scale.
Asked at: Slack, Salesforce, Meta, Microsoft, Atlassian
Design Spotify
Design Spotify is a system-design interview that asks you to build a music streaming platform: hundreds of millions of users browse a catalog of ~100M tracks, stream audio with sub-second start time, and get personalized recommendations. The hard part is low-latency audio delivery plus a recommendation pipeline at catalog scale.
Asked at: Spotify, Apple, Amazon, Meta
Design Stack Overflow
Design Stack Overflow is a system-design interview that asks you to build a Q&A platform: users post technical questions, others answer, the community votes on both, and a reputation system rewards quality contributors. The hard part is ranking, search, and the reputation engine — all read-heavy at hundreds of millions of pageviews.
Asked at: Stack Overflow, Meta, Google, GitHub, Atlassian
Design a Stock Exchange
Design a stock exchange asks you to build the matching engine + order book + market-data distribution at the heart of an electronic trading venue. Buyers submit bids, sellers submit asks, the engine matches them under strict price-time priority, and confirmations + market data flow back out — all in single-digit microseconds. The hard part is deterministic matching at extreme low latency with perfect order replay.
Asked at: Citadel, Jane Street, Two Sigma, Bloomberg, Nasdaq
Design a Telemetry Pipeline
Design a Telemetry Pipeline is a system-design interview that asks you to build the ingestion, processing, storage, and query layer for observability data — logs, metrics, traces from a fleet of thousands of services. The hard part is cardinality control (metric series explode under naive tagging), retention tiering (recent data is hot, week-old data is warm, year-old data is cold), and balancing ingest throughput against query latency on the same store.
Asked at: Amazon, Google, Microsoft, Meta, Netflix
Design Tinder
Design Tinder is a system-design interview that asks you to build a location-based dating app: users swipe through profiles, mutual likes become matches, matched users chat. The hard part is the swipe-deck recommendation engine and geospatial filtering at low latency.
Asked at: Meta, Bumble, Match Group, Snapchat, Uber
Design TinyURL
Design TinyURL is a system-design interview that asks you to build a URL shortener: users submit a long URL and get a 6-7 character short code; anyone visiting the short URL is redirected to the original. The hard part is generating unique short codes at write scale and serving redirects at read scale.
Asked at: Amazon, Google, Microsoft, Meta, Twitter/X
Design Twitter
Design Twitter is a classic system design interview that asks you to build a high-fanout social feed: 500M+ daily users post short messages, each follower's timeline updates near-instantly, and reads outweigh writes by roughly 100:1. The hard part is the timeline.
Asked at: Meta, Twitter/X, Snapchat, LinkedIn, Pinterest
Design Typeahead Suggestion
Design Typeahead Suggestion is a system-design interview that asks you to build a personalized prefix-completion engine: as a user types, the system returns the top suggestions ranked not just by global popularity but tailored to the user's history, friend network, and context. The hard part is balancing personalization quality against the sub-100ms latency budget.
Asked at: Meta, Amazon, LinkedIn, Pinterest, Spotify
Design Uber
Design Uber is a system-design interview that asks you to build real-time ride-hailing: riders and drivers continuously stream GPS, the system matches them within seconds, and pricing surges with demand. The hard part is geospatial nearest-neighbor search at millions of moving points.
Asked at: Uber, Lyft, DoorDash, Meta, Amazon
Design Web Crawler
Design Web Crawler is a system-design interview that asks you to build a distributed crawler that discovers and downloads pages from the public web: tens of billions of URLs known, billions of pages fetched per day, deduplication of content, politeness toward target hosts, and prioritization of crawling effort. The hard part is the URL frontier and politeness at scale.
Asked at: Google, Microsoft (Bing), Amazon, Meta, Apple
Design WhatsApp
Design WhatsApp is a system-design interview that asks you to build end-to-end encrypted real-time messaging for billions of users: 1-to-1 chats, group chats up to ~1024 members, delivery within hundreds of milliseconds, offline message queueing, and last-seen presence. The hard part is connection management and message ordering.
Asked at: Meta, Google, Snapchat, Uber
Design Yelp
Design Yelp is a system-design interview that asks you to build a location-aware business directory: users search 'best ramen near me', read reviews and photos, write their own reviews, and rate businesses. The hard part is geospatial search combined with a heavy review-read workload.
Asked at: Yelp, DoorDash, Uber, Google, Meta
Design YouTube
Design YouTube is a system-design interview that asks you to build a video-sharing platform: anyone uploads, anyone watches, and the recommendation feed surfaces relevant content from a 500-hour-per-minute upload firehose. The hard part is upload ingest, multi-bitrate encoding at scale, and recommendations.
Asked at: Google, Meta, Amazon, Netflix, TikTok
Design Zoom
Design Zoom is a system-design interview that asks you to build a video-conferencing platform: hundreds of millions of users join real-time meetings, audio and video streams flow between participants with sub-300ms latency, and the system scales to meetings of thousands. The hard part is the media routing topology and the bandwidth math.
Asked at: Zoom, Microsoft, Google, Meta, Cisco