DoorDash | Senior Engineer Details about Code Craft and System Design
Summary
I interviewed for a Senior Engineer role at DoorDash, covering Coding, Code Craft, System Design, and Behavioral rounds. I performed well in Coding and Code Craft, but my System Design round was mixed, and the Behavioral round went smoothly.
Full Experience
For doordash, the code craft interview is a bit tricky and different. But luckily it has a small question bank and I think only 2 questions so I was able to practice both of those questions on a website. That helped a lot.
Coding
Problem: Finding the nearest dasher to a location
I took a BFS approach from the start and the interviewer gave me the thumbs up to implement it.
Follow-up: Return all equidistant closest locations
Discussed:
- Handling unreachable destinations
- Multi-source BFS optimization for repeated queries
Where I did well:
- Quickly identified BFS as the right approach and implemented cleanly
- Handled the follow-up extension smoothly
Result: All the test cases passed, interviewer seemed happy.
Code Craft
Problem: Make a payment system for dashers.
Edge cases I tried to handle:
- Overlapping delivery windows
- Multiple orders at different stages
- Time window boundaries
- Concurrent order limits
Result:
Interviewer seemed satisfied with the incremental approach and handling of edge cases.
I had practiced all the code craft problems here before so it was a lot easier for me.
System Design
Problem: Review System with Voting
It's covered by this recently asked doordash design questions listed here: https://offerretriever.com/questions/31
Lukily I looked through and tried to practice all the design questions ahead of time, but sadly I didn't spend too long thinking about this one.
It went mostly ok, I choked a bit while talking about adding a cache, but we moved on from it and the rest went alright
Could have discussed more about sharding strategies for high-volume restaurants
Result: Feedback was mixed, felt I could have gone deeper on scalability ⚠️
Behavioral
Standard behavioral round covering:
- Past project experiences
- Conflict resolution scenarios
- Red flag screening questions (why leaving current role, team dynamics, etc.)
- Deep dive into a challenging project
Pretty straightforward, no surprises here. Interviewer was friendly and conversational.
Result: Went smoothly ✅
Overall Takeaways
For system design, I should have prepared in-depth for all the recently asked system design questions. My questions was on that list but so sad I didn't prepare it well even though knowing it ahead of time
Interview Questions (4)
Finding Nearest Dasher
Problem: Finding the nearest dasher to a location
Follow-up: Return all equidistant closest locations
Discussed:
- Handling unreachable destinations
- Multi-source BFS optimization for repeated queries
Payment System for Dashers
Problem: Make a payment system for dashers.
Edge cases I tried to handle:
- Overlapping delivery windows
- Multiple orders at different stages
- Time window boundaries
- Concurrent order limits
Review System with Voting
Problem: Review System with Voting
Could have discussed more about sharding strategies for high-volume restaurants
Behavioral Questions
Standard behavioral round covering:
- Past project experiences
- Conflict resolution scenarios
- Red flag screening questions (why leaving current role, team dynamics, etc.)
- Deep dive into a challenging project
Preparation Tips
For doordash, the code craft interview is a bit tricky and different. But luckily it has a small question bank and I think only 2 questions so I was able to practice both of those questions on a website. That helped a lot.
I had practiced all the code craft problems here before so it was a lot easier for me.
Lukily I looked through and tried to practice all the design questions ahead of time, but sadly I didn't spend too long thinking about this one.
Overall Takeaways:
For system design, I should have prepared in-depth for all the recently asked system design questions. My questions was on that list but so sad I didn't prepare it well even though knowing it ahead of time