low-level software system design

Design a database. Design a file system. Design a memory allocator. These questions show up in interviews all the time, and the material to answer them well is scattered across textbooks, RFCs, source code like xv6, and academic papers.

This site is the resource I couldn't find. Each post takes one software system — caches, storage engines, runtimes — starts from nothing, and builds the canonical design step by step. No hand-waving, no "left as an exercise." Just the real thing, explained clearly.


·
  • 01 LRU Cache from Scratchnew
  • 02 Hash Table from Scratch
  • 03 malloc from Scratch
  • 04 Virtual Memory from Scratch
  • 05 Buffer Pool from Scratch
  • 06 Write-Ahead Log from Scratch
  • 07 LSM Tree from Scratch
  • 08 B-Tree from Scratch
  • 09 Key-Value Store from Scratch
  • 10 Time-Series Database from Scratch
  • 11 Query Executor from Scratch
  • 12 Skip List from Scratch
  • 13 Bloom Filter from Scratch
  • 14 Consistent Hashing from Scratch
  • 15 Rope from Scratch
  • 16 File System from Scratch
  • 17 Process Scheduler from Scratch
  • 18 Container Runtime from Scratch
  • 19 Read-Write Lock from Scratch
  • 20 Lock-Free Queue from Scratch
  • 21 Thread Pool from Scratch
  • 22 Coroutine Runtime from Scratch
  • 23 TCP from Scratch
  • 24 HTTP Server from Scratch
  • 25 DNS Resolver from Scratch
  • 26 RPC Framework from Scratch
  • 27 Load Balancer from Scratch
  • 28 Raft from Scratch
  • 29 Message Queue from Scratch
  • 30 Rate Limiter from Scratch
  • 31 Order Book from Scratch
  • 32 Garbage Collector from Scratch
  • 33 Regex Engine from Scratch
  • 34 Bytecode VM from Scratch
  • 35 JIT Compiler from Scratch
  • 36 Build System from Scratch
  • 37 Serialisation Format from Scratch
  • 03 malloc from Scratch
  • 04 Virtual Memory from Scratch
  • 05 Buffer Pool from Scratch
  • 01 LRU Cache from Scratchnew
  • 02 Hash Table from Scratch
  • 06 Write-Ahead Log from Scratch
  • 08 B-Tree from Scratch
  • 07 LSM Tree from Scratch
  • 09 Key-Value Store from Scratch
  • 10 Time-Series Database from Scratch
  • 11 Query Executor from Scratch
  • 13 Bloom Filter from Scratch
  • 12 Skip List from Scratch
  • 14 Consistent Hashing from Scratch
  • 15 Rope from Scratch
  • 16 File System from Scratch
  • 17 Process Scheduler from Scratch
  • 18 Container Runtime from Scratch
  • 19 Read-Write Lock from Scratch
  • 21 Thread Pool from Scratch
  • 20 Lock-Free Queue from Scratch
  • 22 Coroutine Runtime from Scratch
  • 23 TCP from Scratch
  • 25 DNS Resolver from Scratch
  • 24 HTTP Server from Scratch
  • 26 RPC Framework from Scratch
  • 27 Load Balancer from Scratch
  • 28 Raft from Scratch
  • 29 Message Queue from Scratch
  • 30 Rate Limiter from Scratch
  • 31 Order Book from Scratch
  • 34 Bytecode VM from Scratch
  • 32 Garbage Collector from Scratch
  • 33 Regex Engine from Scratch
  • 35 JIT Compiler from Scratch
  • 36 Build System from Scratch
  • 37 Serialisation Format from Scratch