「短縮 URL を設計して」のような問題に、要件の確認 → 見積もり → 構成 → 深掘りの順で答える。
システム設計面接では、あいまいなお題から、要件を整理し、構成を考え、トレードオフを説明する力が見られます。正解は1つではなく、考えの筋道と判断の理由が評価されます。
答え方の型
| 手順 | やること |
|---|---|
| 1. 要件を確かめる(5分) | 機能(何ができればよいか)と、規模・速さ・可用性など。範囲を絞る質問をする |
| 2. 規模の見積もり | 1日のユーザー数 → 1秒あたりのリクエスト数・データ量。読みと書きの比率 |
| 3. API とデータモデル | 主なエンドポイントと表。主キー・インデックス |
| 4. 全体の構成図 | クライアント・CDN・ロードバランサー・アプリ・DB・キャッシュ・キュー・ストレージ |
| 5. 深掘り | ボトルネックになる所(ホットなデータ・書き込みの集中・整合性)を選んで掘る |
| 6. まとめ | 障害時の動き、監視、今回省いたこと・次に改善すること |
Web エンジニアの面接では、インフラの細部より、API の形・DB の設計・キャッシュ・非同期処理・冪等性など、アプリの側の判断を深く聞かれることが多いです。黙って考え込まず、選択肢を挙げて「今回は○○を優先するので△△にします」と口に出しながら進めます。
面接ではこう答える
システム設計面接では、あいまいなお題から要件を確かめ、規模を見積もり、API とデータモデル、全体の構成を描き、ボトルネックを深掘りし、最後に障害時の動きと監視でまとめます。正解は1つではなく、考えの筋道と判断の理由が評価されます。Web エンジニアの面接では、API の形、DB 設計、キャッシュ、非同期処理、冪等性など、アプリの側の判断を深く聞かれることが多いです。
Webとの関わり設計面接の準備の型で、実務の設計レビューの進め方にもそのまま使えます。