Cracking Graph Algorithms: My DoorDash Software Engineer Interview Journey

doordash | Software Engineer | Interview Experience

Interview Date: Not specified
Result: Not specified
Difficulty: Not specified

Interview Process

The interview process began with a simple HR call initiated by HR a few months ago via LinkedIn. After expressing interest in a job opportunity, I was informed that I would receive an email to submit my resume, but there was a delay in communication. After two weeks of waiting, I was notified about a technical interview for the DevEX team. The initial interview was rescheduled due to limited available times, and I later found out that the interviewer had changed from a female HR representative to a staff-level male interviewer from Taiwan.

Technical Questions

The main technical question involved finding the shortest distance to the nearest DashMart in a grid representing a city. The grid contained three types of cells:

  • 'D': DashMart
  • '.': Passable land
  • 'X': Obstacle, not passable

Given a series of resident coordinates, the task was to determine the shortest distance to the nearest DashMart for each coordinate. The rules specified:

  • Movement is allowed only up, down, left, or right.
  • If the position is a DashMart, the output is 0.
  • If the position is an obstacle or unreachable, the output is -1.

The approach utilized a multi-source Breadth-First Search (BFS). During the clarification stage, I overlooked the requirement to account for the distance from inaccessible areas. After completing the initial implementation, I ran test cases and discovered the oversight, which I quickly corrected. The follow-up involved writing additional test cases and running them, but due to time constraints, I could only provide five cases before the interview concluded.

Tips & Insights

The interview lasted about 50 minutes, and despite the time allotted for a single question, it felt quite tense, especially with the need to explain my approach and write test cases. I noted that DoorDash’s interview process seems to have undergone some changes; the interviewer mentioned that candidates could choose whether to use AI tools during the interview. If AI was used, the candidate would need to share their entire screen to demonstrate how they were prompting the AI. I opted not to use AI, as I felt it was unnecessary for this BFS problem.