π Interview Prep
System Design
Scaling, caching, databases, queues and the classic "design X" questions, each with a diagram you can step through.
π Learn it from scratch
Visual, hands-on lessons for every pattern in this topic. Do the lesson, then come back and the questions click.
100 questions, most asked first
Ordered so the most useful questions for learning each pattern come first.
All patternsDesign interviewScaling basicsCachingLoad balancingDatabases at scaleConsistent hashingCAP & consistencyQueues & asyncRate limitingCDNs & storageReal-timeReliability
#1πDesign a URL shortener (like bit.ly)Design interviewMediumFree#2πHow do you scale a web app from 1 to 1 million users?Scaling basicsMediumFree#3πCaching strategiesCachingMediumFree#4πLoad balancersLoad balancingMediumFree#5πScaling the databaseDatabases at scaleHardFree#6πConsistent hashingConsistent hashingHardFree#7πThe CAP theoremCAP & consistencyMediumFree#8πMessage queues and background jobsQueues & asyncMediumFree#9πDesign a rate limiterRate limitingMediumFree#10πServing images and video at scaleCDNs & storageMediumFreeπUnlock 90 more System Design questions Β· all 1,200 questions for $39/year (about 11Β’ a day)See full access#11πDesign a chat app (like WhatsApp)Real-timeHardπ#12πDesign a news feed (like Twitter or Instagram)Design interviewHardπ#13πDesign a notification systemQueues & asyncMediumπ#14πDesign search autocomplete (backend)Design interviewHardπ#15πDesign a web crawlerDesign interviewHardπ#16πDesign a distributed cache (like Redis Cluster)CachingHardπ#17πDesign a photo-sharing app (like Instagram)Design interviewHardπ#18πDesign a video platform (like YouTube)CDNs & storageHardπ#19πDesign a ride-sharing app (like Uber)Real-timeHardπ#20πDesign a ticket booking system (like Ticketmaster)CAP & consistencyHardπ#21πDesign a unique ID generatorDesign interviewMediumπ#22πDesign a distributed key-value storeCAP & consistencyHardπ#23πDesign a payment systemDesign interviewHardπ#24πDesign a real-time leaderboardCachingMediumπ#25πDesign file sync (like Google Drive or Dropbox)CDNs & storageHardπ#26πDesign a metrics and alerting systemReliabilityHardπ#27πWhat does an API gateway do?Load balancingMediumπ#28πDesign an online code judge (like LeetCode)Queues & asyncHardπ#29πDesign a pastebinDesign interviewEasyπ#30πAdd full-text search to a websiteDatabases at scaleMediumπ#31πMonolith vs microservicesScaling basicsMediumπ#32πBack-of-the-envelope estimationDesign interviewMediumπ#33πLatency numbers every engineer should knowScaling basicsMediumπ#34πAvailability, SLAs and the "nines"ReliabilityMediumπ#35πCircuit breakers, timeouts and retriesReliabilityMediumπ#36πDistributed transactions and the saga patternQueues & asyncHardπ#37πEvent-driven architecture and pub/subQueues & asyncMediumπ#38πSharding strategiesDatabases at scaleHardπ#39πBloom filtersCachingHardπ#40πLeader election and consensus (Raft)CAP & consistencyHardπ#41πBlue-green, canary and rolling deploymentsReliabilityMediumπ#42πLogs, metrics and traces (observability)ReliabilityMediumπ#43πBackups and disaster recovery (RPO and RTO)ReliabilityMediumπ#44πGoing multi-regionCAP & consistencyHardπ#45πBackpressure and load sheddingReliabilityHardπ#46πScaling WebSockets to millions of connectionsReal-timeHardπ#47πThe transactional outbox patternQueues & asyncHardπ#48πCQRS and event sourcingDatabases at scaleHardπ#49πHot keys and the thundering herdCachingHardπ#50πEdge computing and serverlessCDNs & storageMediumπ#51πDesign a collaborative editor (like Google Docs)Real-timeHardπ#52πDesign "restaurants near me" (like Yelp)Databases at scaleMediumπ#53πDesign a distributed job scheduler (cron at scale)Queues & asyncHardπ#54πDesign reliable webhook deliveryQueues & asyncMediumπ#55πDesign an ad-click counter at massive scaleQueues & asyncHardπ#56πDesign an e-commerce cart and checkoutCAP & consistencyHardπ#57πDesign live comments for a stream (like Twitch chat)Real-timeHardπ#58πDesign a recommendation systemDesign interviewHardπ#59πDesign centralized loggingReliabilityMediumπ#60πDesign an online learning platform (like this one)Design interviewMediumπ#61πForward proxy vs reverse proxyLoad balancingEasyπ#62πStateless vs stateful servicesScaling basicsMediumπ#63πSticky sessionsLoad balancingMediumπ#64πBlock vs file vs object storageCDNs & storageMediumπ#65πStrong, eventual and read-your-writes consistencyCAP & consistencyHardπ#66πB-tree vs LSM-tree storage enginesDatabases at scaleHardπ#67πAt-most-once, at-least-once, exactly-onceQueues & asyncHardπ#68πCache eviction policiesCachingMediumπ#69πSecurity in system design interviewsReliabilityMediumπ#70πData pipelines, warehouses and lakesDatabases at scaleMediumπ#71πDesign view and like countersCachingMediumπ#72πDesign price alerts (stocks or flights)Queues & asyncHardπ#73πDesign an email service (like Gmail)Databases at scaleHardπ#74πDesign a calendar with schedulingDesign interviewMediumπ#75πDesign a distributed message queue (like Kafka)Queues & asyncHardπ#76πDesign a feature flag systemReliabilityMediumπ#77πDesign a content moderation pipelineQueues & asyncMediumπ#78πDesign video calling (like Zoom)Real-timeHardπ#79πDesign maps and turn-by-turn routing (like Google Maps)Design interviewHardπ#80πDesign a live poll or voting systemCAP & consistencyMediumπ#81πHow to run a system design interviewDesign interviewMediumπ#82πNon-functional requirementsDesign interviewEasyπ#83πHow to choose a database for a designDatabases at scaleMediumπ#84πDistributed locksCAP & consistencyHardπ#85πTime, clocks and ordering eventsCAP & consistencyHardπ#86πService discoveryLoad balancingMediumπ#87πHeartbeats, failure detection and gossipReliabilityHardπ#88πCache invalidation strategiesCachingHardπ#89πAPI versioning and backward compatibilityDesign interviewMediumπ#90πGraceful degradationReliabilityMediumπ#91πDesign trending topics (top-K heavy hitters)Queues & asyncHardπ#92πHow does object storage (like S3) work?CDNs & storageHardπ#93πAutoscalingScaling basicsMediumπ#94πContainers and Kubernetes in system designScaling basicsMediumπ#95πDesign a banking ledgerCAP & consistencyHardπ#96πDesign a food delivery appReal-timeHardπ#97πDesign a hotel booking systemCAP & consistencyMediumπ#98πDesigning for privacy (GDPR) and data deletionReliabilityMediumπ#99πDesigning for costScaling basicsMediumπ#100πWalk me through the design of something you builtDesign interviewMediumπ