AI InterviewSearch…Search problems, topics, or pages…Ctrl KGet started

CS notes · SD

System Design

Scaling, load balancing, caching, CDNs, replication and sharding, CAP, consistent hashing, queues, rate limiting and microservices — as animations.

22 notes · about 3 hours of reading · free, no sign-in needed

Read in this order

basics first

  1. 01Introduction to System DesignSystem design basics for interviews: a request's life, HLD vs LLD, functional vs non-functional requirements, back-of-the-envelope estimates and latency.Beginner · 7 minBeginner · 7 min
  2. 02ScalabilityScalability for system design interviews: vertical vs horizontal scaling, stateless servers, latency vs throughput and moving bottlenecks, each animated.Beginner · 7 minBeginner · 7 min
  3. 03Load BalancingLoad balancing for system design interviews: round robin, least connections, IP hash and health checks, each shown as a looping animation with key points.Beginner · 6 minBeginner · 6 min
  4. 04CachingCaching for system design interviews: cache-aside, LRU eviction, write-through vs write-back vs write-around, TTL and hit ratio, each shown as an animation.Beginner · 7 minBeginner · 7 min
  5. 05Content Delivery Networks (CDN)How a CDN works for system design interviews: edge servers, origin pull, TTL and revalidation, push vs pull and cache keys, with looping animations.Beginner · 6 minBeginner · 6 min
  6. 06Database ReplicationDatabase replication for system design interviews: leader-follower, synchronous vs asynchronous, replication lag, read-your-writes and failover, animated.Intermediate · 7 minIntermediate · 7 min
  7. 07Database ShardingDatabase sharding for system design interviews: range vs hash sharding, choosing a shard key, hot shards, resharding and scatter-gather queries, animated.Intermediate · 7 minIntermediate · 7 min
  8. 08CAP TheoremThe CAP theorem for system design interviews: CP vs AP during a network partition, eventual consistency, quorums (R + W > N) and PACELC, shown as animations.Intermediate · 7 minIntermediate · 7 min
  9. 09Consistent HashingConsistent hashing for system design interviews: the hash ring, adding and removing servers, keys moved versus mod N, and virtual nodes, shown as animations.Intermediate · 6 minIntermediate · 6 min
  10. 10Message QueuesMessage queues for system design interviews: buffering bursts, competing consumers vs pub/sub, acks, redelivery, idempotency and dead-letter queues, animated.Intermediate · 7 minIntermediate · 7 min
  11. 11Rate LimitingRate limiting for system design interviews: token bucket, leaky bucket, fixed and sliding windows, Redis counters and 429, shown as looping animations.Intermediate · 6 minIntermediate · 6 min
  12. 12Microservices and API GatewayMicroservices vs monolith, the API gateway, service discovery and circuit breakers for system design interviews, each shown as a looping animation.Intermediate · 7 minIntermediate · 7 min
  13. 13Design a URL ShortenerDesign a URL shortener like TinyURL, step by step: requirements, capacity estimate, base62 IDs, the write and read paths, caching and 301 vs 302 redirects.Intermediate · 8 minIntermediate · 8 min
  14. 14Back-of-the-Envelope EstimationEstimate QPS, peak load, storage and bandwidth in a system design interview: powers of two, latency numbers and a worked example, animated step by step.Beginner · 6 minBeginner · 6 min
  15. 15How to Answer a System Design InterviewA time-boxed framework for system design interviews: requirements, estimates, API, data model, high-level design, deep dives and wrap-up, animated.Beginner · 6 minBeginner · 6 min
  16. 16Design a Chat App (WhatsApp)Design a chat app like WhatsApp: WebSockets, presence, message ordering with sequence numbers, sent/delivered/read receipts and offline delivery, animated.Intermediate · 8 minIntermediate · 8 min
  17. 17Design a News FeedDesign a news feed like Twitter or Instagram: fan-out on write vs read, the hybrid for celebrity accounts, feed caches and cursor pagination, each animated.Intermediate · 7 minIntermediate · 7 min
  18. 18Design a Notification SystemDesign a notification system for push, SMS and email: queues per channel, retries with backoff, idempotency keys, user preferences, rate limits and templates.Intermediate · 7 minIntermediate · 7 min
  19. 19Design a File Storage Service (Dropbox)Design a file storage and sync service like Dropbox: chunking, content hashing and dedup, metadata vs blob storage, delta sync, notifications and conflicts.Intermediate · 8 minIntermediate · 8 min
  20. 20Design a Ride-Hailing App (Uber)Design a ride-hailing app like Uber: driver location updates, geohash and quadtree indexes for nearby drivers, dispatch and the trip state machine.Intermediate · 8 minIntermediate · 8 min
  21. 21Design a Web CrawlerDesign a web crawler step by step: the URL frontier, BFS over links, per-host politeness, robots.txt, URL and content dedup, and distributed fetchers.Intermediate · 8 minIntermediate · 8 min
  22. 22Design Search Autocomplete (Typeahead)Design a search autocomplete system: a trie with top-k suggestions per prefix, ranking by frequency, the offline rebuild pipeline, caching and sharding.Intermediate · 7 minIntermediate · 7 min
