Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
Top Drivers by Delivery Speed
00:00
5 left

Top Drivers by Delivery Speed

MediumSQL · PostgreSQL

Problem

Given two tables (orders and drivers), how would you identify the top 10% of drivers based on delivery speed?

Use completed deliveries with valid pickup and delivery timestamps. Define delivery speed as the driver's average delivery time in minutes, where a lower average is faster.

Output

  1. One row per driver in the fastest 10% of eligible drivers
  2. Columns: driver_id, driver_name, avg_delivery_minutes, and speed_decile
  3. Sort by avg_delivery_minutes ascending, then driver_id ascending for ties

Schema

drivers
ColumnTypeDescription
driver_idPKINTUnique identifier for the driver
driver_nameVARCHAR(100)Driver's display name
orders
ColumnTypeDescription
order_idPKINTUnique identifier for the order
driver_idINTDriver assigned to the order
picked_up_atTIMESTAMPTimestamp when the driver picked up the order
delivered_atTIMESTAMPTimestamp when the order was delivered
statusVARCHAR(20)Current order delivery status
Tablesordersdrivers
Interviewer

Your question is Top Drivers by Delivery Speed. Start with the requirements and the two tables in the Question tab.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.
CodePostgreSQL
You need to log in / sign up to run or submit.Ln 1
Run your query to see results here.