System Design Space
Knowledge graphSettings

Updated: February 21, 2026 at 11:59 PM

System Design Interview: An Insider's Guide (short summary)

mid

Source

System Design Interview Review

Review of the book Alex Xu by Alexander Polomodov (Part 1 and Part 2)

Перейти на сайт

System Design Interview: An Insider's Guide

Authors: Alex Xu, Sahn Lam
Publisher: Independently Published
Length: 276 pages

A detailed analysis of the legendary book by Alex Xu: scaling, estimation, rate limiter, consistent hashing, key-value store.

System Design Interview: An Insider's Guide - original coverOriginal
System Design Interview: An Insider's Guide - translated editionTranslated

Book structure

Chapters 1-3
Basic knowledge

Scaling, load assessment, interview framework

Chapters 4-15
Practical problems

12 real cases on system design

Chapter 16
Additional materials

List of sources for in-depth study

1. Scale from Zero to Millions of Users

In this chapter, the author starts by hosting the system on a single server and gradually scales it to millions of users.

Key Chapter Topics

Basic Internet Operation — DNS, HTTP, IP
Databases — Relational vs NoSQL
Scaling — Vertical and horizontal
Load Balancer — How the balancer works
Database replication — Master-slave, Master-master
Caching — Cache levels and strategies
CDN — Static distribution
Architecture — Stateful vs Stateless
Data centers — Multi-DC for reliability
Message Queues — Asynchronous processing
Monitoring — Logs, metrics, alerts
Sharding — Horizontal database scaling

Author's resume

  • Keep web tier stateless
  • Build redundancy at every tier
  • Cache data as much as you can
  • Support multiple data centers
  • Host static assets in CDN
  • Scale your data tier by sharding
  • Split tiers into individual services
  • Monitor your system and use automation tools

2. Back-of-the-envelope Estimation

The chapter on rough load calculations is a critical skill for the System Design Interview.

Powers of two

Correspondence between powers of two (the world of computers) and powers of ten (the world of people). KB, MB, GB, TB and their connection with 2¹⁰, 2²⁰, 2³⁰, 2⁴⁰.

Latency Numbers

"Latency numbers every programmer should know" - Jeff Dean table from Google. Shows dramatic differences in operation timings.

Availability

Calculation of availability indicators: if SLA = 99.99%, then the acceptable downtime is 52.56 minutes per year.

Recommendation

For more current data on latency, it is recommended to look rule-of-thumb-latency-numbers from Google SRE.

3. A Framework for System Design Interviews

The chapter on the 4-step framework for passing the System Design Interview is the central methodology of the book.

1

Understand the Problem

3-10 min
Ask clarifying questions, determine the scope
2

High-level Design

10-15 min
Sketch the architecture, agree with the interviewer
3

Design Deep Dive

10-25 min
Dive deeper into 2-3 critical components
4

Wrap Up

3-5 min
Bottlenecks, scaling, error handling

4. Design a Rate Limiter

A system for limiting the number of requests is the first practical task of the book.

Rate Limiting Algorithms

Token Bucket

Tokens are added at a fixed rate, requests consume tokens

Leaking Bucket

Requests are processed at a constant speed, excess is discarded

Fixed Window Counter

Counter of requests in a fixed time window

Sliding Window Log

Log timestamps of queries with sliding window

Sliding Window Counter

Hybrid fixed window and sliding log

Review author's opinion

Rate limiter is more likely not a separate task, but a cube for other tasks. Although, with a deep analysis, this can be a non-trivial task - for example, you can read about YARL from Yandex.

5. Design Consistent Hashing

A mechanism for uniform distribution of data across servers with minimal redistribution when changes occur.

What is Consistent Hashing?

A special type of hashing in which changing the number of servers requires redistribution only n/m keys (where n is the number of keys, m is the number of slots), in contrast to conventional hashing, where almost all keys are redistributed.

Key Concepts

  • Hash Ring - the key space is loopedHash Ring — the key space is looped
  • Virtual Nodes - each physical server has several virtual points on the ringVirtual Nodes — each physical server has several virtual points on the ring
  • Used in Cassandra, DynamoDB, and other distributed systems

