LLDやオブジェクト指向設計の面接対策向けに、OOP、デザインパターン、UML、並行処理を学べる無料の厳選リソース集。
donnemartin/system-design-primer
大規模システム設計の学習やシステム設計面接の準備に役立つ、サンプル解答とAnkiのフラッシュカード付きの無料・オープンソース学習ガイドです。
- スター
- 374,932
- フォーク
- 58,922
- 未解決の Issue
- 628
- 最終コミット
- 先月
これは何?
System Design Primerは、大規模システムの設計方法を学ぶための体系的な資料集です。パフォーマンスとスケーラビリティ、レイテンシとスループット、可用性と一貫性といった基本的なトレードオフを解説し、DNS、CDN、ロードバランサー、リバースプロキシ、データベース(SQLとNoSQL)、キャッシュ戦略、非同期メッセージング、TCP、UDP、RPC、RESTなどの通信プロトコルといった構成要素を扱います。
面接対策も目的のひとつです。自由回答形式の設計問題に答えるための手順を段階的に解説し、URL短縮サービス、Twitter風のタイムライン、Webクローラー、ソーシャルグラフなど、よくあるお題の解答例を掲載しています。別のセクションでは、ノートブック形式の解答とともにオブジェクト指向設計の問題を扱います。
学習補助ツールとして、間隔反復学習に使えるAnkiデッキが用意されており、リポジトリは多数の言語に翻訳されています。内容はオープンソースコミュニティの貢献によって更新されています。
主な機能
- 01CAP、一貫性パターン、可用性の数値化など、基本的なトレードオフを解説
- 02ロードバランサー、キャッシュ、シャーディング、メッセージキューなどの構成要素を説明
- 03よくあるシステム設計面接の質問に対する解答例を掲載
- 04ノートブック形式の解答付きでオブジェクト指向設計の演習を収録
- 05間隔反復学習に使えるAnkiのフラッシュカードデッキを提供
ユースケース
- バックエンドやインフラの面接におけるシステム設計面接の準備
- 分散システムアーキテクチャの基礎を身につける
- スケーラブルなサービスを設計する前にトレードオフを確認する
- 短時間の学習でフラッシュカードを使って重要な概念を復習する
使う前に知っておきたいこと
- プロジェクトのメタデータからライセンスを特定できなかったため、再利用条件が不明です。
トピック
よくある質問
- system-design-primer とは?
- 大規模システム設計の学習やシステム設計面接の準備に役立つ、サンプル解答とAnkiのフラッシュカード付きの無料・オープンソース学習ガイドです。 System Design Primerは、大規模システムの設計方法を学ぶための体系的な資料集です。パフォーマンスとスケーラビリティ、レイテンシとスループット、可用性と一貫性といった基本的なトレードオフを解説し、DNS、CDN、ロードバランサー、リバースプロキシ、データベース(SQLとNoSQL)、キャッシュ戦略、非同期メッセージング、TCP、UDP、RPC、RESTなどの通信プロトコルといった構成要素を扱います。
- system-design-primer は無料で使えますか?ライセンスは?
- system-design-primer は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- system-design-primer は今もメンテナンスされていますか?
- 半年以内に更新あり。system-design-primer の最終コミットは 2026年9月15日 です。
- system-design-primer は何に使えますか?
- バックエンドやインフラの面接におけるシステム設計面接の準備 分散システムアーキテクチャの基礎を身につける スケーラブルなサービスを設計する前にトレードオフを確認する 短時間の学習でフラッシュカードを使って重要な概念を復習する
- system-design-primer はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/donnemartin/system-design-primer
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Airbnb、Netflix、Uber、Stripeなどの企業によるエンジニアリングブログ記事300件以上を、企業別にまとめた厳選リスト。
学習・教育を目的に、Pythonで実装したアルゴリズムをコミュニティが保守するコレクション。
CSの基礎、データベース、分散システム、システム設計、AIアプリケーション開発を網羅した中国語のJavaバックエンド面接ガイド。
NotebookLMに着想を得た、教材をクイズやフラッシュカード、ノート、ポッドキャストに変換するオープンソースの学習プラットフォーム。
作りながら学ぶML講座。NumPyで一から作る深層学習フレームワークと、Pyodideで採点する350問以上のブラウザ演習。