「システム設計面接、何から勉強すればいいかわからない」
この悩み、エンジニアなら一度は感じたことがあるはずだ。
System Design Primerは英語で古い。有料コースは$79〜$200する。日本語リソースはほぼ存在しない。
だから作った。18セクション・118記事・完全日本語・MIT License・完全無料のシステム設計パターン集を。
結論:これ1つで十分
このサイトは「Netflix、Uber、Stripe、Discordが実際に使っているパターン」を第一原理から解説するリファレンスだ。面接対策にも、実務の設計判断にも使える。
18セクション × 118記事
= FAANG面接で聞かれるほぼ全パターンを網羅
全18セクションの構成
基礎から実践へ、マトリョーシカ構造で学べる
マトリョーシカ人形のように、外側から順に開けていけば、自然と内部の複雑さが見えてくる構造にした。
Layer 1: 基礎理論(CAP定理、ACID、一貫性モデル)
↓
Layer 2: コアコンポーネント(DB、キャッシュ、メッセージング)
↓
Layer 3: スケーリングパターン(シャーディング、LB、サーキットブレーカー)
↓
Layer 4: 実世界ケーススタディ(10社の設計を解剖)
↓
Layer 5: 最先端(LLMシステム、Compound Engineering)
セクション一覧
| # | セクション | 記事数 | 何が学べるか |
|---|---|---|---|
| 1 | Foundations | 8 | ACID、CAP定理、一貫性モデル、分散時間 |
| 2 | Distributed Databases | 9 | レプリケーション、パーティショニング、合意アルゴリズム |
| 3 | Storage Engines | 7 | B-Tree、LSM Tree、WAL、Bloom Filter |
| 4 | Caching | 6 | キャッシュ戦略、Invalidation、Stampede対策 |
| 5 | Messaging | 8 | MQ、Pub/Sub、Event Sourcing、CQRS |
| 6 | Scaling | 8 | LB、シャーディング、Circuit Breaker、Rate Limiting |
| 7 | Real-Time | 6 | WebSocket、WebRTC、Polling、Presence |
| 8 | Case Studies | 10 | Twitter、Uber、Netflix、Stripe等の実設計 |
| 9 | Whitepapers | 10 | MapReduce、Dynamo、Spanner、Raft等 |
| 10 | Security | 6 | OAuth2、JWT、Zero Trust、暗号化 |
| 11 | Observability | 4 | 分散トレーシング、メトリクス、ログ |
| 12 | Service Mesh | 3 | Service Discovery、API Gateway |
| 13 | Data Pipelines | 3 | バッチ/ストリーム処理、Lambda/Kappa |
| 14 | Search Systems | 6 | 転置インデックス、ベクトル検索、ランキング |
| 15 | Deployment | 2 | デプロイ戦略、Feature Flag |
| 16 | LLM Systems | 8 | エージェント、RAG、オーケストレーション |
| 17 | GraphQL | 6 | スキーマ設計、Federation、サブスクリプション |
| 18 | Compound Engineering | 6 | AIネイティブ開発、コーディングエージェント |
ケーススタディ:10社の設計を解剖
ここが一番の見どころだ。実際の企業がどう設計しているかを解剖している。
Twitter(X)の設計
問題: 1人のツイートが1億人のフォロワーに届く
解決策:
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Write │───▶│ Fanout │───▶│Timeline │
│ Path │ │ Service │ │ Cache │
└──────────┘ └──────────┘ └──────────┘
│
┌────────┼────────┐
▼ ▼ ▼
User A User B User C
の TL の TL の TL
→ Fan-out on write で事前にタイムラインを構築
→ セレブアカウントは Fan-out on read にフォールバック
Uberの設計
問題: リアルタイムで数百万台の車両位置を追跡
解決策:
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Driver │───▶│Geospatial│───▶│ Matching │
│ App │ │ Index │ │ Engine │
└──────────┘ └──────────┘ └──────────┘
4秒ごと H3セル ETA計算
位置送信 ベース + 価格算出
Stripeの設計
問題: 1回の決済を「正確に1回」だけ処理する
解決策:
Idempotency Key + 2相コミット
POST /v1/charges
Headers:
Idempotency-Key: "order_12345_attempt_1"
→ 同じキーで再送しても二重課金なし
→ 分散トランザクションの教科書的実装
2026年のシステム設計面接で聞かれること
2026年、FAANG+日本のメガベンチャー(メルカリ、LINE、SmartNews等)で聞かれるテーマが変わってきている。
従来のテーマ(まだ出る)
- URLショートナー設計
- チャットシステム設計
- ニュースフィード設計
2026年の新テーマ
- LLMを活用したシステム設計(RAGパイプライン、エージェントオーケストレーション)
- リアルタイムML推論パイプライン
- AIエージェントの状態管理
- ベクトル検索システム
このサイトでは従来テーマも新テーマも両方カバーしている。特にセクション16「LLM Systems」と18「Compound Engineering」は他のリソースにはほぼない。
他のリソースとの比較
| リソース | 言語 | 料金 | 記事数 | LLM/AI対応 |
|---|---|---|---|---|
| System Design Primer | 英語 | 無料 | ~40 | なし |
| Grokking System Design | 英語 | $79 | ~30 | 一部 |
| ByteByteGo | 英語 | $15/月 | ~100 | 一部 |
| InterviewCat | 日本語 | 有料 | ~20 | なし |
| 本サイト | 日本語 | 無料 | 118 | フルカバー |
論文ベースで学べるWhitepapersセクション
面接で「この設計の元になった論文は?」と聞かれて答えられるエンジニアは強い。
10本の重要論文を解説している:
- MapReduce — Googleの分散処理の原点
- Dynamo — AmazonのEventual Consistencyの設計書
- Bigtable — Googleの大規模構造化データストレージ
- Spanner — Googleの地球規模分散DB(TrueTime)
- TAO — Facebookのソーシャルグラフキャッシュ
- Kafka — LinkedInの分散メッセージング
- Raft — 理解しやすい合意アルゴリズム
- Chubby — Googleの分散ロックサービス
- Aurora — AWSのクラウドネイティブDB
- CockroachDB — NewSQL分散DB
使い方:3つのユースケース
1. 面接対策(2〜4週間コース)
Week 1: Foundations + Storage Engines(基礎固め)
Week 2: Distributed DB + Caching + Messaging(コアパターン)
Week 3: Scaling + Case Studies 5社(応用)
Week 4: 残りのCase Studies + LLM Systems(差別化)
2. 実務のリファレンス
設計レビューで「この設計はどのパターンに近いか?」を即座に引ける。
「キャッシュの一貫性が気になる」→ セクション4 Cache Invalidation
「イベント駆動にしたい」→ セクション5 Event Sourcing / CQRS
「サーキットブレーカー入れるべき?」→ セクション6 Circuit Breakers
3. チーム内の共通言語として
新メンバーのオンボーディングに使える。「まずFoundationsセクション読んで」で基礎知識を揃えられる。
OSSとして公開している理由
- MIT License — フォーク、改変、商用利用すべてOK
- GitHub — PRで誰でも改善に参加できる
- 日英バイリンガル — 英語版もある
# ローカルで動かしたい場合
git clone https://github.com/babushkai/system-design-patterns.git
cd system-design-patterns
npm install
npm run dev
まとめ
- 118記事・18セクションのシステム設計パターン集を無料公開
- Netflix、Uber、Stripe等10社のケーススタディで実践的に学べる
- LLMシステム・Compound Engineering等の2026年最新テーマも網羅
- 完全日本語対応で、日本語のシステム設計リソース不足を解消
- MIT LicenseでOSS公開、誰でも貢献可能
面接対策でも、実務でも、チーム教育でも使える「システム設計の辞書」を目指して作った。
サイトはこちら → https://babushkai.github.io/system-design-patterns/ja/
参考リンク
System Design Patterns(本サイト)
GitHub リポジトリ
Engineering Interview Trends in 2026 - Karat
Ultimate System Design Interview Guide for 2026 - Medium
System Design Primer
この記事が役に立ったら、いいね・ストックをお願いします!
質問:あなたが面接で聞かれた一番難しいシステム設計の問題は何ですか?コメントで教えてください!