B-1 模擬演習
3ケースから2ケースを選ぶ想定で、90分の時間配分を練習します。問題文はすべて独自作成です。
問1 オンライン決済を含む予約システムのレジリエンス設計
K社はイベント予約サービスを運営している。利用者は空席を選択し、クレジットカード決済後に予約確定する。人気イベントの発売開始直後には毎秒500件の予約要求が集中する。外部決済サービスは通常200ms程度で応答するが、まれに数十秒遅延又はタイムアウトする。 座席を決済完了まで無期限に確保すると販売機会を失うため、仮確保は5分で失効させたい。一方、決済サービス側ではタイムアウトしても実際には決済済みの場合がある。予約システムがタイムアウトを理由に仮確保を解放し、その後決済成功通知を受けると、座席が別利用者へ販売済みになっている可能性がある。 決済サービスは決済IDによる結果照会APIとWebhookを提供する。
設問 1
発売開始時の二重予約を防ぐための座席確保方式を述べよ。
0文字設問 2
決済タイムアウト時に直ちに失敗確定としてはいけない理由と、状態管理方法を説明せよ。
0文字設問 3
5分の仮確保期限と決済状態を整合させるための処理を述べよ。
0文字設問 4
Webhookが重複到着した場合にも安全に処理するために必要な設計を述べよ。
0文字問2 複数システムから経営KPIを提供するデータサービス
J社では経営会議で『受注から売上計上までのリードタイム』を短縮する目標を掲げている。しかし営業部は受注登録日、物流部は出荷日、経理部は請求確定日をそれぞれ基準に報告しており、同じ案件でも数値が一致しない。 新たにKPI提供サービスを構築し、CRM、受注、倉庫、請求の各システムからデータを収集する。業務部門は日次で前日までのKPIを確認できればよい。各システムでは案件ID体系が異なり、分割出荷や請求取消しも存在する。 後日、元システムで過去データが訂正される場合がある。経営会議で過去に報告したKPIと、訂正後に再計算したKPIの差異を説明できるようにしたい。
設問 1
KPIシステムの設計より前に、業務部門と合意すべき定義を説明せよ。
0文字設問 2
異なるID体系のデータを案件単位で結び付けるために必要な仕組みを述べよ。
0文字設問 3
分割出荷がある場合、リードタイムの算出粒度について決めるべき事項を述べよ。
0文字設問 4
元データ訂正後も過去報告値との差異を説明するために保持すべき情報を述べよ。
0文字問3 レガシー販売基幹の段階的モダナイゼーション
G社の販売基幹は20年前に構築され、顧客、商品、受注、在庫、請求を一つのアプリケーションとDBで管理している。全面刷新は停止リスクが高いため、まず受注機能を新システムへ移し、その後在庫、請求を段階的に移す方針である。 第1段階では新受注システムが受注を受け付けるが、在庫引当と請求は旧基幹で行う。そのため新受注データを旧基幹へ連携する必要がある。顧客マスタは同時に新CRMへ移行し、旧基幹へ配信する。旧基幹で顧客更新を許すと双方向同期になるため、業務ルールも変更する予定である。 切替当日に問題が起きた場合、一定時間内なら旧受注へ切り戻す。ただし新システムで受け付けた受注が存在するため、単にトラフィックを戻すだけではデータ不整合が生じる。
設問 1
第1段階で、受注データと顧客データのSystem of Recordをそれぞれどこに置くべきか、その理由を述べよ。
0文字設問 2
旧基幹から顧客更新機能を停止することが有効な理由を述べよ。
0文字設問 3
新受注から旧基幹への連携で、重複受注を防ぐために必要な設計を述べよ。
0文字設問 4
切戻し時に、新システムで受付済みの受注をどのように扱うか事前設計すべき事項を述べよ。
0文字