DoorDash frontend engineer interviews emphasise JavaScript, DOM manipulation, CSS, accessibility, browser APIs, and UI component architecture.
Question You are tasked with implementing a Bootstrap API that aggregates data from multiple services for a given user. Given a userId, you...
Question You are in charge of implementing the Dasher payment model. Given the sequence of accepted/fulfilled order activities from a given dasher...
Input: ListQuestion You are given an m × n board representing a delivery area. The board contains: - 'X' - blockers (obstacles) - 'D' - DashMarts...
Question You are given two tree structures representing an old menu and a new menu. Each tree node has: - key: identifier for the menu...
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 gridm x n matrices: coverage and demand. A cell in demand is active if its value is 1. Active cells that are...Input: Number(s)template string consisting only of the characters '0', '1', and '?', and a list of integers run_lengths. A '?' in the...Input: Array of integersvalues. At each step, identify all eligible values: a value is eligible if it is strictly greater than...Input: ListDirectoryRegistry class that manages a hierarchical key-value store modeled as a tree of paths. The root path "/" always exists with...Input: Stringrecords, a list of ride events. Each record is a list of three strings: [ride_id, timestamp, status]. Possible statuses are...Input: Liststart time and an end time, generate all meeting check-in slots at 5-minute intervals after start up to and including end. The...Input: Listkey...Input: ListSystem Design Questions - DoorDash These are the commonly asked system design questions from DoorDash interviews. Updated January 2026.
Input: Linked listproducts representing the price of each product and an integer target, find all combinations of products that sum up to exactly target.Function Signature:combinationSum(products: List[int], target: int) -> List[List[int]]Example 1:
products = [2, 3, 6, 7], target = 7[[7], [2, 2, 3]]1 <= products.length <= 302 <= products[i] <= 401 <= target <= 500orders where each entry represents the distance of an order from the restaurant and an integer Time which represents the maximum time available, calculate the maximum total distance of orders that can be completed within that time. The distance for each order is defined as distance[i] = time[i] * speed[i] where speed can be considered constant.Function Signature:maxDeliveryDistance(orders: List[int], Time: int) -> intExample 1:
orders = [1, 2, 3, 4, 5], Time = 7121 <= orders.length <= 10001 <= orders[i] <= 1001 <= Time <= 1000Sign up for free to access walkthroughs, AI-generated questions, and more.
Get Started Free