System Design MOC

Principal/Staff-level system design reference collection for MAANG interview preparation — observability pipelines, distributed systems, reliability engineering, and beyond.

System Design

A curated collection of Principal/Staff-level system design references, organized for MAANG interview preparation. Every design is grounded in lived production experience with Grafana Cloud, Alloy, Mimir, Loki, and Tempo at global scale.

Purpose

This directory holds deep-dive system design documents structured for L6/L7 interview practice. Each note covers one system end-to-end: requirements clarification, high-level architecture, component deep dives, self-observability of the system, and trade-offs at 10x scale.

The collection is not generic — every design explicitly brings observability in as a first-class structural concern, not an afterthought. That framing is the unfair advantage at MAANG: most candidates bolt monitoring on at the end; these designs wire SLOs, trace propagation, cardinality constraints, and alert routing into the architecture from the start.

The notes are accessible at /notes/system-design/ on the site but are excluded from the main notes index — they are an internal prep resource, not public reference material.

How to Use Each Note

Every document follows the same five-step interview format:

  1. Clarify requirements — scale envelope, signal types, consistency model, multi-tenancy needs. Spend the first 5 minutes here; the answers change the entire design.
  2. High-level design — components and data flow at the whiteboard level.
  3. Deep dive — storage layer, critical path, failure modes, protocol choices.
  4. Observability of the system itself — how you would monitor the thing you just designed. This is the differentiator.
  5. Trade-offs at 10x scale — what breaks first, what you would change, cost vs reliability tension.

Practice each section independently before running the full design end-to-end under time pressure.

Chapters are numbered per Part and restart at 1 in every Part — Part 15’s Chapter 1 is not the same as Part 02’s Chapter 1. Part 15 holds every full case-study design in this book, using the five-step format above — several of them (the Observability Platform cluster, the distributed-systems staples, the AIOps/cost/incident systems) predate the rest of this curriculum and are the reason this book started as an interview-prep collection in the first place. Parts 01–14 and 16 are concept/curriculum chapters — the graduate-level architecture theory a Principal/Staff candidate is expected to reason from — and link out to existing designs, patterns, and platform notes elsewhere in this wiki rather than duplicating them.

Parts

01 — Engineering Mindset

The foundational habits of mind the rest of this curriculum builds on — what actually changes at the L6/L7 bar, the systems-thinking lens, and the quantitative vocabulary (latency, throughput, queueing theory) used in every later Part.

02 — Distributed Systems Theory

The general distributed-systems theory that Part 15’s “Distributed Systems Practice” case studies (message queue, KV store, stream processor, rate limiter, consensus) put into practice — read this Part for the “why,” Part 15 for “build it end-to-end.”

03 — Storage Systems

Database internals underneath the design decisions in Part 02 and Part 15 — see dbms/ for the deeper reference book this Part draws on.

04 — Networking

The transport and API layer every design in this book sits on — see networks/ for fully-written OSI/protocol/gRPC/TLS reference material this Part links into rather than repeats.

05 — Messaging Systems

Message-passing and event-driven building blocks — several already have real applied practice elsewhere in this wiki, linked below.

06 — Caching

07 — Reliability Engineering

Reliability theory underneath the SLO/error-budget and resilience work Amit already ships in production — heavy link-out to real content below.

08 — Observability

Curriculum coverage for completeness — almost every concept here is already fully written in observability/; this Part is a thin pointer layer, not a duplicate.

09 — Cloud Architecture

10 — Security

11 — Scalability

12 — Architecture Patterns

13 — AI-era System Design

14 — Interview Frameworks

15 — Complete Case Studies

Full end-to-end designs using the five-step format above. The first three groups below predate the rest of this curriculum — they’re the original interview-prep collection this book grew out of; the rest are the case studies added to round out the L6/L7 curriculum’s coverage. Chapters are numbered 1–41 straight through this Part, regardless of which group they sit in below — the bold group labels are organizational, not chapters of their own.

16 — Principal Engineer Topics

The leadership and organizational layer above pure system design — what separates a Principal from a Staff-plus-strong-technical-skills engineer.

Common

Reusable engineering concepts — as opposed to prep/process material above — live inside observability/‘s book-chapter structure instead, shared with the pattern library too. For example, 3 — Push-Based vs Pull-Based Ingestion used to live nested under the telemetry ingestion pipeline design, then moved to a shared concepts/ shelf once it became clear the idea applies well beyond that one design; it now lives in observability/02-pipeline/ as part of the observability book, and this design links in rather than owning it.

