合格基準
- 8問中7問以上正解で合格(80%以上)
問題
Q1. 決済システムで二重課金を防ぐための最も効果的な手法は?
- A) トランザクションのタイムアウトを短く設定する
- B) 冪等性キー(Idempotency Key)で同一リクエストを識別する
- C) データベースのオートインクリメントIDを使う
- D) ロードバランサーで重複リクエストをフィルタリングする
回答と解説
正解: B
冪等性キーにより、同じリクエストが複数回送信されても1回分の処理のみ実行されます。ネットワーク障害やリトライによる二重処理を確実に防止できます。
Q2. 複式簿記の台帳で「借方合計 = 貸方合計」を保証する理由は?
- A) 会計監査法人の要件だから
- B) 取引の正確性を自己検証でき、1円のズレも検出できるから
- C) データベースのパフォーマンスが向上するから
- D) レポート生成が簡単になるから
回答と解説
正解: B
複式簿記では全ての取引が借方と貸方の両方に記録され、合計が一致することで金額の正確性を自己検証できます。不一致があれば即座にバグやデータ不整合を検出できます。
Q3. 予約システムで悲観的ロック(SELECT FOR UPDATE)を使う利点は?
- A) パフォーマンスが最も高い
- B) 競合時にデータの不整合を完全に防げる
- C) 分散システムでの実装が容易
- D) ロック待ちが発生しない
回答と解説
正解: B
悲観的ロックは行ロックを取得してから更新するため、競合時にデータの不整合を完全に防げます。ただしロック待ちが発生するためパフォーマンスは楽観的ロックより低下する場合があります。
Q4. 仮予約パターンでTTL(有効期限)を設定する目的は?
- A) データベースの容量を節約するため
- B) 決済しないユーザーが在庫を長時間占有するのを防ぐため
- C) セキュリティのため
- D) パフォーマンスを向上させるため
回答と解説
正解: B
TTLを設定することで、一定時間内に決済が完了しない仮予約を自動的に解放し、他のユーザーが予約できるようにします。在庫の不必要な占有を防ぎます。
Q5. IoTシステムでMQTT QoS 1の配信保証は?
- A) 最大0回(ロスト可能)
- B) 最低1回(重複可能)
- C) 正確に1回
- D) 保証なし
回答と解説
正解: B
MQTT QoS 1は「At least once(最低1回)」です。メッセージは必ず届きますが、ネットワーク再送により重複する可能性があるため、受信側での重複排除が必要です。
Q6. デバイスシャドウ(Digital Twin)パターンの主な目的は?
- A) デバイスの性能をシミュレーションする
- B) デバイスの期待状態と現在の状態を管理し、差分を自動同期する
- C) デバイスのバックアップを取る
- D) デバイスのファームウェアをテストする
回答と解説
正解: B
デバイスシャドウは「desired(期待状態)」と「reported(報告済み状態)」を管理し、差分がある場合にデバイスへ同期コマンドを送信します。デバイスがオフラインでも期待状態を設定できます。
Q7. マルチリージョンのActive-Active構成で最大の課題は?
- A) コストが高いこと
- B) 複数リージョンでの書き込み競合とその解決
- C) ネットワーク帯域が不足すること
- D) デプロイが複雑なこと
回答と解説
正解: B
Active-Active構成では複数リージョンで同時に書き込みが発生するため、データの競合が発生します。LWW、CRDT、リージョンシャーディング等の戦略で解決する必要があります。
Q8. RPO = 0, RTO < 1分を達成するために必要な構成は?
- A) 日次バックアップ + 手動復旧
- B) Active-Passive + 非同期レプリケーション
- C) Active-Active + 同期レプリケーション
- D) 定期スナップショット + 自動復元
回答と解説
正解: C
RPO = 0(データロスなし)には同期レプリケーション、RTO < 1分(即座復旧)にはActive-Active構成が必要です。最もコストが高い構成ですが、ミッションクリティカルな要件では必須です。
結果
7問以上正解:合格
Step 5に進みましょう。アーキテクチャレビューとキャリアについて学びます。
6問以下:不合格
Step 4の各レッスンを復習してから再挑戦してください。
推定所要時間: 30分