← Back to Directory

Uber interview notes, page 27 of 61

Large Enterprises

Most of these Uber write-ups come from Software Engineers (407), then Data Scientists (78) and Machine Learning Engineers (65). The most reported rounds are the technical phone screen (387), the system design round (95), the product sense round (46) and the onsite coding round (23).

609 interview notes · updated Aug 2026

Uber·Machine Learning Engineer·Technical Phone Screen

May 2026
Uber ML engineer round, one coding question the whole time. It was a text generation problem that looked straightforward but had enough edge cases to keep you honest.
  • Build a two-part text generation system: first, write a function that takes a text corpus and builds a frequency map tracking which words follow each word and how often. Second, write a generator that uses that map to produce a sequence of a given length by always picking the highest-frequency next word from the current one.

“The frequency map part was fine, tokenize on whitespace, strip punctuation, nested dict.”

View Post

Uber·Software Engineer·Technical Phone Screen

May 2026
Phone screen for a SWE role at Uber, basically a warm-up coding round centered on array manipulation. Nothing too wild but the follow-up they throw in can trip you up if you haven't thought about it beforehand.
  • Given a sorted integer array that may contain negative numbers, return a new array of the squared values in non-decreasing order. You must do it in linear time, no squaring then sorting.
  • Follow-up: instead of returning the full sorted squares array, how would you find just the K-th smallest square value?

“I knew the two-pointer approach going in, but I fumbled the initialization for a second because I kept second-guessing which end to write into first.”

View Post

Uber·Software Engineer·Onsite - System Design / Architecture

May 2026
Uber SWE interview focused on object-oriented design, specifically building a real-time top-K ranking system. The follow-up questions on concurrency and error handling made it more involved than I expected.
  • Design a real-time top-K ranking system. Walk through your data structures and how you'd keep the rankings updated efficiently.
  • How would you handle multi-threading in this system if multiple threads are updating rankings concurrently?
  • The input data stream contains errors and malformed entries. How do you handle that at scale?
  • Write tests for the ranking system you designed. What cases would you cover?

“Went with a hashmap to track counts and bisect to maintain a sorted list for the top-K slice.”

View Post

Uber·Software Engineer·Technical Phone Screen

May 2026
Uber SWE interview with a graph BFS problem that looks deceptively simple until you realize the naive stop-by-stop BFS will TLE you into oblivion. The key insight is modeling the problem over buses rather than stops, and I didn't get there fast enough on my own.
  • Given an array of bus routes where each route cycles through a list of stops forever, find the minimum number of buses you need to take to travel from a source stop to a target stop. Return -1 if it's not reachable.

“My first instinct was BFS over stops, which is the wrong layer of abstraction.”

View Post

Uber·Machine Learning Engineer·Technical Phone Screen

May 2026
Uber MLE interview with a pandas-heavy data wrangling question. Not the ML theory I was expecting, more like a data engineering exercise dressed up as a business metrics problem.
  • You have three DataFrames for a food delivery platform: orders (with order_id, product_id, quantity, unit_price, status), products (with product_id, category_id), and categories (with category_id, category_name). Join them and compute per-category metrics: total sales as sum of quantity times unit_price, average sales per order line, and completion rate as the fraction of rows where status equals 'completed'.

“Took me a second to realize this was three-way join territory and not just two tables.”

View Post

Uber·Software Engineer·Technical Phone Screen

May 2026
Uber coding round, one problem the whole session. It was a graph question that looks deceptively clean on the surface but has enough moving parts to trip you up if you haven't seen re-rooting before.
  • Given a directed tree with n nodes, for each node i find the minimum number of edge reversals needed so that every other node is reachable from node i.

“I knew it was a tree problem pretty fast but spent way too long trying to brute-force a BFS from every node before accepting that wouldn't scale.”

View Post

Uber·Data Scientist·Technical Phone Screen

May 2026
Uber data scientist interview with a pandas/Python coding question followed by a product case study. The coding part was more forgiving than expected since the interviewer cared about logic over syntax, but the case study follow-up caught me a bit flat-footed.
  • Given a DataFrame of orders with columns like order_id, city, order_type, and status, compute the completion rate (completed / total) for a specific city and order_type combination. Handle edge cases like NaN values, zero denominators, and case sensitivity.
  • If the completion rate for a specific city is unusually low, what root causes would you hypothesize and how would you validate each? Which intervention would you ship first?

“I went straight to pandas groupby and immediately second-guessed myself on NaN handling.”

View Post

Uber·Software Engineer·Onsite - System Design / Architecture

May 2026
Uber system design round for a software engineer role. The question was about building a follow/unfollow system with bidirectional lookups, which sounds straightforward until you actually have to justify every design decision out loud.
  • Design a class that manages user follow relationships and supports querying in both directions: who a user follows, who follows them, and whether a follow relationship exists between two users.

“My first instinct was a single map from follower to a set of followees, and the interviewer immediately asked how I'd get all followers of a given user efficiently.”

View Post

Uber·Software Engineer·Onsite - System Design / Architecture

May 2026
System design round at Uber for a software engineer role. The whole thing was a single deep-dive into building a real-time driver heatmap, which sounds focused but actually sprawls into like five different sub-problems once you get into it.
  • Design a real-time driver heatmap system for a ride-sharing platform. Drivers stream GPS pings continuously, and riders see an aggregated heatmap of driver density refreshed every 5 to 30 seconds. Walk through the full system from ingestion to serving.
  • How would you handle the trade-off between heatmap accuracy and infrastructure cost, especially at lower zoom levels where you're aggregating large geographic areas?
  • What happens to your system during a peak traffic spike when the driver ping backlog in the streaming pipeline grows faster than it can be processed?

“This one is deceptively wide.”

View Post

Uber·Machine Learning Engineer·Onsite - System Design / Architecture

May 2026
ML system design round at Uber for an MLE role. The whole session was one deep problem about autocomplete for destination search, and they really wanted you to go end-to-end from candidate generation all the way to latency constraints and privacy tradeoffs. Dense but interesting.
  • Design an ML system that predicts and ranks destination suggestions in the Uber app as a user types the first few characters of an address.
  • How would you construct training data for the destination ranking model, and what would you use as positive and negative examples?
  • What offline and online metrics would you use to evaluate this system?
  • How would you handle cold-start for new users who have no trip history?
  • The system needs to return results on every keystroke with under 50ms latency. How does that constraint shape your design choices?
  • What privacy and personalization tradeoffs exist in this kind of destination prediction system?

“This one sprawls fast.”

View Post