面接体験談

DoorDash L4 ソフトウェアエンジニア オンサイト面接体験談(NYC)

DoorDashL4 ソフトウェアエンジニア·ニューヨーク州ニューヨーク(面接はリモートで実施)·面接時期: 2022年10月結果不明

更新日: 2026年7月17日

DoorDashのニューヨーク拠点のミドルレベルのL4ソフトウェアエンジニア職に応募した候補者が、完全リモートで行われた選考プロセスの詳細な体験談を共有した。プロセスは最初の電話面接から始まり、4ラウンドのオンサイトループへと進んだ。ループにはデータ構造設計問題、定番のアルゴリズム問題、そしてハイアリングマネージャーとの会話とシステム設計問題を扱う2つの面接が含まれていた。

この体験談では、ループ全体を通して面接官の対応に大きなばらつきがあったことが述べられている。あるラウンドでは特定の実装アプローチを要求され、他のアプローチは受け入れられなかった。別のラウンドでは同じ行動面接の質問が別の名目で繰り返された。そして最後のシステム設計ラウンドでは、要件確認のための質問のほとんどに回答が得られなかった。最終的な結果は報告されていないが、メモからは各ラウンドで実際に何が扱われたかが明確に読み取れる。

選考プロセス

  1. 電話面接

    電話面接では1問のコーディング問題が出題された。ドライバーが対応可能な地点の行列と、ドライバーが必要とされる地点の行列が与えられ、ドライバーによって完全にカバーされている地点クラスターの数を数える問題だった。

  2. オンサイトループ

    完全リモートで実施されたオンサイトは、4ラウンドが連続して行われた。データ構造設計問題、ハイアリングマネージャーとの会話、アルゴリズム問題、そしてシステム設計とドメイン知識を組み合わせたラウンドである。

  3. 結果

    体験談は最終ラウンドの説明で終わっており、その後オファーが出たかどうかは述べられていない。

電話面接

コーディング/行列問題

  • ドライバーが対応可能な地点の行列と、ドライバーが必要とされる地点の行列が与えられたとき、対応可能なドライバーによって完全にカバーされている地点クラスターの数を求めよ。

オンサイト ラウンド1:Design File System

データ構造設計(トライ)

  • スラッシュ区切りのパスに値を格納するインメモリのキーバリューストアを実装せよ。get(path)、set(path, value)、create(path, value)、delete(path) をサポートする——'Design File System' 問題に set と delete 操作を追加したものに近い。

面接官はトライを使った解法が必須だと明言し、他のアプローチは受け入れなかった。

オンサイト ラウンド2:ハイアリングマネージャーとの面談

行動面接

  • 現在の会社でのプロジェクトについて説明してください。
  • どのような技術的課題に直面し、何を学び、もしやり直せるなら何を変えますか。
  • 取り組み方をめぐって誰かと対立したときのことを説明してください。
  • トレードオフのどちらか一方を主張しなければならなかったときのことを説明してください。

オンサイト ラウンド3:アルゴリズム

コーディング

  • Largest Rectangle in Histogram(定番問題、改変なし)。

オンサイト ラウンド4:システム設計とドメイン知識

システム設計

  • 現在のプロジェクト、技術的課題、やり直せるなら何を変えるかという、ハイアリングマネージャー面談と同様の質問が『ドメイン知識』という名目で繰り返された。
  • 10の慈善団体にまたがり総額約1億ドルを扱うと見込まれる3日間のチャリティイベント向けに、寄付アプリケーションを設計せよ。決済はサードパーティの決済プロバイダーと連携し、カード情報をシンプルなRESTエンドポイントで受け取って成功レスポンスを返す仕組みとする。集まった資金はすべて単一の口座にまとめて保管し、イベント終了後に手動で分配する。

候補者によれば、面接官は要件確認の質問にほとんど反応せず、議論のほとんどの時間で明らかに上の空だったという。

学びのポイント

  • 'Design File System' のように書き込み操作が追加されたデータ構造設計問題では、事前にトライを使った実装を練習しておくと役立つ。面接官によってはそのアプローチを強く求めてくることがあるためだ。
  • Largest Rectangle in Histogramのような定番のアルゴリズム問題が、改変なしのままオンサイトで出題されることがある。よく知られたパターンに習熟しておくことは今でも報われる。
  • プロジェクト概要、技術的課題、対立、トレードオフといった、使い回せる行動面接用のエピソードを少数用意しておくと役立つ。同じ質問が複数のラウンドで繰り返されることがあるためだ。
  • 面接官が要件の明確化に応じてくれないシステム設計ラウンドでは、前提を明確に述べたうえで先に進み、トレードオフを声に出して説明し続けることで、フィードバックが得られなくても議論を生産的に保てる。
  • 同じループの中でも、ラウンドごとに面接官の対応度合いは大きく異なることがある。ある面接官が無関心だったとしても、それをプロセス全体を示すシグナルではなく、あくまで一つのデータポイントとして捉える価値がある。

出典

質問と選考プロセスの事実は、下記リンクの候補者本人の公開投稿に基づきます。本文は当サイトによる再構成です。

候補者本人による英語の公開体験談を翻訳(出典: LeetCode Discuss)