6. Design a Key-Value Store

Designing a distributed key-value storage with support for get/put operations.

System requirements

  • Key-value pair size < 10 KB
  • Ability to store big data
  • High availability
  • High scalability
  • Automatic scaling
  • Tunable consistency
  • Low latency

CAP Theorem

  • CP — the system does not service some requests, but maintains consistency
  • AP — the system weakens consistency for the sake of accessibility
  • Partition tolerance is required in distributed systems

Consistency Models

Strong Consistency

This is linearizability: each read sees the result of the last completed write, as if there was a single copy of the data.

Weak Consistency

Subsequent readers may not see the latest updates.

Eventual Consistency

Given enough time, all replicas will become consistent.

Additional Chapter Topics

  • Tunable Consistency — W + R > N for strong consistency
  • Vector Clocks — for causal consistency and conflict resolution
  • Failure Detection — heartbeats, pings, gossip protocol
  • Anti-entropy — mechanisms for dealing with data discrepancies
  • SSTable & LSM Trees — data storage structures

7. Design a Unique ID Generator

Designing a generator of unique identifiers for distributed systems.

Requirements

  • IDs must be unique
  • IDs are numerical values only
  • IDs fit into 64-bit
  • IDs are ordered by date
  • Ability to generate over 10,000 unique IDs per second

Multi-master Replication
Just

Each of the k servers generates an ID in steps of k:

  • Server 1: 1, k+1, 2k+1...
  • Server 2: 2, k+2, 2k+2...
⚠️ Not organized by time, difficult to scale

UUID
Popular

128-bit identifier, generated without coordination.

123e4567-e89b-12d3-a456-426655440000
⚠️ 128 bits (not 64), not numeric, not ordered

Ticket Server
Centrally

A single service generates consistent IDs for everyone.

⚠️ Single Point of Failure

Twitter Snowflake
Recommended

64-bit ID with structure:

  • 1 bit - sign
  • 41 bit — timestamp (ms)
  • 10 bit — machine ID
  • 12 bit — sequence number
✓ Ordered by time, compact, scalable

Summary of the first part of the book

The first seven chapters of the book form the foundation for the System Design Interview:

Strengths

  • ✓ Clear 4-step framework
  • ✓ Good introduction to scaling
  • ✓ Practical algorithms (Rate Limiter)
  • ✓ Useful building blocks

What to pay attention to

  • ⚠ Simplified description of models consistency
  • ⚠ Some tasks are more like “cubes”
  • ⚠ It is recommended to add "Database Internals"

Analysis

System Design Interview Review — Part 2

A detailed overview of practical problems from the second part of the book.

Read review

Part 2: Practice Problems (Chapters 8-16)

The second part of the book is devoted to real-life System Design Interview tasks - from URL Shortener to Google Drive.

8. Design a URL Shortener

A classic task for System Design Interview is a service for shortening links like bit.ly or tinyurl.

Requirements

  • 100 million URLs generated per day
  • Read:Write ratio = 10:1
  • Average URL length = 100 symbols
  • Store for 10 years

API

  • POST /api/shorten — creating a short link
  • GET /:shortUrl - redirect to long URL

Hashing Options

ApproachDescriptionPeculiarities
Base62[a-zA-Z0-9]62⁷ ≈ 3.5 trillion combinations
MD5/SHAHash + trimPossible collisions
Counter + Base62Incremental IDPredictability

Additional questions

  • Rate limiting on requests
  • Database sharding
  • Link Usage Analytics

9. Design a Web Crawler

A system for parsing pages on the Internet is the basis of search engines.

Requirements

  • 1 billion pages per month
  • Storage 5 years
  • Average page size - 500 KB
  • HTML only (extensible)

System components

Seed URLs — Start URLs to crawl
URL Frontier — Prioritized download URL queue
HTML Downloader — Loading pages
DNS Resolver — Getting IP from domains
Content Parser — Content parsing and validation
Content Seen — Checking for duplicates
URL Extractor — Extracting links from HTML
URL Filter — Filtering bad URLs

