Interview Prep
System Design Interview Questions
How to reason about scale, trade-offs and failure — the open-ended questions senior interviews lean on.
10 of 10 System Design questions shown. Answers are hidden by default — try each one before revealing it.
1.How would you design this system? Walk through the data model, the short-code scheme, and how you'd handle the read/write imbalance.
MediumDesign a URL shortener that takes a long URL and returns a short one which redirects to it. Creation happens steadily, but redirect traffic on existing short links is far heavier than creation traffic.
url-shortenercachingscalability
2.What algorithm would you use, where would the limiter live, and how would you make it correct across multiple API servers?
MediumDesign a rate limiter for an API that caps each client at a fixed number of requests per time window — for example, 100 requests per minute — and rejects requests over that limit. The API runs on multiple server instances behind a load balancer.
rate-limitingapiscalability
3.How would you design the pipeline from event to delivered notification, and how would you handle a channel that's slow or unavailable?
MediumDesign a notification system that delivers a message to a user through multiple channels — push notification, email, SMS — when an event happens elsewhere in the product, such as someone commenting on their post.
notificationsqueuesmessaging
4.How would you design the queue and worker pool, and how would you handle a job that fails partway through?
MediumDesign a background job queue that lets application code enqueue tasks — such as resizing an uploaded image or generating a report — to be processed asynchronously by a pool of workers.
job-queueasyncreliability
5.How would you model conversations and messages, and how would a new message reach an online recipient quickly?
HardDesign the data model and high-level architecture for a simple one-to-one and small-group chat feature, where users see message history and new messages arrive in near real time.
chatdata-modelingreal-time
6.How would you introduce caching to relieve the database, and how would you keep the cache from serving stale or wrong data?
MediumAn API serves product detail pages. Reads outnumber writes by a wide margin, and a relatively small set of popular products account for most of the traffic, but the underlying database is starting to struggle under read load.
cachingscalabilityread-heavy
7.How would you design the upload path and where you'd store the files, and how would you make large or flaky uploads reliable?
MediumDesign a service that lets users upload files — such as documents or images up to a few hundred megabytes — reliably, including over unreliable mobile connections.
file-uploadstoragereliability
8.How would you serve suggestions fast enough to feel instant, and how would you keep the suggestion data useful over time?
HardDesign an autocomplete feature for a search box: as a user types, the system suggests up to five likely completions, and suggestions need to appear with no perceptible lag.
searchautocompleteperformance
9.How would you store and update scores so both the top-100 view and an individual player's rank stay fast, even as scores change constantly?
HardDesign a leaderboard for a game that shows the top 100 players by score globally, and also lets any individual player look up their own current rank among potentially millions of players, with scores updating frequently.
leaderboarddata-structuresscalability
10.How do you decide between vertical and horizontal scaling, and what has to be true about a system for horizontal scaling to actually work?
MediumA service is starting to struggle under load. The option exists to scale up (move to a more powerful machine) or scale out (add more machines behind a load balancer).
scalingarchitecturefundamentals