QUIZ 30分

クイズの説明

L3「アーキテクチャ設計」の全10ヶ月の総合理解度を確認する卒業クイズです。全10問、80%(8問)以上正解で合格です。各月の学習範囲から出題されます。


Q1. C4モデルのLevel 2(Container Diagram)で描くべき内容として最も適切なのはどれですか?(Month 1-2: システムアーキテクチャ基礎)

  • A) クラスの詳細設計
  • B) システム内部のコンテナ(サービス、データベース等)とそれらの関係
  • C) 外部システムとの接続のみ
  • D) ネットワーク機器の物理配置
答えを見る

正解: B

C4 Level 2(Container Diagram)は、システム内部を「コンテナ」(アプリケーション、データベース、メッセージキュー等)に分解し、それらの間の通信プロトコルや依存関係を示します。Level 1(System Context)より詳細で、Level 3(Component)より抽象的な中間レベルの設計図です。


Q2. OWASPのセキュリティリスクにおいて、SQLインジェクションの最も効果的な対策はどれですか?(Month 3: セキュリティアーキテクチャ)

  • A) WAFの導入
  • B) パラメータバインディング(プリペアドステートメント)の使用
  • C) 入力値の文字数制限
  • D) HTTPSの強制
答えを見る

正解: B

パラメータバインディング(プリペアドステートメント)は、SQL文とデータを分離することで、SQLインジェクションを根本的に防止します。WAFは多層防御として有効ですがバイパスの可能性があり、文字数制限は不十分で、HTTPSはSQLインジェクションとは無関係です。


Q3. SLOベースのアラートで「バーンレート」が重要な理由はどれですか?(Month 4: SRE・運用設計)

  • A) サーバーのCPU使用率を測定するため
  • B) エラーバジェットの消費速度を監視し、SLO違反に至る前に対応できるため
  • C) デプロイの頻度を管理するため
  • D) チームの生産性を測定するため
答えを見る

正解: B

バーンレートは「エラーバジェットがどの速度で消費されているか」を示す指標です。例えば「現在のバーンレートが10倍 → 3日以内にエラーバジェットが枯渇する」のように、SLO違反に至る前のプロアクティブな対応を可能にします。閾値ベースのアラートでは得られない予測的な情報を提供します。


Q4. RAGアーキテクチャにおけるベクトルデータベースの役割はどれですか?(Month 5: AI/MLアーキテクチャ)

  • A) テキストを自動翻訳する
  • B) 文章の意味的な類似度に基づく検索を可能にし、関連する文書を高速に検索する
  • C) AIモデルのトレーニングを高速化する
  • D) 自然言語をSQLに変換する
答えを見る

正解: B

ベクトルデータベース(Pinecone, pgvector等)は、テキストをEmbedding(ベクトル)に変換して格納し、コサイン類似度等に基づく意味的な検索を行います。RAGでは、ユーザーの質問に関連する文書をベクトルDBから検索し、LLMのプロンプトに含めることで、ドメイン固有の知識に基づいた回答を生成します。


Q5. データメッシュの「ドメインオーナーシップ」の原則が意味するのはどれですか?(Month 6: データエンジニアリング)

  • A) すべてのデータを中央のデータチームが管理する
  • B) 各ドメインチームが自チームのデータを「プロダクト」として所有・提供する責任を持つ
  • C) データベースを物理的に分離する
  • D) データの利用を特定のチームに限定する
答えを見る

正解: B

データメッシュでは、中央集権的なデータチームに依存せず、各ドメインチーム(決済、注文、ユーザー等)が自分たちのドメインデータを「データプロダクト」として所有・管理・提供する責任を持ちます。これにより中央チームのボトルネックを解消し、ドメイン知識を持つチームがデータの品質と提供を担保します。


Q6. k6やGatlingで負荷テストを行う際、最も重要な観点はどれですか?(Month 7: パフォーマンスエンジニアリング)

  • A) できるだけ大量のリクエストを送ること
  • B) 本番のアクセスパターンを再現するシナリオを設計し、SLOに基づく合否判定基準を設けること
  • C) テスト時間をできるだけ長くすること
  • D) すべてのAPIエンドポイントを均等にテストすること
答えを見る

正解: B

負荷テストで重要なのは、本番の実際のアクセスパターン(検索→商品詳細→カート→決済の流れなど)を再現し、SLOに基づく合否判定基準(p99 < 800ms、エラーレート < 0.1%等)を設けることです。均等なリクエストや過剰な負荷は本番の実態を反映せず、有意義な結果が得られません。


