What the rounds are like
| Stage | What people usually describe |
|---|---|
| Phone screen | One LeetCode-style problem, about 60 minutes, often with a follow-up |
| Code Craft | Build a small working feature, like calling a few mocked services and combining the results |
| Debugging | Fix and test code that's mostly written, like a round-robin load balancer |
| Older or some team loops | Two LeetCode-style onsite rounds instead of Code Craft and Debugging |
Ask your recruiter which format you're getting. Either way, interviewers look for clean code, tests, and how you go from a brute-force solution to a fast one.
What people have been asked
These come up in candidates' own write-ups of their interviews. They're mostly phone screen and LeetCode-style onsite problems. We wrote the example prompts ourselves, so the wording you get will be different.
Distances to a pickup point
On a grid with walls and open cells, find each cell's walking distance to the nearest pickup point. Candidates report versions with DashMarts on a city map and with Dashers.
Searching from every cell is slow. Start from the pickup points and spread out instead, which also makes lots of queries cheap.
How it might be asked
You're given a grid where -1 is a wall, 0 is the Dasher pickup gate, and a very large number is an empty room. Fill each room with its walking distance to the gate, moving up, down, left or right.
Key concepts to know
Try this Interview
Maximum path sum in a tree
Find the path through a binary tree with the biggest total, then the best path between two 'active' nodes.
A path can bend at any node, so each node has to return one thing and record another. The active-node follow-up changes what you can return.
How it might be asked
Given a binary tree of integers, return the largest sum of any path. Follow-up: each node has an active flag. Return the largest sum of a path that starts and ends at active nodes.
Key concepts to know
Try this Interview
Names that are almost the same
Find names that match after swapping two letters, then the names that need the fewest letter changes to become an anagram of the original.
Count letters with a hash map instead of comparing every pair of letters.
How it might be asked
You're given a name and a list of names. Return the names that become the original if you swap exactly two letters. Then, as a follow-up, return the names that need the fewest letter changes to become an anagram of it.
Key concepts to know
Try this Interview
Most pay for a Dasher's deliveries
A Dasher has a day of possible deliveries, each with a start, end and pay. Pick ones that don't overlap to earn the most.
Greedy picks don't work. Sort by time and, for each delivery, binary search for the last one that finishes before it starts.
How it might be asked
A Dasher has a list of deliveries for the day, each with a start time, end time and pay. They can only do one at a time. What's the most they can earn?
Key concepts to know
Try this Interview
The Code Craft and Debugging rounds
Code Craft is practical. You build something small that actually runs, like calling three mocked service APIs and returning one combined JSON response, or structuring and running a Dasher pay or reward calculation. Clean structure and working code matter more than a clever algorithm.
In Debugging you get code that's mostly written, often a round-robin router or load balancer. You find the bugs, fix them and add tests. Some candidates then got asked to improve it, for example with consistent hashing.
Practice reading code you didn't write, running it, and writing small tests as you go. Talk through what you're checking so the interviewer can follow.
How to approach a problem
- Say it back and ask questions. How big is the input? What are the edge cases? What should you return?
- Start with brute force. Say it out loud with its complexity so you've got something to beat.
- Figure out what it really is. Is this secretly a graph? Would sorting help? Do the same subproblems keep coming up?
- Write it and test it. Walk through an example, then try the weird cases.
Key concepts to know
- Graph traversal and shortest pathsBFS, DFS and Dijkstra, and when to use each.
- Trees and recursionSolve tree problems by deciding what each node returns.
- Dynamic programmingSolve each subproblem once and reuse the answer.
- Hash maps and sliding windowsSwap nested loops for a single pass.
- Binary searchCut the search in half, even when you're searching for an answer.
- IntervalsMerge, insert and schedule ranges without tripping over the edges.
Sources
We pulled this together from candidates' own write-ups of their interviews. They don't always agree, and things change over time.
- Roundz: DoorDash SDE phone screen and virtual onsite (2025)
- LeetCode Discuss: E4 onsite, donation SD, code craft, debugging (2025)
- LeetCode Discuss: Closest DashMart phone screen (2025)
- LeetCode Discuss: E5 onsite, review and reward SD (Dec 2024)
- LeetCode Discuss: E4 phone screen and onsite (Feb 2024)
- LeetCode Discuss: E4 offer, food review SD (Apr 2024)
- LeetCode Discuss: phone screen and virtual onsite (Dec 2025)
- LeetCode Discuss: senior, code craft and review SD (Feb 2026)
Practice Loop is an independent practice tool and isn't affiliated with or endorsed by DoorDash.