An interactive atlas of system designs that teaches how to build, reason about, and interview on distributed systems. Material is organized into three parts: ten concept modules that build from foundations through caching, messaging, fan-out/feeds, APIs, reliability, specialized blocks and an interview playbook; fifteen worked system designs (Twitter/Instagram feed, chat, URL shortener, rate limiter, notifications, search, Uber-style tracking, video streaming, payments, Dropbox-like sync, etc.); and fifteen technology one-pagers (Postgres, Redis, Memcached, Cassandra, DynamoDB, Elasticsearch, Kafka, Flink, object storage, CDNs, WebSockets, gRPC, ZooKeeper, etc.). Each system gets an architecture diagram, trade-offs, and follow-up interview questions, plus a parallel coding track for algorithms.
The core claim is pragmatic: almost every design choice reduces to a small set of trade-offs (precompute vs compute-on-demand, one copy vs many, one machine vs many, correctness vs availability), and mastering those trade-offs is what interviews and real designs test. The content drills into specifics - consistency models, replication, sharding, cache failure modes, Kafka semantics, fan-out strategies, rate limiting algorithms, observability and safe migrations - so readers learn when to pick technologies and how to defend decisions with product requirements. Useful as a study guide for interview prep and as an engineer’s handbook for choosing architectures under constraints.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.