Adding a New Design

  1. Create a new chapter directory under the relevant Part, numbered for its position within that Part — chapter numbers restart at 1 in every Part, they don’t continue the previous Part’s count: 0X-part-slug/NN-system-slug/.

  2. Add a content file named for the chapter (<system-slug>.md — never README.md, and not numbered itself — only the directory carries the NN- prefix) with the required frontmatter, prefixing title with Chapter <N> —:

    ---
    title: "Chapter <N> — <System Name>"
    description: "<One-line summary of the design focus and scale target>"
    tags: ["system-design", "<domain>", "maang-prep"]
    updated: <YYYY-MM-DD>
    hidden: false
    ---
    
  3. Structure the body using the five-step format above, and prefix the first ## heading the same way: ## Chapter <N> — <System Name>.

  4. Update this Part’s entry in the Parts section above, prefixing the link text with Chapter <N> — to match.

Metadata

DimensionDetail
AuthorAmit Singh
ScopeMAANG interview preparation — not production documentation
AccessInternal — individual design notes are hidden per-note; this root index is public
Landing pagesrc/pages/notes/system-design/index.astro/notes/system-design/

Local graph

Full graph →

Linked from 30 notes

Notes — Library Index

The front page of the notebook — every book-shaped domain, the applied Projects and flat Inbox folders, and how they cross-link into one wiki instead of duplicating content across each other.

Data Engineering

A book-shaped table of contents for data engineering: foundations and lifecycle, data modeling, storage systems, ingestion and CDC, distributed processing (Spark/Flink), SQL mastery, workflow orchestration, data quality, platform and cloud architecture, pipeline observability, security and governance, performance engineering, system design, and MAANG interview preparation through capstone builds — cross-linking the existing observability book instead of duplicating it.

Database Management Systems

A book-shaped table of contents for DBMS: relational foundations through SQL mastery, storage internals, transactions, distributed databases, NoSQL, and MAANG interview prep — cross-linking existing system-design/patterns notes instead of duplicating them.

Infrastructure Platform Engineering

A book-shaped table of contents for infrastructure platform engineering: from infrastructure operations to self-service platforms, IaC foundations, Terraform/OpenTofu, cloud platform design, networking, identity, compute, storage, golden images, automation, governance, observability, reliability, enterprise platforms, anti-patterns, and MAANG interview prep — cross-linking existing sre/networks/kubernetes/patterns/internal-developer-platforms notes instead of duplicating them.

Computer Networks

A book-shaped table of contents for computer networking, from first principles to production systems: Ethernet through IP, TCP/UDP/QUIC, DNS, the HTTP ecosystem, security, cloud/Kubernetes networking, performance engineering, observability/debugging, and distributed-systems networking — cross-linking existing kubernetes/sre/system-design/tech notes instead of duplicating them.

01 — Consensus Patterns

Raft, Paxos, Leader Election, and Quorum — how a distributed system agrees on a single value or leader despite node failures and network partitions.

03 — API Gateway Patterns

Gateway, Backend for Frontend, Aggregation, and Federation — where cross-cutting API concerns (auth, rate limiting, fan-out) belong relative to the services behind them.

02 — Caching Patterns

Cache-Aside, Read-Through, Write-Through, Write-Back, and Refresh-Ahead — the five ways an application and its cache can disagree about who owns writing to the source of truth.

Productivity for Knowledge Workers

A book-shaped table of contents for productivity as practiced by a knowledge worker: foundations, self-management, goal setting, time and deep work, personal knowledge management, learning, task systems, decision making, habits, digital productivity, engineering and career practice, health, review, and an advanced operating-system layer, plus reference appendices — cross-linking existing notes instead of duplicating them.

Chapter 1 — Observability Architecture

Metrics, logs, traces, and profiles as the four correlated signal types every observability platform is built around.

Chapter 2 — Telemetry Pipelines

OpenTelemetry, OTLP, collectors, sampling, and aggregation as the pipeline that gets a signal from emission to storage without becoming the outage itself.

Chapter 3 — Monitoring at Scale

Prometheus, Mimir, Cortex, and Thanos as the horizontally-scaled answer to a single Prometheus instance running out of room.