DoorDash logo

DoorDash Interview Questions

16 practice questions for DoorDash technical interviews

coding Medium Verified

Code Craft - Bootstrap API


Category: String coding problem
# Question You are tasked with implementing a Bootstrap API that aggregates data from multiple services for a given user. Given a userId, you...
Input: String
Output: Computed result
coding Hard Verified

Code Craft - Driver Payment System


Category: Algorithm coding problem
# Question You are in charge of implementing the Dasher payment model. Given the sequence of accepted/fulfilled order activities from a given dasher...
Input: List
Output: Computed result
coding Medium Verified

Find Closest Dasher


Category: Algorithm coding problem
# Question You are given an m × n board representing a delivery area. The board contains: - 'X' - blockers (obstacles) - 'D' - DashMarts...
Input: List
Output: Integer
coding Medium Verified

Find Menu Changes


Category: Tree coding problem
# Question You are given two tree structures representing an old menu and a new menu. Each tree node has: - key: identifier for the menu...
Input: List
Output: Computed result
system design Hard Verified

Top 8 Doordash System Design Questions Jan 2026


Category: Linked list system design problem
# System Design Questions - DoorDash These are the commonly asked system design questions from DoorDash interviews. Updated January 2026.
Input: Linked list
Output: Computed result
coding Medium Verified

Location Index


Category: Graph coding problem
Implement a LocationIndex class that stores a set of named points on a 2D grid. The constructor takes three arrays: names (list of location name...
Input: 2D grid
Output: Computed result
coding Medium Verified

Covered Service Zones


Category: Algorithm coding problem
You are given two binary m x n matrices: coverage and demand. A cell in demand is active if its value is 1. Active cells that are...
Input: Number(s)
Output: Integer
coding Hard Verified

Wildcard Segment Counter


Category: String coding problem
You are given a template string consisting only of the characters '0', '1', and '?', and a list of integers run_lengths. A '?' in the...
Input: Array of integers
Output: Computed result
coding Medium Verified

Peak Value Processing Order


Category: Algorithm coding problem
You are given a list of unique integers values. At each step, identify all eligible values: a value is eligible if it is strictly greater than...
Input: List
Output: Computed result
coding Hard Verified

Directory Registry


Category: Tree coding problem
Implement a DirectoryRegistry class that manages a hierarchical key-value store modeled as a tree of paths. The root path "/" always exists with...
Input: String
Output: Computed result
coding Hard Verified

Ride Earnings Calculator


Category: String coding problem
You are given records, a list of ride events. Each record is a list of three strings: [ride_id, timestamp, status]. Possible statuses are...
Input: List
Output: Computed result
coding Medium Verified

Meeting Slot Generator


Category: Interval-based coding problem
Given a start time and an end time, generate all meeting check-in slots at 5-minute intervals after start up to and including end. The...
Input: List
Output: Computed result
coding Medium Verified

Catalog Tree Diff Counter


Category: Tree coding problem
You are given two n-ary trees representing an old and a new version of a product catalog. Each node in the tree has the following fields: - key...
Input: List
Output: Computed result
system design Senior caching

[OA] Cache Implementation — Design a Delivery Caching System for DoorDash

DoorDash needs to cache the most frequently accessed delivery routes to improve API response time.
Problem Statement: Implement an LRUCache class with the following methods:
- __init__(self, capacity: int): Initialize the LRU cache with positive size capacity.
- get(self, key: int) -> int: Return the value of the key if the key exists, otherwise return -1.
- put(self, key: int, value: int) -> None: Update the value of the key if the key exists, or add the key-value pair if the key does not exist. When the cache reaches its capacity, it should invalidate the least recently used item before inserting a new item.
Example 1:
Input: cache = LRUCache(2)
cache.put(1, 1)
cache.put(2, 2)
cache.get(1)
Output: 1
Explanation: The cache contains 1 and 2, and the value for key 1 is 1.
Constraints:
- 1 <= capacity <= 3000
- 0 <= key, value <= 10000
coding Hard graph

[OA] Depth-First Search — Optimize Driver Matching for DoorDash

DoorDash needs to effectively match drivers to delivery requests based on location and time constraints.
Problem Statement: Given a grid of n x m representing a map where 1 represents an order location and 0 represents an empty space, implement a function maxDrivers(orders: List[List[int]], start: Tuple[int, int]) -> int that returns the maximum number of deliveries that can be assigned to drivers originating from start position.
Example 1:
Input: orders = [[0,0,0],[0,1,0],[0,0,0]], start = (1, 1)
Output: 1
Explanation: The only reachable order is at (1,1).
Constraints:
- 1 <= orders.length, orders[i].length <= 20
- 0 <= start[0] < orders.length
- 0 <= start[1] < orders[i].length
coding Hard sliding window

[OA] Sliding Window — Design a delivery tracking system for DoorDash

DoorDash needs a robust method to track orders and ensure timely deliveries based on real-time traffic data.
Problem Statement: Given an array of integers representing the estimated delivery times for incoming orders, implement a function maxDeliveryTime(orders: List[int], k: int) -> int that returns the maximum possible delivery time over any sub-array of size k, where k is the number of concurrent deliveries.
Example 1:
Input: orders = [2, 1, 3, 5, 6, 4], k = 3
Output: 14
Explanation: The best sub-array is [5, 6, 4], which yields a delivery time of 5 + 6 + 4 = 15.
Constraints:
- 1 <= orders.length <= 100000
- 1 <= orders[i] <= 1000
- 1 <= k <= orders.length

Start practicing DoorDash questions

Sign up for free to access walkthroughs, AI-generated questions, and more.

Get Started Free