システム設計面接キット
システム設計を段階的に練習:見積もり、レジリエンスのパターン、そして URL 短縮やレート制限からメッセージキュー、予約、LLM 配信までの 15 の参照設計。
学習
Back-of-Envelope Estimation and Capacity Model Template
フルReference latency and unit tables, assumptions register, QPS, storage, bandwidth, cache, server and cost formulas, worked example, sensitivity, traceability
Jeff Dean latency numbers (LADIS 2009)Resilience and Load Shedding Design Template (Retries, Circuit Breakers)
フルFailure model, deadlines, retries with jitter and budgets, circuit breakers, bulkheads, backpressure, criticality-based shedding, degradation, fault tests
Google SRE book ch. 21-22; Amazon Builders' LibrarySystem Design Document Template
フルSystem design at scale – requirements, capacity estimates (KaTeX), API, data model, HLD, deep dives, reliability, cost, trade-offs
参照設計
URL Shortener System Design Template (Reference Design)
フルCapacity (KaTeX), API, base62 key generation and collisions, 301 vs 302, caching, click analytics, abuse protection, custom aliases, expiry, multi-region
RFC 9110 (redirect status codes)Rate Limiter System Design Template (Reference Design)
フルDistributed rate limiter: token bucket vs window algorithms, atomic Redis scripts, multi-region shares, 429 headers, fail-open
Distributed Key-Value Store System Design Template (Dynamo-Style)
フルConsistent hashing, vnodes, quorums (R+W>N), vector clocks vs LWW, hinted handoff, Merkle anti-entropy, gossip, LSM compaction, cache eviction, hot keys
Dynamo (DeCandia et al., SOSP 2007)Distributed Message Queue System Design Template (Kafka-Style Log)
フルPartitions, log segments, retention, acks and idempotence, consumer groups, offsets, delivery semantics, ordering, ISR replication, backpressure, DLQ, schemas
Apache Kafka 4.3 documentation; Kafka paper (NetDB 2011)News Feed System Design Template (Reference Design)
フルSocial feed: hybrid fan-out on write and read, celebrity threshold, ranking pipeline, feed cache, snapshot pagination, media
Chat System Design Template (Reference Design)
フルReal-time 1:1 and group chat: WebSocket gateways, per-conversation ordering, fan-out, receipts, offline sync, push, E2EE
Notification Service System Design Template (Reference Design)
フルPush, email, SMS and in-app: templates, preferences and opt-out, priority queues, caps, provider failover, retries, dedup
Ticket and Hotel Booking System Design Template (Reference Design)
フルSeat and room inventory, holds with TTL, overbooking math, conditional writes, idempotency, payment saga, waiting room, search vs booking paths
Search Autocomplete System Design Template (Reference Design)
フルTypeahead: trie/FST/edge n-gram index, popularity and recency ranking, query-log pipeline, edge cache, latency budget, safety
Job Scheduler System Design Template (Reference Design)
フルDistributed scheduler: cron, delayed and one-off jobs, leases and visibility timeouts, fencing, idempotent handlers, retries, DLQ
Payment Ledger System Design Template (Reference Design)
フルPayments and double-entry ledger: idempotency keys, payment state machine, PSPs, outbox, reconciliation, audit, PCI DSS scope
Ride-Hailing Dispatch System Design Template (Reference Design)
フルRide matching: location ingestion, H3/geohash index, batched matching, ETA, trip state machine, single assignment, surge note
Video Streaming System Design Template (Reference Design)
フルVideo upload and ABR streaming: chunked transcoding, renditions ladder, CMAF HLS/DASH, CDN, DRM note, view counts, storage tiers
Collaborative Editing System Design Template (Reference Design)
フルReal-time co-editing: OT vs CRDT, sequence CRDT, state-vector sync, presence, offline merge, snapshots and compaction, access
LLM Inference Serving and Vector Search Platform Design Template
フルGateway, router, continuous batching, paged KV cache, GPU memory and throughput math, TTFT/TPOT SLOs, autoscaling, quantization, HNSW/IVF, cost per token
PagedAttention (Kwon et al., SOSP 2023)Distributed Unique ID Generator System Design Template
フルUUIDv4 and v7 per RFC 9562, Snowflake 41/10/12 layout, clock skew and backwards clocks, leased worker IDs, index locality, 53-bit JS limit, ticket servers
RFC 9562 (May 2024)Gaming Leaderboard System Design Template
フルIntroductory: sorted sets, time-encoded tie breaking within 53 bits, top N and my rank, sharded ranks, friends boards, seasonal resets, anti-cheat boundary
Distributed Cache System Design Template
フルDistributed cache: cache-aside, delete on write, leases against herds, commit-log invalidation across regions, slot maps, hot keys, gutter pool, warm-up
Photo Sharing System Design Template
フルResumable direct upload, media pipeline, display sizes, storage tiers, 64-bit time-sortable ids, sharded PostgreSQL, celebrity fan-out, CDN
Full-Text Search Engine System Design Template
フルInverted index, segments, real-time ingestion vs queries, document and time sharding, replicas, BM25 plus reranker, autocomplete boundary, relevance evaluation
Maps and Navigation System Design Template
フルVector tiles and CDN, region-sharded routing graph with customizable contraction hierarchies, live-traffic ETA, rerouting, geocoding, offline packs