HLD + LLD System Design Notes#
High-level design (HLD), low-level design (LLD), and agentic-AI system design notes for engineering interviews from startup-through-FAANG. 300+ topics, every one with a diagram. The notes I wished I had when I was prepping, and now refer to as an interviewer too.
If you're searching for HLD LLD interview or system design hld and lld, you're in the right place: every page below is the working reference I keep open in real interviews and real design reviews.
Suggested learning path#
flowchart LR
N[Networking<br/>foundations]
L[LLD Concepts<br/>OOP, patterns, concurrency]
LP[LLD Problems<br/>parking lot, ATM, ...]
H[HLD Fundamentals<br/>sharding, consensus, caching]
C[Classics<br/>URL shortener, news feed, ...]
D[Domain HLDs<br/>Twitter, Uber, Stripe, ...]
A[AI & Agentic<br/>RAG, tools, MCP, evals]
AS[AI Systems<br/>coding agent, voice AI, ...]
N --> L --> LP --> H --> C --> D --> A --> AS
classDef foundation fill:#cffafe,stroke:#0e7490,stroke-width:1px,color:#0f172a;
classDef lld fill:#fef3c7,stroke:#92400e,stroke-width:1px,color:#0f172a;
classDef hld fill:#dbeafe,stroke:#1e40af,stroke-width:1px,color:#0f172a;
classDef ai fill:#d1fae5,stroke:#065f46,stroke-width:1px,color:#0f172a;
class N foundation;
class L,LP lld;
class H,C,D hld;
class A,AS ai;
Read top-to-bottom in each section: closely related topics sit next to each other so concepts build on the previous page.
What's inside#
| What | |
|---|---|
| Networking | TCP, UDP, HTTP/1.1-2-3, gRPC, TLS, WebRTC, MQTT, video streaming |
| LLD Concepts | OOP pillars, SOLID, design patterns, concurrency, async, DDD, clean architecture |
| LLD Problems | Parking lot, ATM, elevator, chess, thread pool, cab booking, AI agent classes |
| HLD Fundamentals | Sharding, replication, consensus, CAP/PACELC, caching, MVCC, sagas, observability, security |
| Classics | URL shortener, rate limiter, news feed, search autocomplete, key-value store, web crawler |
| Domain HLDs | Twitter, Instagram, YouTube, Netflix, Uber, Stripe, Airbnb, Google Docs, ~70 more |
| AI & Agentic | Agent loops, tool use, MCP, RAG patterns, chunking, reranking, evals, prompt-injection defense |
| AI Systems | Coding agent (Cursor-style), voice AI, LLM gateway, observability platform, multi-agent research |
How to read a topic page#
Every topic is a single page laid out top-to-bottom in the same order:
- Opener: 1-3 sentence intro + an overview mermaid diagram + a paragraph that frames the problem.
- Deep dive: 4-7 sections covering architecture, mechanics, tradeoffs, code, and gotchas, with 3-5 more diagrams.
- Quick reference: bullet cheat sheet (functional + non-functional requirements, capacity, API, data model, tradeoffs).
- Refs: papers, official docs, engineering blogs.
- Related Topics: 2-3 links to sibling pages so you can keep exploring.
- Further reading: external sources (where applicable).
The whole page is interview-quality depth, readable in a sitting. Skim the opener, scroll for detail.
Site features
Click any diagram for zoom + pan + fullscreen + copy mermaid source. Press ? for the keyboard-shortcuts cheat sheet.
Editorial principles#
- Diagrams first. Every mental model is a mermaid block before any prose.
- Original sources only. Refs link to canonical references: papers, RFCs, official docs, foundational books, engineering blogs of the companies whose systems are being modelled. Never Medium summaries.
- IC-focused. Enough depth to defend a design at a senior IC interview, not so much you can't read a page in a sitting.
- Reproducible. The site is generated from markdown + small Python hooks. Every page has an "Edit on GitHub" link.
About the author#
I'm Kshitij Singh: engineer, currently focused on distributed systems at scale. I've been on both sides of the system-design table at multiple companies; this site distils the patterns I keep reaching for, with citations to the original sources.
- GitHub: singhkshitij
- LinkedIn: singhkshitij
- Personal site: ikshitij.com
Contributing#
Found a bug, a broken link, or a missing topic? Open an issue or PR on GitHub. Contributor rules live in AUTHORING.md: colour palette, mermaid pitfalls, nav-order rules.
Acknowledgements#
This site stands on the shoulders of: Martin Kleppmann's Designing Data-Intensive Applications, the Google SRE Book and Workbook, the AWS Builders' Library, the engineering blogs of Stripe / Cloudflare / Netflix / Discord / Uber / LinkedIn, Alex Xu's System Design Interview Vol 1 & 2, ByteByteGo, Robert C. Martin's Clean Architecture, Eric Evans' Domain-Driven Design, and decades of papers (Dynamo, Spanner, GFS, Raft, CRDTs, Bloom, Sagas, vLLM, DPO, ...). Every concept page cites the specific source(s) it drew from.