Skip to content
BytePatterns

System Design Cases

Design a URL shortener, a chat app, a feed — the interview round, end to end.

System Design Cases progress0 / 20
  1. Design a URL ShortenerOne tiny key, a hundred million long links behind it.6m
  2. Design a Rate LimiterThe algorithm is easy; where the counter lives is the interview.6m
  3. Design a Chat AppFinding the socket is harder than sending the message.7m
  4. Design a News FeedPay at write time, at read time, or a little of both.7m
  5. Design a Notification SystemOne event, three channels, and never the same message twice.6m
  6. Design Search AutocompleteNot a search — a walk down a path somebody built last night.6m
  7. Design a File Storage ServiceUpload the paragraph that changed, not the ten gigabytes.7m
  8. Design Video StreamingTranscode once, cut into segments, and let the edge carry it.7m
  9. Design Ride MatchingThe write rate is the problem; the search is one cell lookup.7m
  10. Design a Payment LedgerNothing is ever edited — a correction is one more line.7m
  11. Design a Job SchedulerThe worker died mid-job. The ticket goes back on the rail.7m
  12. Design Geo Proximity SearchTwo numbers, one index: fold a map down into a sorted string.7m
  13. Design E-commerce InventoryOne unit left, two carts, and only one of them may hear yes.7m
  14. Design Ad Click AggregationThe same click arrives twice, late, and out of order.7m
  15. Design a Distributed CacheA ring of machines where losing one moves only its own arc.7m
  16. Design a Key-Value StoreThree copies, two acks, two reads — the sets have to overlap.7m
  17. Design a Web CrawlerA billion pages, one polite knock per host, nothing fetched twice.7m
  18. Design a LeaderboardKeep it sorted on the way in, and the top hundred is free.6m
  19. Design Hotel BookingFour nights or none — a partial stay is not a booking.7m
  20. Design a Collaborative EditorBoth typing in one paragraph, both landing on the same text.7m

Quiz yourself: 3 questions from this module

1 / 3

The redirect is a 302 rather than a 301 because: