Uber Machine Learning Engineer Interview Experience — MLSD on Driver ETAs, Then a Coding Problem I'd Never Seen Before

Uber·Machine Learning Engineer·Sep 2025
Onsitemedium

The first round was MLSD, but it wasn't a traditional recommendation system or search problem — it was a design for real-time updates to the remaining ETA of every driver within a grid. You could only use the data they gave you, so the questions got very detailed, and any manual feature was challenged down to the last detail — I had to spell out exactly how every step would be implemented. GPS signal has error, and how to properly remove that error was grilled for a full 10 minutes... Then when we got into model details I got hit with some ML trivia, like how deep an XGBoost tree goes, how a neural net handles regularization, what to do after dropout, and the difference between training and inference. The whole round ran an hour and a half.

The second round was a hiring manager round, covering past experience and impact. They asked in detail about an AI function-calling project I'd worked on, digging into a lot of technical detail. At the end they asked how I handle and push through conflicts at work.

The third round was coding round 1, and it was the one that really put me through the wringer. A problem I'd never seen before, and never seen in any interview writeups either. A group of people are in rooms solving problems, and after each person finishes they can move on to the next room. You had to implement all sorts of operations within a room and for moving to the next room, and the final function had you return a top-K player leaderboard based on each person's status in each room. I thought to use a heap, and while writing it the interviewer challenged me that a heap could have duplicates, but I managed to talk my way through it and resolve the issue in the end. I felt like the interviewer only really bought into my approach right at the very end.

The last round was coding round 2. The interviewer was relaxed, and it was another whole-class design-and-implement problem — opening restaurants and delivering food within a certain area. Clearly the easiest of the four, very straightforward. The final function had to return the number of connected zones — basically a variant of Number of Islands. Solved it with BFS, then analyzed time and space complexity, was asked to improve the space complexity, and that was it.

Published

Curated and edited by PracHub

Practice the questions from this interview

Discussion

Sign in to join the discussion. The author is notified of every comment.

Loading comments…

Interview at a glance

Company
Uber
Role
Machine Learning Engineer
Rounds
Onsite
Difficulty
medium
Interview date
Sep 2025
Questions from this interview
5 questions

Real Uber interview experiences

First-hand reports from Uber candidates — the rounds, the questions they were asked, and how it went.

All 53 Uber interview experiences