Start with Introduction to System Design

System Design Notes for Interviews, With Animations

System design notes for interviews: load balancing, caching, sharding, CAP theorem, consistent hashing, message queues and rate limiting, each shown animated.

  • Notes: 22
  • Reading time: about 3 hours
  • Cost: Free, no sign-in needed

Scaling, load balancing, caching, CDNs, replication and sharding, CAP, consistent hashing, queues, rate limiting and microservices — as animations.

Read in this order

  1. Introduction to System Design — System design basics for interviews: a request's life, HLD vs LLD, functional vs non-functional requirements, back-of-the-envelope estimates and latency.
  2. Scalability — Scalability for system design interviews: vertical vs horizontal scaling, stateless servers, latency vs throughput and moving bottlenecks, each animated.
  3. Load Balancing — Load balancing for system design interviews: round robin, least connections, IP hash and health checks, each shown as a looping animation with key points.
  4. Caching — Caching for system design interviews: cache-aside, LRU eviction, write-through vs write-back vs write-around, TTL and hit ratio, each shown as an animation.
  5. Content Delivery Networks (CDN) — How a CDN works for system design interviews: edge servers, origin pull, TTL and revalidation, push vs pull and cache keys, with looping animations.
  6. Database Replication — Database replication for system design interviews: leader-follower, synchronous vs asynchronous, replication lag, read-your-writes and failover, animated.
  7. Database Sharding — Database sharding for system design interviews: range vs hash sharding, choosing a shard key, hot shards, resharding and scatter-gather queries, animated.
  8. CAP Theorem — The CAP theorem for system design interviews: CP vs AP during a network partition, eventual consistency, quorums (R + W > N) and PACELC, shown as animations.
  9. Consistent Hashing — Consistent hashing for system design interviews: the hash ring, adding and removing servers, keys moved versus mod N, and virtual nodes, shown as animations.
  10. Message Queues — Message queues for system design interviews: buffering bursts, competing consumers vs pub/sub, acks, redelivery, idempotency and dead-letter queues, animated.
  11. Rate Limiting — Rate limiting for system design interviews: token bucket, leaky bucket, fixed and sliding windows, Redis counters and 429, shown as looping animations.
  12. Microservices and API Gateway — Microservices vs monolith, the API gateway, service discovery and circuit breakers for system design interviews, each shown as a looping animation.
  13. Design a URL Shortener — Design a URL shortener like TinyURL, step by step: requirements, capacity estimate, base62 IDs, the write and read paths, caching and 301 vs 302 redirects.
  14. Back-of-the-Envelope Estimation — Estimate QPS, peak load, storage and bandwidth in a system design interview: powers of two, latency numbers and a worked example, animated step by step.
  15. How to Answer a System Design Interview — A time-boxed framework for system design interviews: requirements, estimates, API, data model, high-level design, deep dives and wrap-up, animated.
  16. Design a Chat App (WhatsApp) — Design a chat app like WhatsApp: WebSockets, presence, message ordering with sequence numbers, sent/delivered/read receipts and offline delivery, animated.
  17. Design a News Feed — Design a news feed like Twitter or Instagram: fan-out on write vs read, the hybrid for celebrity accounts, feed caches and cursor pagination, each animated.
  18. Design a Notification System — Design a notification system for push, SMS and email: queues per channel, retries with backoff, idempotency keys, user preferences, rate limits and templates.
  19. Design a File Storage Service (Dropbox) — Design a file storage and sync service like Dropbox: chunking, content hashing and dedup, metadata vs blob storage, delta sync, notifications and conflicts.
  20. Design a Ride-Hailing App (Uber) — Design a ride-hailing app like Uber: driver location updates, geohash and quadtree indexes for nearby drivers, dispatch and the trip state machine.
  21. Design a Web Crawler — Design a web crawler step by step: the URL frontier, BFS over links, per-host politeness, robots.txt, URL and content dedup, and distributed fetchers.
  22. Design Search Autocomplete (Typeahead) — Design a search autocomplete system: a trie with top-k suggestions per prefix, ranking by frequency, the offline rebuild pipeline, caching and sharding.

Other subjects