DoorDash Interview Experience [Rejected]
Anonymous User
874

Hello guys, I'm sharing my DoorDash interview experience to give back to the community.

Little background: I have 3.5 years of experience and am currently working at a top product-based startup. I applied for a backend SDE-2 equivalent role at DoorDash, and within a week I got an invite email for a recruiter connect.

Recruiter Connect

This was a Zoom call where the recruiter explained the job description and the teams available in India.

The recruiter was very humble and asked me about my experience and why I was interested in DoorDash.

Overall, the call went well. The recruiter told me that they were having an interview freeze due to Christmas and New Year and shared a calendar with me to select my availability for the technical screening round.

Tech Screen Round

The interviewer was from the US and was very humble. She asked me a coding problem related to coordinates. I used a hash map to store coordinates and binary search to find the nearest coordinate.

This round went well, and within 2 days I got a call from the recruiter saying that I had passed the round and they wanted to move forward with the virtual onsite.

I selected my availability, and they scheduled the onsite as a 2-day virtual interview.

  • Day 1 (Tuesday): Bug Bash round and System Design round
  • Day 2 (Next Monday): Coding round and Leadership round

I asked the recruiter if they could swap the system design round with the coding round, as I was already prepared for coding but needed more time for system design. However, the recruiter mentioned that it wasn't possible due to interviewer availability.

Anyway, I prepared for the system design round over the weekend and took Monday off to prepare.

Day 1

Bug Bash Round

The interviewer seemed humble. She asked me if I was comfortable with Java, which I said I was not. I mentioned that I was comfortable with JavaScript. She then told me that JavaScript was not available and asked if I was comfortable with Python, Go, or C++.

I said I knew C++, so I decided to give the round in C++ (as I didn't have many other options).

She shared a small codebase (luckily it was only using maps, no fancy STL) and asked me to run it and find bugs.

I struggled a little bit initially, but later I was able to spot and fix the bug.

Then she asked a couple of scaling-related questions and asked how I would scale the system. I mentioned using multithreading and discussed the approach briefly. She then asked if I could implement it. I told her that I hadn't brushed up on C++ threading recently and would need to look up syntax. She mentioned that it was fine, and we only discussed the solution at a high level.

Self Verdict: lean hire / no hire.

System Design and Domain Knowledge Round

There were two interviewers (one was shadowing). The main interviewer seemed fine to me. I personally expected a more senior interviewer for a system design round, but that's just my opinion.

The interviewer asked me to introduce myself, which I did in about 2–3 minutes. Then they directly started the round. He asked, "What's the most challenging problem you have solved?" I discussed one of the components I had worked on. They didn't ask many follow-up questions and seemed satisfied.

Then they asked a system design problem: Design a job scheduler.

I quickly wrote down functional and non-functional requirements and started defining APIs. After I had just finished my first API, the interviewer interrupted and said, "Let's skip this, I want to see the main design." I said "Cool" and started with the database schema.

I wrote one table schema and mentioned that I would start with the design and come back to add more tables when required. I then started drawing the high-level design. The interviewer interrupted again and asked whether one table was enough. I said probably not and that I would come back to it when needed.

As I continued with the design, the interviewer kept interrupting about missing tables. Toward the end, when I added them, he started asking questions about indexes, partition keys, and related topics. I took some time to discuss partition keys, and the interviewer gave me hints and said that this was what he was looking for.

They asked a couple of follow-up questions, which I answered. By the end of the round, both interviewers seemed satisfied, and there were no open follow-up questions.

Self Verdict: Hire / lean hire.


After this round, I got a call from the recruiter saying they wouldn't be moving forward and that my remaining two interviews would be canceled. I asked for feedback, but he mentioned that it was against their policy.

Overall, the interview experience was good. This was my first time appearing for a system design round.

I did feel bad about getting rejected, especially because I thought my system design round went well. That said, I wasn't too disappointed since I didn't particularly like the DoorDash teams in India, and the compensation wasn't very attractive for me.

My personal feedback for DoorDash:

  • They should ask for language preference before scheduling the virtual onsite.
  • System design rounds could benefit from being conducted by more senior engineers.
Comments (3)