出前館ルーティングアルゴリズムエンジニア面接体験記:ルート計画・運力スケジューリング・リアルタイム意思決定の完全評価

オペレーションズリサーチ著者: BeautyResume チーム

2年のOR最適化経験で出前館ルーティング面接。一次OR+最適化理論、二次ルート計画+スケジューリングアルゴリズム、三次プロジェクト深掘り+システム設計、問題まとめと準備アドバイス付き。

出前館ルーティングアルゴリズムエンジニア面接体験記:ルート計画・運力スケジューリング・リアルタイム意思決定の完全評価

正直な印象:出前館のルーティングアルゴリズム面接は、これまでで最も「現場に根ざした」アルゴリズム面接でした。純粋な数学的導出の問題はなく、すべての質問が実際の配達シナリオに結びついていました——配達員の割り当て、ルート計画、遅延対応。面接官は「アプリのこのシナリオを見てください」と言って、その場で分析させることさえありました。この面接スタイルは非常にリアルで、本当に挑戦的でした。

背景:2年のオペレーションズ・リサーチ経験、出前館ルーティング

修士課程でオペレーションズ・リサーチを専攻し、物流テック企業で2年間OR最適化アルゴリズム開発に従事。主に車両ルーティング問題(VRP)とスケジューリング最適化に取り組み、Python+Gurobi+OR-Toolsの技術スタックを使用。大企業ではなかったが、物流シナリオの最適化問題は実際に配達と非常に似ているため、面接の多くの問題で実経験を活かせた。

出前館ルーティングに応募したのは、物流シナリオからオンデマンド配達シナリオに切り替えたかったから——前者はコスト最適化、後者は時間最適化で、全く異なる課題。履歴書を提出してから約3日で面接通知を受けた。

1. 面接プロセスの振り返り

一次面接:オペレーションズ・リサーチ+最適化理論(約60分)

一次面接はスケジューリングアルゴリズムに携わるシニアエンジニアで、まずORのウォームアップ質問から始まった。

「線形計画の双対問題は何ですか?双対理論の実用的な用途は?」双対の定義から説明し、シャドウプライスと感度分析の応用をカバー。面接官が追及:「モデルに数千の制約がある場合、感度分析はどうしますか?」基本変数と非基本変数の分類と、非基本変数の係数についてのみ感度分析を行う簡略化方法を説明。

次に整数計画:「VRP問題はなぜNP困難なのか?一般的な解法は?」VRPはTSPに帰着でき、TSPはNP困難であることを説明。解法は厳密アルゴリズム(分枝限定法、切断平面法)とヒューリスティクス(遺伝的アルゴリズム、タブーサーチ、ALNS)の2つのカテゴリに分けて説明。面接官が追及:「実際のプロジェクトでは、厳密アルゴリズムとヒューリスティクスのどちらを選びますか?なぜ?」問題規模による——小規模は厳密解、大規模はヒューリスティクス、中規模はヒューリスティクスで初期解を見つけてから厳密解で最適化すると説明。

一次面接にはモデリング問題もあり:「フードデリバリーの配達員割り当て問題を数理計画としてモデル化してください。」決定変数(配達員iに注文jを割り当てるか)、目的関数(総配達時間の最小化)、制約条件(各注文は1人の配達員にのみ割り当て、配達員容量制約、時間窓制約)を定義。面接官がハードタイムウィンドウとソフトタイムウィンドウの違いについて追及し、ハード(必須満足)とソフト(違反可能だがペナルティあり)の違いと適用シナリオを説明しました。

二次面接:ルート計画+スケジューリングアルゴリズム(約70分)

二次面接はよりシニアなアルゴリズムエキスパートで、より実際のシナリオに焦点を当てた質問でした。

「出前館の配達エリアはどう分割していますか?エリア内の配達員はどうスケジューリングしますか?」ジオフェンスに基づくエリア分割と、エリア内の動的スケジューリング戦略を説明——新規注文が来たら、まず配達時間を推定し、配達員の現在位置、配達中の注文数、推定完了時間に基づいてマッチング。面接官が追及:「あるエリアで突然注文が急増したらどうしますか?」クロスエリアディスパッチ、動的キャパシティ拡張、注文遅延割り当ての戦略を説明しました。

次にルート計画:「配達員が複数の注文を同時に配達する場合、ルートはどう計画しますか?従来のVRPとどう違いますか?」配達シナリオの特殊性を説明:異なる受取場所、異なる配達先、時間窓制約、配達員容量制限。面接官が追及:「配達員が既に2つの注文を受け取って配達中に、さらに1件の注文が来た場合、受け取るかどうかどう決めますか?」推定完了時間に基づく動的挿入ヒューリスティクスを説明——新規注文挿入後の増分時間を計算し、閾値を超えなければ受け入れる。

二次面接には非常に実践的な質問もありました:「配達ETA(推定到着時間)はどう推定しますか?」履歴データに基づく統計的手法(分位点回帰)とリアルタイム特徴に基づく機械学習手法(XGBoost/LightGBM)、および両者の融合アプローチを説明。面接官が特徴量エンジニアリングについて追及し、時間特徴(時間帯、曜日)、空間特徴(距離、エリア)、店舗特徴(調理時間)、配達員特徴(過去の速度)などを説明しました。

設計問題:「秒単位の応答で、動的な注文と配達員状態変化をサポートするリアルタイムスケジューリングシステムを設計してください。」イベント駆動アーキテクチャを説明——注文イベントが再スケジューリングをトリガー、配達員状態変化が再マッチングをトリガー。コアはグローバル再スケジューリングではなくインクリメンタルスケジューリングで、毎回影響を受ける配達員と注文のみを調整。面接官がシステムレイテンシとスケジューリング品質のトレードオフについて追及し、段階的スケジューリング戦略——粗スケジューリング(秒単位)+精細スケジューリング(分単位)を説明しました。

