QUIZ 30分

クイズの説明

Step 2「標準パイプラインを設計しよう」で学んだ内容の理解度を確認します。全8問、80%(7問)以上正解で合格です。


問題

Q1. パイプライン設計の「不変性(Immutability)」の原則として正しいものはどれですか?

  • A) パイプラインの設定ファイルは一度作成したら変更しない
  • B) 一度ビルドされたアーティファクトは変更せず、同じアーティファクトを全環境にデプロイする
  • C) テスト結果は不変であり、再実行しても結果は変わらない
  • D) デプロイ先の環境は一度構築したら再構築しない
答えを見る

正解: B

不変性の原則は「一度ビルドされたアーティファクトは変更せず、同じアーティファクトを全環境にデプロイする」ことです。環境ごとにビルドし直すのではなく、環境差分は設定(環境変数)で吸収します。これにより「ステージングでは動いたのに本番で壊れた」というリスクを最小化できます。


Q2. 組織のパイプライン設計で「共通化すべきもの」として最も適切なものはどれですか?

  • A) テストフレームワークの選択
  • B) ビルドツールの選択
  • C) セキュリティスキャンのステージ
  • D) コーディング規約
答えを見る

正解: C

セキュリティスキャンは組織全体で統一すべき事項です。セキュリティポリシーはチームの裁量に委ねるとばらつきが生じ、脆弱性のリスクが高まります。一方、テストフレームワーク、ビルドツール、コーディング規約はチームの技術スタックや好みに応じて選択する裁量を持たせます。


Q3. テストピラミッドにおいて、PRマージ前に「必須」で実行すべきテストの組み合わせはどれですか?

  • A) ユニットテストのみ
  • B) ユニットテストと統合テスト
  • C) E2Eテストのみ
  • D) ユニットテスト、統合テスト、E2Eテスト
答えを見る

正解: B

標準では、ユニットテストは全コミットで必須、統合テストはPRマージ前で必須です。E2Eテストはリリース前に必須ですが、PRマージ前には実行時間の制約から必須にはしていません。全テストをPR前に実行するとフィードバックが遅くなり、開発速度が低下します。


Q4. Semantic Versioningで feat!: プレフィックスのコミットがあった場合、どのバージョンが上がりますか?

  • A) PATCH
  • B) MINOR
  • C) MAJOR
  • D) バージョン変更なし
答えを見る

正解: C

feat!:BREAKING CHANGE: は後方互換性のない変更を示し、MAJORバージョンが上がります。fix: はPATCH、feat: はMINOR、chore:/docs:/style: はバージョン変更なしです。Conventional Commitsにより自動バージョニングが可能になります。


Q5. 環境パリティ(Environment Parity)で「完全一致」が求められる要素はどれですか?

  • A) インスタンスサイズ
  • B) データ量
  • C) OS/ランタイムバージョン
  • D) 外部サービスの接続先
答えを見る

正解: C

OS/ランタイムバージョンは本番とステージングで完全一致が求められます。インスタンスサイズはコスト面から縮小版が許容され、データ量はサンプルデータの使用が許容されます。外部サービスはサンドボックスの使用が許容されます。ランタイムの差異は「動作の違い」に直結するため、最優先で一致させます。


Q6. エフェメラル環境のメリットとして不適切なものはどれですか?

  • A) 他チームの作業に影響されない独立したテスト
  • B) 使用時のみ課金によるコスト最適化
  • C) 本番環境と完全に同一のインフラ構成
  • D) PRの変更を即座に確認可能
答えを見る

正解: C

エフェメラル環境は「本番環境と完全に同一のインフラ構成」ではありません。コスト最適化のために縮小版の構成で一時的に構築されます。メリットは独立したテスト環境、コスト最適化、高速フィードバック、レビュー効率化です。完全な本番再現はステージング環境の役割です。


Q7. 自動ロールバックの基準として、エラー率の閾値はどう設定すべきですか?

  • A) エラー率が0%を超えたら即座にロールバック
  • B) エラー率が前バージョンの2倍以上になったらロールバック
  • C) エラー率が50%を超えたらロールバック
  • D) エラー率に基づくロールバックは不要
答えを見る

正解: B

自動ロールバックの基準は「前バージョンの2倍以上」です。エラー率0%をトリガーにすると、正常なエラー(バリデーションエラー等)でもロールバックしてしまいます。50%は閾値が高すぎて検知が遅れます。前バージョンとの比較(相対値)により、サービス固有のベースラインを考慮した判断が可能になります。


Q8. SOC2コンプライアンスに対応するために、本番デプロイの承認プロセスに必要な要件はどれですか?

  • A) 開発者1名の承認
  • B) 2名以上の承認(変更実施者と異なる承認者)
  • C) 全チームリーダーの承認
  • D) 承認プロセスは不要(自動デプロイが推奨)
答えを見る

正解: B

SOC2コンプライアンスでは「職務分離(Segregation of Duties)」が求められます。変更の実施者と承認者は異なる必要があり、2名以上の承認が標準です。全チームリーダーの承認は過剰で、デプロイ速度を大幅に低下させます。


結果

7問以上正解の場合

合格です。 標準パイプラインの設計原則、ビルド・テスト・デプロイの標準化、アーティファクト管理、環境プロモーションをしっかり理解しています。

「パイプライン設計の土台ができたな。次はセキュリティとコンプライアンスの統合だ。技術的に正しいパイプラインに、組織が求める安全性を組み込んでいこう」 — 田中VPoE

6問以下の場合

もう少し復習しましょう。 Step 2のレッスンを再度読み返し、特に間違えた問題の関連箇所を重点的に復習してください。

  • Q1-Q2を間違えた場合 → Step 2-1「パイプライン設計の原則」を復習
  • Q3を間違えた場合 → Step 2-2「ビルド・テスト・デプロイの標準化」を復習
  • Q4を間違えた場合 → Step 2-3「アーティファクト管理とバージョニング」を復習
  • Q5-Q8を間違えた場合 → Step 2-4「環境管理とプロモーション戦略」を復習