TechnologyPlanned

System Design & Distributed Systems

FAANG Senior Interview Prep — from fundamentals to classic design problems and advanced distributed systems theory

Started April 9, 2026
Target: October 1, 2026
Updated April 9, 2026
Overall Progress0%
Done
In progress
Not started
0/47 topics

Phase 1 — Foundations (Weeks 1-2)

Upcoming0/4
Fundamentals of System Design

How to approach SD interviews, framework, trade-offs

Networking Essentials

TCP/UDP, HTTP, DNS, CDN, WebSockets

APIs & Communication Patterns

REST, gRPC, GraphQL, webhooks, long polling, SSE

Data Storage Fundamentals

SQL vs NoSQL, ACID, BASE, data modeling

Phase 2 — Core Building Blocks (Weeks 3-5)

Upcoming0/5
Load Balancing & Reverse Proxies

L4/L7 LB, algorithms, health checks, HAProxy/Nginx

Caching

Cache strategies, eviction, Redis, Memcached, CDN caching

Databases Deep Dive

Indexing, sharding, replication, partitioning, query optimization

Message Queues & Event Streaming

Kafka, RabbitMQ, SQS, pub/sub, event-driven architecture

Consistent Hashing & Data Partitioning

Hash rings, virtual nodes, partition strategies

Phase 3 — Distributed Systems Theory (Weeks 6-8)

Upcoming0/5
CAP Theorem & Consistency Models

CAP, PACELC, strong/eventual/causal consistency

Distributed Consensus

Paxos, Raft, ZAB, leader election, split brain

Replication & Fault Tolerance

Single-leader, multi-leader, leaderless, quorum

Distributed Transactions

2PC, 3PC, Saga pattern, TCC, idempotency

Clocks & Ordering

Lamport clocks, vector clocks, HLC, causality

Phase 4 — Scalability Patterns (Weeks 9-11)

Upcoming0/5
Scaling Strategies

Vertical vs horizontal, stateless services, auto-scaling

Microservices Architecture

Service decomposition, API gateway, service mesh, sidecar

Rate Limiting & Throttling

Token bucket, leaky bucket, sliding window, distributed RL

Unique ID Generation

UUID, Snowflake, ULID, Twitter Snowflake, DB sequences

Bloom Filters & Probabilistic Data Structures

Bloom filter, Count-Min Sketch, HyperLogLog

Phase 5 — Storage & Data Systems (Weeks 12-14)

Upcoming0/4
Object Storage & File Systems

S3, HDFS, GFS, blob storage

Search Systems

Inverted index, Elasticsearch, full-text search, ranking

Time-Series & Analytics Databases

InfluxDB, TimescaleDB, ClickHouse, OLAP vs OLTP

Data Pipelines & ETL

Batch vs stream, MapReduce, Spark, Flink, data lake

Phase 6 — Reliability & Observability (Weeks 15-16)

Upcoming0/3
Reliability Engineering

SLA/SLO/SLI, failure modes, circuit breaker, bulkhead, retry

Monitoring, Logging & Tracing

Prometheus, Grafana, ELK, distributed tracing, alerting

Security in Distributed Systems

AuthN/AuthZ, OAuth2, JWT, mTLS, zero trust

Phase 7 — Classic FAANG Design Problems (Weeks 17-22)

Upcoming0/16
Design URL Shortener

TinyURL, hash generation, analytics

Design Rate Limiter

Distributed rate limiting, Redis-based

Design Key-Value Store

Dynamo-style, consistent hashing, conflict resolution

Design Notification System

Push, email, SMS, fanout, priority, templates

Design Chat System

WhatsApp/Messenger, presence, delivery receipts, E2E

Design News Feed

Facebook/Twitter feed, fanout-on-write vs read, ranking

Design YouTube or Netflix

Video upload, transcoding, streaming, CDN, recommendations

Design Google Search

Web crawler, indexing, PageRank, serving

Design Uber or Lyft

Geo-spatial, matching, ETA, surge pricing

Design Twitter

Tweets, timeline, trends, search

Design Dropbox or Google Drive

File sync, chunking, dedup, conflict resolution

Design Web Crawler

BFS crawling, URL frontier, politeness, dedup

Design Typeahead & Autocomplete

Trie, prefix search, ranking, real-time suggestions

Design Distributed Cache

Memcached/Redis cluster, consistent hashing, replication

Design Ticket Booking System

Concurrency, seat locking, payment, consistency

Design Payment System

Stripe-like, idempotency, reconciliation, ledger

Phase 8 — Advanced & Frontier Topics (Weeks 23-24)

Upcoming0/5
CRDT & Conflict-Free Replication

CRDTs, operational transforms, collaborative editing

Gossip Protocols & Membership

SWIM, gossip dissemination, failure detection

Geo-Distributed Systems

Multi-region, active-active, latency optimization

ML System Design Basics

Feature store, model serving, A/B testing infra

Interview Strategy & Frameworks

The 4-step framework, time management, communication

Notes & Resources

Resources

Books

  • "Designing Data-Intensive Applications" (DDIA) by Martin Kleppmann — THE bible
  • "System Design Interview" Vol 1 & 2 by Alex Xu — most interview-focused
  • "Understanding Distributed Systems" by Roberto Vitillo — practical intro
  • "Database Internals" by Alex Petrov — deep dive on storage engines
  • "Building Microservices" by Sam Newman — microservices patterns

Online

How to Use

  1. Read each topic — understand concepts deeply, don't just memorize
  2. Practice designs on paper/whiteboard — simulate interview conditions
  3. Time yourself — 35-40 min per design, leave 5 min for Q&A
  4. Teach it back — if you can't explain it simply, you don't understand it