Delivery time by cuisine

dates

Delivery time by cuisine

DoorDash SQL Interview Question

DoorDash's logistics team wants to see whether some kinds of food take longer to reach customers. Every delivery comes from a restaurant, and every restaurant serves one cuisine.

For each cuisine, find the average number of minutes from order to delivery, as avg_delivery_minutes, rounded to 1 decimal place. Only include orders that were delivered.

Asked of

  • Data Analyst
  • Product Analyst
  • BI Analyst
  • Analytics Engineer
  • Data Scientist

deliveriesTable12 rows

Column NameType
delivery_idBIGINT
restaurant_idBIGINT
dasher_idBIGINT
ordered_atTIMESTAMP
delivered_atTIMESTAMP
order_valueDOUBLE
statusVARCHAR

restaurantsTable6 rows

Column NameType
restaurant_idBIGINT
restaurant_nameVARCHAR
cuisineVARCHAR
cityVARCHAR

deliveriesExample Input

delivery_idrestaurant_iddasher_idordered_atdelivered_atorder_valuestatus
70011512024-04-12 11:58:002024-04-12 12:26:0032.4delivered
70022522024-04-12 12:05:002024-04-12 12:41:0027.8delivered
70033532024-04-12 12:20:00NULL18.5canceled
70044542024-04-12 18:02:002024-04-12 18:48:0045.6delivered
70055552024-04-12 18:15:002024-04-12 18:37:0022.1delivered
70061522024-04-12 18:30:002024-04-12 19:04:0041.25delivered
70076562024-04-12 19:10:002024-04-12 19:52:0036.9delivered

restaurantsExample Input

restaurant_idrestaurant_namecuisinecity
1Taco LocoMexicanSan Francisco
2Pho RealVietnameseSan Francisco
3Burger BarnAmericanSan Francisco
4Curry HouseIndianDenver
5Nacho MamaMexicanDenver
6Big Bite BurgersAmericanDenver

Example Output

cuisineavg_delivery_minutes
American42
Indian46
Mexican28
Vietnamese36

Explanation

Taco Loco's two deliveries took 28 and 34 minutes, and Nacho Mama's delivery took 22 minutes. Both are Mexican restaurants, so Mexican averages 28.0 minutes. The Burger Barn order was canceled and never delivered, so American is based only on the 42-minute Big Bite Burgers delivery.

The example above is a small slice of the data. Your query runs against the full tables.