System Design
These notes are grouped from foundations and building blocks (networking, distributed systems, performance, storage) to end-to-end case studies. The Database section is for storage concepts and replication patterns, plus a full Key-Value Store walkthrough (SDI Vol. 1 ch. 6)—same book lineage as the case studies, but framed as storage architecture rather than a product surface.
Foundations
Section titled “Foundations”- System Requirements — Functional vs non-functional requirements
- Network Basics — HTTP, TCP/IP, DNS, and networking fundamentals
- Web Security — Authentication, authorization, and common vulnerabilities
- Interview Framework — Four-step flow for system design interviews
Distributed Systems
Section titled “Distributed Systems”- Consistent Hashing — Distributing data across nodes
- CAP Theorem — Consistency, Availability, Partition tolerance
- Load Balancer — Traffic distribution strategies
- Leader Election — Consensus in distributed systems
Performance & Scalability
Section titled “Performance & Scalability”- Scale from Zero to Millions — Step-by-step scaling guide
- Caching — Layers, eviction, invalidation, and read/write strategies
- MapReduce — Distributed data processing
- Bloom Filter — Probabilistic data structure
- Back of the Envelope — Quick capacity estimation
Database
Section titled “Database”- SQL vs NoSQL — Choosing the right database
- Database Replication — Single-leader, multi-leader, and leaderless patterns
- Key-Value Store — Distributed KV design, CAP, quorum, and read/write paths
Design problems and case studies
Section titled “Design problems and case studies”Study notes aligned with System Design Interview — An Insider’s Guide (Vol. 1). Figures for these chapters live under _resources/sdi-notes/. To refresh from upstream, use scripts/import-sdi-notes.py at the repository root (see the script docstring).
- Rate Limiter — Throttling algorithms and placement
- Unique ID Generator — IDs at scale in distributed systems
- URL Shortener — Short keys, redirects, and storage
- Web Crawler — Frontier, politeness, and scale
- Notification System — Multi-channel delivery
- News Feed System — Publishing, fan-out, retrieval
- Chat System — Messaging, presence, real-time transport
- Search Autocomplete — Trie, ranking, sharding
- YouTube — Upload, transcoding, streaming
- Google Drive — Sync, metadata, conflicts
- Proximity Service — Geospatial indexes and nearby search
- Nearby Friends — Location updates and fan-out
Upstream source notes: liquidslr/system-design-notes.
The repo root HLD/ folder is only a Vite alias target for local tooling (see HLD/README.md); published system design content lives under this docs tree.