← Back to Directory

Uber interview notes, page 26 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·Software Engineer·Technical Phone Screen

May 2026
Uber SWE interview with a two-part coding problem: first build a hit counter with multi-key support over a rolling 5-minute window, then layer a rate limiter on top of it. Pretty focused session, no fluff.
  • Design a hit counter that tracks the number of hits in the last 5 minutes, with support for multiple independent keys (like 'a', 'b', etc.).
  • Using the hit counter you just built, implement a basic rate limiter.

“The multi-key part tripped me up more than the sliding window logic.”

View Post

Uber·Software Engineer·Onsite - Coding / Algorithms

May 2026
Uber SWE coding round, one problem the whole time. It's basically LeetCode 1101 but with string timestamps and rider names instead of integers, so don't let the wrapper fool you into thinking it's something new.
  • Given a list of timestamped ride logs where each entry connects two riders, find the earliest timestamp at which all riders form a single connected component. Return "-1" if they never fully connect. Timestamps and rider names are strings. The logs are sorted in increasing timestamp order.

“Recognized it as a union-find problem pretty fast, which felt good.”

View Post

Uber·Software Engineer·Technical Phone Screen

May 2026
Did a coding round for a Software Engineer role at Uber. Two algorithm problems, one of which I'd seen before in a slightly different form, one I hadn't. Nothing too wild but the binary search one required more careful thinking than I expected.
  • You have a list of vault sizes [3, 6, 7, 11] and 8 hours total. Find the minimum integer rate k (units per hour) such that processing all vaults finishes within the time limit.
  • Given the integer set {2, 5, 3, 11} and a target of 10, determine whether any subset sums to the target.

“Binary search on the answer, which I knew conceptually but fumbled the boundary conditions at first.”

View Post

Uber·Software Engineer·Onsite - System Design / Architecture

May 2026
System design round at Uber for a software engineer role, focused entirely on building a real-time chat system. The whole session drilled into transport layer choices and offline delivery, which I wasn't expecting to go that deep on.
  • Design the backend for a real-time one-to-one and group messaging application, covering live delivery, message history, and delivery/read receipts.
  • Walk through exactly what happens, step by step, when user A sends a message to user B while B is offline, and then B reconnects 10 minutes later.
  • Defend the choice of WebSocket over HTTP long polling and Server-Sent Events for this workload. When would you actually prefer SSE or long polling?
  • How do you guarantee per-conversation message ordering and deduplicate retried sends from a flaky mobile client?
  • For a group with 200 members, do you fan out messages on write or on read, and what are the tradeoffs of each approach?
  • How do you scale the stateful connection tier and route a message to the correct server holding a recipient's active socket?

“I started with the database and the interviewer immediately steered me toward the transport layer.”

View Post

Uber·Software Engineer·Technical Phone Screen

May 2026
Uber SWE coding round with a two-part array problem that started reasonable and then escalated fast. The follow-up asking for O(log N) without sorting is the kind of thing that sounds doable until you're actually in the seat trying to explain it.
  • Given a sorted nondecreasing array of integers, reorder the elements by increasing absolute value (i.e. by square) in O(N) time. Elements with equal squares can appear in any order.
  • Follow-up: given the same sorted array and an integer k, return the k-th element when ordered by square value, in O(log N) time, without fully sorting by squares.

“Two-pointer approach from both ends, comparing absolute values and filling a result array from the back.”

View Post

Uber·Software Engineer·Technical Phone Screen

May 2026
Uber SWE coding round with a deceptively tricky step-function problem that looks familiar but isn't. The problem description alone took a while to parse correctly, and I spent more time than I'd like to admit just figuring out what the input even meant.
  • Given two arrays of (timestamp, value) tuples representing step functions, merge them into a single step function where each segment's value is the sum of the two input functions at that point in time.

“The first thing I did wrong was assume I knew what the tuple format meant and just started coding.”

View Post

Uber·Data Scientist·Onsite - System Design / Architecture

May 2026
Uber DS interview that was basically one long system design session on recommendation systems. They wanted the full stack, not just the modeling bits, and pushed back whenever an answer felt too textbook.
  • Design an end-to-end recommendation system for a feed, e-commerce, or short-video product. Walk through the full design from product goals to serving infrastructure.
  • What data sources and labeling strategies would you use, and how do you handle biases in the training data?
  • How would you structure the two-stage retrieval and ranking pipeline, and what are the trade-offs between different approaches at each stage?
  • How would you handle serving at scale, including latency constraints, caching, and embedding index choices?
  • How would you monitor the system post-launch and decide when to retrain?

“This is a beast of a question and I underestimated how much they'd push on the 'why' behind every choice.”

View Post

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

May 2026
Uber MLE interview with a system design question that had a versioning twist I wasn't fully expecting. The core idea is a social graph but the snapshot requirement is what makes it interesting and where most candidates probably trip up.
  • Design a social network that supports follow and unfollow operations, plus the ability to create snapshots of the relationship graph at any point in time. Historical snapshots must remain queryable even after subsequent unfollows. Implement Follow, Unfollow, CreateSnapshot, and IsFollowing with snapshot version support.

“The follow/unfollow part is trivial, a set per user and you're done.”

View Post

Uber·Software Engineer·Onsite - System Design / Architecture

May 2026
Uber advertising team interview for a senior software engineer role. The question was a system design problem I'd never seen anywhere in my prep, which was both annoying and kind of refreshing. Solved it, felt decent about the communication, still got rejected.
  • Design a last-click attribution system. There are two event types: a click event (with timestamp, userId, campaignId) and a conversion event (with timestamp, userId). For each conversion, attribute it to the most recent click from the same user where the click falls within a fixed time window before the conversion. Implement recordClick, recordConversion, getCampaignConversions, and getUserAttribution. You also need to write and run your own tests.

“None of my prep covered this.”

View Post

Uber·Product Manager·Onsite - Product Sense / Strategy

May 2026
PM interview at Uber with a product improvement question about Uber Eats. Short and focused, just the one question from what I remember.
  • How would you improve Uber Eats?

“Classic product improvement format.”

View Post