Core building blocks of system design

Core concepts roadmap

The foundations learning path in one page — what to read, in what order, and the default choice for each topic. Skim here; open the linked articles for depth.

How to use this path

Core concepts are technology-agnostic building blocks — caching, sharding, consistency — that show up in nearly every design. You need the vocabulary and a default choice under time pressure; you reach for the full article when a follow-up goes deep.

Analogy diagram: director toolbox of networking, API, data, cache, scale.
Learn the grammar before you direct the film — same blocks, different tools.

Foundations roadmap

Follow this order in the sidebar. Each step answers one question before the next layer makes sense.

  1. Numbers to know — Latency, throughput, and scale triggers. Do the math before you shard or cache.
  2. Networking essentials — How services talk: HTTP/TCP default, when SSE/WebSockets/gRPC earn a box.
  3. API design — REST defaults, pagination, auth — sketch 4–5 endpoints and move on.
  4. Data modeling — Relational by default; NoSQL when access patterns drive partition keys.
  5. Database indexing — B-tree for exact/range; external search when the DB isn't enough.
  6. Proximity search — Why lat/lng B-trees fail; spatial trees vs geohash/S2/H3 for nearby queries.
  7. Scalability — Vertical vs horizontal, load balancers, read replicas, stateless app tier.
  8. Sharding — Split when one DB can't keep up; shard key is the whole design.
  9. Consistent hashing — Remap ~1/N keys when nodes join or leave, not ~100%.
  10. CAP theorem — During a partition: consistency vs availability.
  11. Consistency models — Strong vs eventual — pick per data type, not globally.
  12. Specialized data structures — Optional depth: Bloom filter, Count-Min Sketch, HyperLogLog, quantile buckets when exact structures won't fit.

Quick reference — defaults at a glance

TopicInterview defaultOpen the full article when…
NetworkingHTTP over TCPReal-time, internal RPC, or load-balancer layer choice
APIsREST, cursor pagination for feedsGraphQL, versioning, or idempotency deep dive
Data modelPostgres, normalized firstPartition keys, denormalization, or multi-tenant isolation
IndexingB-tree on query fieldsComposite/covering indexes, LSM, geospatial
CachingCache-aside + TTL (Redis)Stampede, invalidation strategy, CDN vs app cache
ShardingHash by user_id after math proves needHot spots, cross-shard queries, resharding
CAP / consistencyEventual unless money or inventoryLinearizability, quorum reads, hybrid per entity

After foundations — technologies

Concepts tell you why a layer exists. Technologies give you one name per layer you can defend under pressure.

  1. Key technologies — map the toolbox (database, cache, queue, blob, search).
  2. Pick depth in the order that matches most designs: databasescachingasync/eventsbatch/stream processingsearchedgeinfrastructure.
  3. Apply everything in Common patterns and Question breakdowns.

Cost and performance levers

How to use this roadmap

Suggested reading order (busy week)

Day 1–2: Numbers, networking, API design. Day 3–4: Indexing, scalability, caching. Day 5–6: CAP, consistency, sharding. Day 7: One practice question end-to-end. Skip specialized structures until after your first mock.

  • Transfer skill: every deep dive should end with "interview default in one sentence."
  • Spaced repetition: redo Numbers and CAP the morning of interviews.
  • Weak-area rule: if you can't explain it to a rubber duck in 2 minutes, open the deep dive.

Failure modes to mention

Call out at least one dependency failure (DB down, cache stampede, queue lag, region outage) and your mitigation (timeouts, retries with jitter, degraded mode, circuit breaker).

Interview Q&A by level

Practice saying these out loud for foundations roadmap. Interviewers grade clarity and judgment more than buzzwords.

Interview takeaway

Match depth to the bar: define → trade off → operate. Don't dump principal answers in an entry-level screen.

← Lattice