← 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

Ordered so the most useful questions for learning each pattern come first.

#5Scaling the databaseDatabases at scaleHardFree#6Consistent hashingConsistent hashingHardFreeUnlock 46 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πŸ”’#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πŸ”’#22Design a distributed key-value storeCAP & consistencyHardπŸ”’#23Design a payment systemDesign interviewHardπŸ”’#25Design file sync (like Google Drive or Dropbox)CDNs & storageHardπŸ”’#26Design a metrics and alerting systemReliabilityHardπŸ”’#28Design an online code judge (like LeetCode)Queues & asyncHardπŸ”’#36Distributed transactions and the saga patternQueues & asyncHardπŸ”’#38Sharding strategiesDatabases at scaleHardπŸ”’#39Bloom filtersCachingHardπŸ”’#40Leader election and consensus (Raft)CAP & consistencyHardπŸ”’#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πŸ”’#51Design a collaborative editor (like Google Docs)Real-timeHardπŸ”’#53Design a distributed job scheduler (cron at scale)Queues & asyncHardπŸ”’#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πŸ”’#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πŸ”’#72Design price alerts (stocks or flights)Queues & asyncHardπŸ”’#73Design an email service (like Gmail)Databases at scaleHardπŸ”’#75Design a distributed message queue (like Kafka)Queues & asyncHardπŸ”’#78Design video calling (like Zoom)Real-timeHardπŸ”’#79Design maps and turn-by-turn routing (like Google Maps)Design interviewHardπŸ”’#84Distributed locksCAP & consistencyHardπŸ”’#85Time, clocks and ordering eventsCAP & consistencyHardπŸ”’#87Heartbeats, failure detection and gossipReliabilityHardπŸ”’#88Cache invalidation strategiesCachingHardπŸ”’#91Design trending topics (top-K heavy hitters)Queues & asyncHardπŸ”’#92How does object storage (like S3) work?CDNs & storageHardπŸ”’#95Design a banking ledgerCAP & consistencyHardπŸ”’#96Design a food delivery appReal-timeHardπŸ”’