三次面接:プロジェクト深掘り+システム設計(約50分)

三次面接は部門責任者で、よりマクロな質問でした。

「最も挑戦的だった最適化プロジェクトは何ですか?」コールドチェーン物流のルート最適化プロジェクトを説明——制約条件が非常に多く(温度管理、時間制約、車両タイプ)、モデルの求解が困難。面接官が具体的な技術アプローチについて追及し、列生成+分枝価格法の厳密手法と、大規模インスタンスでのALNSヒューリスティクスを説明しました。

システム設計問題:「複数のスケジューリング戦略のA/Bテストとグレースケールデプロイメントをサポートする配達アルゴリズムプラットフォームを設計してください。」戦略抽象層(統一インターフェース)、実験フレームワーク(トラフィック分割、指標収集、有意性検定)、グレースケールデプロイメント(エリア/時間帯による段階的ロールアウト)の設計を説明。面接官が指標体系について追及し、時間指標(定時率、平均配達時間)、コスト指標(注文あたり配達コスト)、体験指標(クレーム率)を説明しました。

最後にキャリアプランとオンデマンド配達に対する見解について。オンデマンド配達はOR最適化の最良の適用領域の一つだと述べた——意思決定頻度が高く、データが豊富で、効果が定量化可能。面接官は強く同意し、出前館は毎日何億回ものスケジューリング決定を行っており、アルゴリズムの1ポイントの改善が巨大なビジネス価値になると言いました。

2. 面接問題まとめ

1. 線形計画の双対問題?双対理論の実用応用?

2. VRPがNP困難な理由?厳密アルゴリズムvsヒューリスティクス?

3. 配達員割り当て問題の数理計画モデリング?

4. 配達エリアの分割方法?エリア内配達員のスケジューリング?

5. 注文急増時の対応?クロスエリアディスパッチ戦略?

6. 複数注文配達のルート計画?新規注文の動的挿入?

7. 配達ETAの推定方法?特徴量エンジニアリング?

8. リアルタイムスケジューリングシステムの設計?インクリメンタルvsグローバル再スケジューリング?

9. 最も挑戦的だった最適化プロジェクト?列生成+分枝価格法?

10. 配達アルゴリズムプラットフォームの設計?A/Bテストとグレースケールデプロイメント?

11. スケジューリング戦略の指標体系?

3. 心得とアドバイス

1. ORの基礎は確実に、しかしモデリング能力がさらに重要。純粋な理論の質問は少なく、「この問題を数理計画としてモデリングせよ」という問題が多い。モデリングスキルを練習し、問題を見たら変数、目的、制約を素早く定義できるようにすること。

2. ヒューリスティクスアルゴリズムが重点。実際のシナリオでは問題規模が大きく、厳密アルゴリズムはほとんど使えない。遺伝的アルゴリズム、タブーサーチ、ALNSなどのヒューリスティクスの原理と適用シナリオを説明でき、実際のチューニング経験があることが望ましい。

3. シナリオ理解が重要。出前館の配達面接は配達シナリオへの理解を特に重視する。面接前にフードデリバリーの配達フローを体験し、各ステップの最適化余地を考えることをお勧めする。面接官が「このシナリオで何を最適化できると思いますか」と聞いたとき、具体的な観察とアイデアを言えれば非常に有利。

4. システム設計はリアルタイム性を考慮。配達スケジューリングはリアルタイムシステムであり、オフライン最適化ではない。面接では必ずリアルタイム制約を強調すること——秒単位の応答、インクリメンタルスケジューリング、イベント駆動。

5. ビジネス指標を準備。面接官が「アルゴリズムの効果をどう測定しますか」と聞くとき、具体的なビジネス指標(定時率、注文あたりコスト、配達員利用率など)を言えれば、ビジネスセンスがあることが示される。

4. FAQ

Q:配達アルゴリズム面接でプログラミング能力はどのくらい重要?

中程度。バックエンド開発のようにアルゴリズム問題をテストするのではなく、モデリングと実装能力をテストする。Python最適化ライブラリ(Gurobi、OR-Tools、PuLP)に習熟し、最適化モデルを素早く実装できることをお勧めする。

Q:ORの背景なしで配達アルゴリズムの面接を受けられる?

可能だが基礎を補う必要がある。ORのコア知識(線形計画、整数計画、グラフ理論)は複雑ではなく、1〜2ヶ月で入門可能。重要なのは最適化思考の理解——ビジネス問題を数学的問題にどう変換するか。

Q:出前館の配達面接スタイルは他の大企業とどう違う?

より現場に根ざしている。他社はより理論的かもしれないが、出前館の配達面接はよりシナリオ重視。面接官は実際のビジネスに結びつけて質問し、アプリを開いて具体的なシナリオを見せることさえある。面接前に出前館の配達ビジネスに詳しくなることをお勧めする。

Q:配達アルゴリズムの効果はどう測定する?

主に3つの次元:時間(定時率、平均配達時間)、コスト(注文あたり配達コスト、配達員利用率)、体験(クレーム率、キャンセル率)。アルゴリズム最適化は通常、まず時間を確保し、次にコストを最適化し、最後に体験を向上させる。

Q:OR最適化方向のキャリア展望は?

非常に良い。オンデマンド配達、ライドシェア、シェアモビリティ、サプライチェーン管理など、多くの分野でOR人材が必要。特にAIの発展に伴い、「AI+OR」のハイブリッドアプローチがますます重視されている——AIで予測、ORで意思決定。

#オペレーションズリサーチ#配送ルーティング#経路計画#Scheduling Algorithm#VRP#Operations Research#Route Planning#Interview Experience