Overview

Alex Xu (former Twitter, Apple, Zynga, Oracle; CMU) — Practical guide to system design interviews with a step-by-step framework and detailed worked examples for 15 common design problems.

Design Problems Covered

ChapterSystemKey Concepts
1Scale from zero to millionsSingle server → load balancing → CDN → database scaling
4Rate LimiterToken bucket, sliding window, distributed rate limiting
5Consistent HashingVirtual nodes, hash ring, partition rebalancing
6Key-Value StoreReplication, consistency, conflict resolution
7Unique ID GeneratorSnowflake ID, UUID, database auto-increment at scale
8URL ShortenerHash functions, base62 encoding, caching
9Web CrawlerBFS, URL frontier, politeness, distributed crawling
10Notification SystemPush/SMS/email, fan-out, message queues
11News FeedFan-out on write vs. read, ranking, caching
12Chat SystemWebSocket, message sync, presence
13Search AutocompleteTrie, top-k, distributed prefix search
14YouTubeVideo upload, transcoding, CDN, recommendation
15Google DriveFile sync, chunking, conflict resolution

Framework

  1. Understand the problem and establish design scope (3-10 min)
  2. Propose high-level design and get buy-in (10-15 min)
  3. Design deep dive (10-25 min)
  4. Wrap up (3-5 min)