URL Frontier: Politeness & Priority

Prioritizer distributes URLs into queues with different priorities. Front Queue Selector ensures politeness - requests to one domain go sequentially through one worker, limiting the load on external sites.

10. Design a Notification System

System for sending millions of push notifications, SMS and emails per day.

10M
Push per day
1M
SMS per day
5M
Email per day

Architecture

  • Notification API — accepting tasks, authentication, rate limiting
  • Message Queues — separate queues for iOS, Android, SMS, Email
  • Workers — queue handlers for each channel
  • 3rd Party Services — APNs, FCM, Twilio, SendGrid
  • Analytics Service — delivery tracking and metrics

11. Design a News Feed System

A social media-like news feed is a classic task, discussed in detail in Martin Kleppmann's DDIA.

Requirements

  • 10M DAU
  • Up to 5000 friends
  • Posts with text, photos, videos
  • Sort by time

Fan-out strategies

  • Push — we write in the feeds of all subscribers
  • Pull — collect the feed when requested
  • Hybrid - combination for celebrities

Key Components

Post Service — storage of posts
Fanout Service — distribution of posts among friends’ feeds
News Feed DB — pre-aggregated user feeds
Feed API — receiving a tape with pagination

12. Design a Chat System

Messenger with peer-to-peer and group chats, online indicator.

Methods for obtaining data

Polling

Periodic server polling. Simple, but ineffective.

Long Polling

The request hangs until the data appears or timeout.

WebSocket ✓

Two-way channel. Recommended for chats.

Components

  • Connection API - HTTP for auth and receiving chat server
  • Chat API - WebSocket for messages and heartbeat
  • Message Queue → Keeper Worker, Push Notification Worker
  • Heartbeat Queue → Online Presence Worker → Presence DB

Stateful Chat Servers

Chat servers store active WebSocket connections - this makes them stateful. A mechanism is needed to route messages to the correct server.

13. Design Search Autocomplete

Hint system for auto-completion in the search bar.

Requirements

  • 10M DAU
  • 10 searches/user/day
  • Top 5 tips by frequency
  • English only

Key data structure

Trie (Prefix Tree)

Allows you to efficiently search by prefix and store the frequency of queries

Architecture

  • Search queries → Search QueueSearch Queue
  • Workers update Trie with frequencyTrie with frequency
  • Shard Manager determines the required shardShard Manager determines the required shard
  • Autocomplete API returns top 5 hintsAutocomplete API returns top 5 tips

14. Design YouTube

Video hosting with a focus on transcoding and CDN.

Key aspects

Video Transcoding Pipeline

Parallel video processing in different formats and resolutions

CDN Distribution

Distributing videos via a global CDN

DAG Processing

Task graph for parallel processing

Video Feed

Feed of recommendations and subscriptions

15. Design Google Drive

Cloud storage with file synchronization between devices.

Requirements

  • 10M DAU
  • 10 GB per user
  • Upload/Download files
  • Synchronization between devices
  • Sharing with other users

Key Components

Block Servers - split files into blocks for delta sync
Cloud Storage (S3-like) - storing blocks of files
Metadata DB — information about files, versions, sharing
Notification Service — notifications about changes
Sync Service - version and conflict management

16. The Learning Continues

In the final chapter, the author shares sources for further study.

Author's recommendations

Summary of the book by Alex Xu

"System Design Interview: An Insider's Guide" is a great starting point for preparing for the System Design Interview.

Strengths

  • ✓ Clear 4-step framework
  • ✓ 12 practice problems
  • ✓ Clear diagrams
  • ✓ Back-of-the-envelope estimation
  • ✓ Additional questions for each task

Recommendations

  • ⚠ Supplement DDIA for theory
  • ⚠ Learn Database Internals for the database
  • ⚠ Practice on a mock interview
  • ⚠ Read engineering blogs

Sources and additional materials

Where to find the book

Enable tracking in Settings

System Design Space

© 2026 Alexander Polomodov