Analysis for a ride and delivery marketplace always has two sides: people asking for a ride or a meal, and drivers and couriers offering their time. A number that looks good for one side can hurt the other. Prepare to define marketplace health for a city, describe queries over trips and requests in words, and explain why ordinary tests mislead here. What to show here: numbers read from both sides of the marketplace, city by city. Each question below has what the interviewer is checking, an answer frame and a sample spoken answer to adapt.
How Uber hires, in its own words, and its questions for every job →
“I was asked whether a faster delivery promise would raise orders. The data said yes, customers ordered more. But I also looked at the delivery staff, which nobody had asked for. With the faster promise, they had more late deliveries counted against them and more of them stopped working with us. I put both findings on one page, side by side, with the same weight. I did not recommend for or against. I showed what each option would cost and who would pay. The team chose a middle promise for busy hours. The outcome was your result.”
Weak answers answer only the question asked and never check the effect on the other side.
“Our overall waiting time looked stable for months and the team was satisfied. I noticed complaints rising in a few smaller regions, so I split the number by region. Waiting time had improved in the two largest regions and become clearly worse in several small ones. Because the large regions had most of the volume, the average did not move. I showed the team a chart with one line per region instead of one total. We changed the weekly report to list the regions that got worse, next to the overall number. The result was your result.”
Weak answers trust the overall figure, or cannot explain how a stable average can hide a decline.
“For riders I would track the share of requests that end in a completed trip, and the time from request to pickup. For drivers I would track how much of their online time is spent with a passenger, since waiting and driving to pickups bring them nothing. Then a balance measure: requests against available drivers, by area and hour. These have to be read together. Very short waits may simply mean too many idle drivers. Busy drivers may mean riders cannot get a car. Health is when both sides are reasonably served, so I would show them on one page.”
Weak answers give trip count as the only measure, or describe only the rider's side.
“I would start from the requests table, with one row per request and its final outcome. If outcomes are in a status history table, I first take the last status per request. The request time is converted to the local time of its city, because hour of day only makes sense locally. Then I group by city and local hour. Inside each group I count requests per outcome with conditional sums, and divide each by the total. I would check that the four shares add up to one. I would also decide how to treat a rider who requests again right after no driver was found.”
Weak answers group by server time, or count status rows instead of requests.
“In a normal test, the two groups do not affect each other. Here they share one pool of drivers. If the new matching gets drivers to its riders faster, those drivers are taken from riders in the old group, whose wait grows. The difference then looks bigger than it would be if everyone had the new method. I would split by something that keeps the pool separate: whole cities, or blocks of time within a city that switch between old and new in random order. That needs more time for a clear answer, and I must account for differences between hours and days.”
Weak answers run an ordinary split by rider and trust the result.
“The status table has one row per change, so first I need periods. For each driver, ordered by time, I use a window function to take the time of the next row. A row with status online, paired with the next change, gives one online period with start and end. Periods still open at the end of the day are cut at midnight. Then I left join trips on driver and on the trip start falling inside the period, and count trips per period. I keep periods longer than the chosen length with a count of zero. I would check a few drivers by hand.”
Weak answers subtract the first time of the day from the last, which ignores breaks and gives wrong periods.
“First I would compare riders in that city on the new app version with those still on the old one. If both cancel more, the update is probably not the cause. Then I look at when riders cancel: right after seeing the price, while waiting for a match, or while the driver is on the way. Each stage suggests a different cause. I would also check what else changed in that city that week: fewer drivers, longer waits, weather, a local event. If only the new version is affected and only in that city, I would look for something local, such as a language or payment option.”
Weak answers blame the update at once, or never check at which stage riders cancel.
“What I like is that the data describes a balance, not a single customer. Every number has two readings, one for the person asking and one for the person providing, and a decision that ignores either will fail. It is also very local. A city is its own small economy with its own rush hour and weather. In your project I learned how much an average can hide, and I became careful about breaking numbers down. I want to learn how to design tests when groups affect each other, which I have only read about so far.”
Weak answers speak of big data in general and never mention drivers, riders or cities.
No figures on this page: pay depends on the level, the city and the offer in front of you. When the offer comes, the free salary negotiation script helps with that part.
ClapAssist is an AI interview assistant for Mac and Windows. It listens to the interview on your computer and shows you what to say, in short lines you can read while you talk. Your live interview audio and screen are never stored. Your resume and notes are saved to your account so the app fills them in on any computer. It is hidden from screen share on every plan, including Free; only you can see it.