โ† All topics

๐Ÿ— Interview Prep

System Design

Scaling, caching, databases, queues and the classic "design X" questions, each with a diagram you can step through.

100 questions, most asked first

Ranked by how often each question comes up in real interviews. #1 is the most common.

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