Q7. FinOpsの「R」フェーズ(Right-sizing)で最も重要な指標はどれですか?(Month 8: クラウドネイティブ)

  • A) インスタンスの数
  • B) リソース使用率(CPU、メモリ、ディスクの実際の使用率対プロビジョニング)
  • C) 月額請求額
  • D) リージョンの数
答えを見る

正解: B

Right-sizingでは、実際のリソース使用率をプロビジョニングと比較します。例えばCPU使用率が常に10%のインスタンスは過剰プロビジョニングであり、1サイズ小さいインスタンスに変更すべきです。月額請求額だけでは個々のリソースの最適化ポイントがわかりません。


Q8. テクノロジーレーダーの「Hold」カテゴリに分類される技術の扱いはどれですか?(Month 9: 技術戦略)

  • A) 積極的に採用する
  • B) 評価中で結論が出ていない
  • C) 新規プロジェクトでの使用を避け、既存の利用は段階的に縮小する
  • D) まだ存在しない未来の技術
答えを見る

正解: C

「Hold」は新規プロジェクトでの採用を禁止し、既存の利用も段階的に縮小すべき技術です。NexPayの例ではPHP(レガシー)やjQueryが該当します。ただし即座に廃止するのではなく、移行計画に基づいて段階的に代替技術に置き換えます。


Q9. ATAMで特定される「トレードオフ」の正しい説明はどれですか?(Month 10: 総合プロジェクト)

  • A) システムのバグ
  • B) ある品質属性を優先することで、別の品質属性が犠牲になるアーキテクチャ上のポイント
  • C) コストの見積もり誤差
  • D) チームメンバー間の意見の相違
答えを見る

正解: B

アーキテクチャのトレードオフとは、ある品質属性を改善するための設計判断が、別の品質属性に悪影響を与えるポイントです。例えば「マイクロサービス化により独立デプロイ性は向上するが、運用の複雑性が増大する」「イベントソーシングにより監査証跡は完全になるが、実装複雑性が増す」といった関係です。


Q10. アーキテクトとして設計書を作成する際、最も重要な姿勢はどれですか?(L3全体の総括)

  • A) 最新の技術を可能な限り採用する
  • B) ビジネス要件を起点に、トレードオフを明示し、根拠を持って意思決定し、その判断を記録する
  • C) 設計を可能な限り複雑にして将来の変更に備える
  • D) すべてのリスクを排除する
答えを見る

正解: B

アーキテクトの最も重要な役割は、ビジネス要件と技術的制約の間でバランスの取れたトレードオフを行い、その判断の根拠を明確に記録(ADR)し、ステークホルダーと共有することです。最新技術の採用はビジネス価値がある場合のみ、複雑性は必要最小限に、リスクは排除ではなく管理するものです。


結果

8問以上正解の場合

L3卒業おめでとうございます!

10ヶ月間にわたるL3「アーキテクチャ設計」カリキュラムを修了しました。

あなたはシステムアーキテクチャ設計の基礎から、セキュリティ、SRE、AI/ML、データエンジニアリング、パフォーマンス、クラウドネイティブ、技術戦略・リーダーシップ、そして総合プロジェクトまで、プロのアーキテクトとして必要な知識とスキルを体系的に習得しました。

「10ヶ月間、本当によく頑張った。システムアーキテクチャの設計から、セキュリティ、SRE、AI、データ、パフォーマンス、クラウドネイティブ、そしてリーダーシップまで — 君はもうプロのアーキテクトだ。次のステージでは、この知識を実践で磨いていこう」 — 佐藤CTO

7問以下の場合

もう少し復習しましょう。 間違えた問題に対応する月のカリキュラムを復習してください。

  • Q1 → Month 1-2(システムアーキテクチャ基礎)
  • Q2 → Month 3(セキュリティアーキテクチャ)
  • Q3 → Month 4(SRE・運用設計)
  • Q4 → Month 5(AI/MLアーキテクチャ)
  • Q5 → Month 6(データエンジニアリング)
  • Q6 → Month 7(パフォーマンスエンジニアリング)
  • Q7 → Month 8(クラウドネイティブアーキテクチャ)
  • Q8 → Month 9(技術戦略とリーダーシップ)
  • Q9-Q10 → Month 10(総合アーキテクチャプロジェクト)