Learning path

Practice

Full walkthroughs ordered by difficulty — warm up on primitives, then media, social, marketplace, and hot-path systems.

  1. Design a URL shortener Junior-friendly Bit.ly walkthrough: requirements, entities, API, create + redirect flows, 301 vs 302, unique short codes (hash vs counter vs batching), caching, read/write split, and what interviewers expect at each level.
  2. Design a rate limiter Token bucket vs sliding window, distributed enforcement, and where to place limits — worked through Tatkal-style booking quotas end to end.
  3. Design a Distributed Cache Single-node hash map to LRU + TTL, then distribute: replication for HA, consistent hashing for shards, napkin math for 1TB / 100k RPS, and hot-key read/write mitigations — with interview bars by level.
  4. Design Dropbox Junior-friendly Dropbox walkthrough: requirements, entities, APIs, presigned S3 upload/download, CDN, sharing, hybrid sync, multipart large files, CDC + compression, security, and what interviewers expect by level.
  5. Design YouTube Upload and stream videos at YouTube scale: presigned S3 multipart, segment + multi-format processing DAG, adaptive bitrate streaming, resumable uploads, CDN and metadata cache — plus mid/senior/staff interview bars.
  6. Design Instagram Junior-friendly Instagram walkthrough: create posts, follow, chronological feed — fan-out on read → write → hybrid celebrity, presigned multipart upload, CDN + media variants, and interview bars by level.
  7. Design a news feed Fan-out on write vs read, celebrity users, and hybrid timelines — with the arithmetic that turns a 50-million-follower post into the whole design problem.
  8. Design WhatsApp Messaging walkthrough: WebSocket commands, group chats (cap 100), durable inbox for offline delivery, presigned media, Redis pub/sub across chat servers, multi-device clients, heartbeats, and last-seen — with interview bars by level.
  9. Design Strava Fitness-tracking walkthrough: start/pause/save runs and rides, GPS routes, offline-first client recording, friends activity feed, optional live follow via polling, Redis leaderboards — with interview bars by level.
  10. Design Tinder Junior-friendly Tinder walkthrough: swipe stacks with geo filters, atomic match detection (lost-match race → Redis Lua / same-partition Cassandra), cached+ES feeds, bloom filters to avoid re-shows, and interview bars by level.
  11. Design Yelp Junior-friendly Yelp walkthrough: search/view/review requirements, Business Service vs Review Service, average rating with optimistic locking, UNIQUE one-review constraint, geo + full-text + category indexes (ES vs PostGIS), neighborhood polygons, and interview bars by level.
  12. Design Gopuff Junior-friendly Gopuff walkthrough: Item vs Inventory, nearby DCs for 1-hour delivery, availability union, ACID orders without double-booking, travel-time pruning, Redis cache + replicas for ~20k QPS, and interview bars by level.
  13. Design Ticketmaster Junior-friendly Ticketmaster walkthrough: view/search/book events, no double-booking with Redis seat holds, event cache, virtual waiting room, Elasticsearch + CDC, and interview bars by level.
  14. Design an Online Auction List and bid on auctions with strong consistency on the max bid, durable Kafka ingest, SSE realtime updates, and scale to 10M concurrent auctions — OCC, contention, and interview bars by level.
  15. Design LeetCode Coding-platform walkthrough: list/view problems, sandboxed multi-language execution, competition leaderboards with Redis ZSETs, queues for 100k contestants, and language-agnostic test harnesses — with interview bars by level.

Lattice