Uber technical phone screen interview

Round 3 of 6 · 42 questions reported

See the whole loop
Length
60 min
Format
One medium problem with a follow-up, or two short ones; sometimes object-oriented design
They grade
Correct code and your own test cases

Questions Uber asks in this round 42

  • Find robots by distances to the nearest blockerCodingYou are given an m x n board. Each cell is one of: - 'O': a robot - 'E': an empty cell - 'X': a blocker You are also given a query of four integers left, top, bottom, right. For a…
    Last asked Sep 2026
  • Oldest one-time visitor in a login streamCodingAn online store wants to know which customers have visited only once. Every login is reported to your service as a username, in the order the logins happen. Implement a class…
    Last asked Aug 2026
  • Minimize a black-box convex functionCodingYou are given a black-box function F that is convex on a closed interval a, b. You cannot see its formula or its derivative. The only way to learn about it is to call evaluate(x)…
    Last asked May 2026
  • Project deep dive: present a project you ledBehavioralPresent a project you led in about 20 minutes: context, your role, the architecture, three hard trade-offs, metrics, cost and return, and what you would change. Then take 25…
    Last asked Apr 2026
  • Next greater palindromeCodingYou are given a string n holding a positive integer in decimal, with no leading zeros. It can be hundreds of digits long, so it may not fit in any built-in integer type. Return…
    Last asked Jun 2026
  • Evaluate nested add and sub expressionsCodingImplement evaluate(expression: str) - int, which evaluates a string written in a small function-call language. An expression is either: - an integer literal, possibly negative…
    Last asked Jun 2026
  • Leftmost column with a one in a row-sorted binary matrixCodingIn an m x n matrix of 0s and 1s, each row has all its 0s before its 1s. Return the index of the leftmost column that holds a 1, or -1 if there is none. Start with a binary search…
    Last asked May 2026
  • Knockout tournament by rank, then build the bracketCodingPlayers are listed by rank, where a smaller number is a better player. Neighbours play each other (index 0 against 1, 2 against 3, and so on) and the better rank advances, round…
    Last asked May 2026
  • Earliest time everyone is connectedCodingA time-sorted log has lines such as t3 Bob shared-ride-with Charlie. Sharing a ride connects two riders, and connection carries through other riders. Given the log and the list of…
    Last asked Apr 2026
  • Hit counter over a sliding time windowCodingBuild a counter that records events with timestamps and reports how many happened in the last five minutes. Timestamps arrive in non-decreasing order. Reported variants: counts…
    Last asked Jan 2026
  • Build order for a package and its dependenciesCodinggetdependencies(package) returns a package's direct dependencies; the whole graph is not given up front. Given a target package, return an order in which to build it and…
    Last asked Jan 2026
  • Detect a cycle in a directed graphCodingDecide whether a directed graph contains a cycle, using depth-first search with node states or Kahn's topological sort. Variants that came up: start with a linked list (fast and…
    Last asked Dec 2025
  • Best currency conversion rate across exchange quotesCodingYou run a currency desk. You are given a list of quotes (from, to, rate): one unit of from buys rate units of to. A quote works only in the direction given; the reverse is…
    Last asked Nov 2025
  • Outer boundary of an N-ary treeCodingPicture walking around an N-ary tree: from the bottom-left up the left side to the root, then down the right side to the bottom-right. Return the nodes seen on that walk, in…
    Last asked Oct 2025
  • Minimum hourly rate to empty every vault in timeCodingA row of vaults holds vaultsi units each, and there are h hours. Each hour you can take up to k units from one vault only; leftover capacity in that hour does not carry over to…
    Possibly retired
  • Subset sum to a targetCodingGiven a list of positive integers nums and a non-negative integer target, decide whether some subset of nums adds up to exactly target. Each element may be used at most once…
    Possibly retired
  • Sort a grid into snake order with adjacent swapsCodingAn n x n board holds each number from 1 to nn once. Rearrange it into snake order: the first row increases left to right, the second right to left, and so on, alternating. The…
    Last asked Sep 2026
  • Where to apply ML in a task marketplace for driversML designA platform lets customers post tasks that drivers carry out. When a driver finishes, they upload evidence that the task was done. In a short, open discussion, walk the flow from…
    Last asked Aug 2026
  • Word search with a word search II follow-upCodingFind words on a letter grid by adjacent moves, then extend the solution to finding many words at once efficiently. Reported on 1point3acres' Glean bank; reconstructed in our own…
    Last asked Jul 2026
  • Sort clothing sizesCodingGiven a list of clothing sizes such as S, M, L, XS and XL, sort them from smallest to largest. Clarify which sizes can appear (for example, how many Xs may come before S or L) and…
    Last asked Jun 2026
  • Deep equality of two recordsCodingWrite a function that decides whether two records are deeply equal: the same keys, with values that are equal all the way down through nested maps and lists. Agree with the…
    Last asked Jun 2026
  • Design a food delivery platformSystem designDesign the backend of a food delivery app: customers browse nearby restaurants and order, restaurants accept and prepare the order, and a courier is assigned and tracked live…
    Last asked Jun 2026
  • Last-click attributionCodingImplement APIs that record users' ad clicks and, when a user converts, credit the conversion to that user's most recent click. Settle the open questions first, such as an…
    Last asked May 2026
  • Store name autocompleteCodingImplement autocomplete over a set of store names: given the prefix typed so far, return the matching stores. Discuss a trie against simpler options, how many results to return and…
    Last asked May 2026
  • Design Google CalendarSystem designCreate events, invite people, handle recurring events and time zones, show free/busy, and send reminders, for hundreds of millions of users.
    Last asked May 2026
  • Insert, delete and get random in O(1)CodingDesign a set with insert(val), remove(val) and getrandom(), each in average O(1) time. getrandom returns each current element with equal probability.
    Last asked May 2026
  • Parking lot manager in ReactCodingBuild a small React app that manages a parking lot: show the spots and whether each is free, let vehicles park and leave, and keep everything on screen in sync. The round focuses…
    Last asked May 2026
  • Exclusive time of functionsCodingFrom function start and end logs, compute each function's exclusive execution time excluding nested calls. Reported on 1point3acres' Decagon bank; reconstructed in our own words.
    Last asked Apr 2026
  • CLIP contrastive lossML designImplement the CLIP-style contrastive loss for a batch of matching image and text embeddings. Build the image-text similarity matrix, take the cross-entropy against the diagonal…
    Last asked Apr 2026
  • Design a feed recommendation systemML designRank the items in each user's home feed so they engage more, choosing from millions of candidates within a couple of hundred milliseconds.
    Last asked Mar 2026
  • Letter combinations of a phone numberCodingEach digit from 2 to 9 on a phone keypad stands for a few letters. Given a string of digits such as "2345", list every letter string it can spell and say how many there are.
    Last asked Mar 2026
  • Linear regression with hand-written gradient descentCodingFit a one-feature linear regression by gradient descent on mean squared error, without an ML library. Then discuss choosing the learning rate, when to stop, and how to spot a…
    Last asked Mar 2026
  • Kth smallest element in a BSTCodingGiven the root of a binary search tree and an integer k, return the k-th smallest value in it, ideally stopping the in-order walk as soon as you reach it.
    Last asked Feb 2026
  • Time for a virus to infect the whole gridCodingA grid has infected, healthy and empty cells. Each minute the virus spreads from every infected cell to its healthy neighbours up, down, left and right. Return the number of…
    Last asked Feb 2026
  • Fewest jumps between two indices of a circular arrayCodingIn a circular array, arri is the exact distance you may jump from index i, either left or right, wrapping around the ends. Given a start index and a target index, return the…
    Last asked Jan 2026
  • Bracket the first matching substring in each wordCodingImplement wrapsubstrings(s: str, elements: liststr) - str. s is a sentence of words separated by single spaces. elements is a list of strings. For each word in s, find the first…
    Last asked Jan 2026
  • Implement multi-head self-attentionML designWrite multi-head self-attention from scratch: project the input to queries, keys and values, split them into heads, compute scaled dot-product attention, combine the heads and…
    Last asked Jan 2026
  • Design stock price alertsSystem designUsers set alerts such as "tell me when this stock goes above a price". Design the system that watches live prices and notifies the right users quickly. Cover how alert rules are…
    Last asked Dec 2025
  • Cheapest flights within K stopsCodingGiven flights as (from, to, price), a source, a destination and an integer k, return the cheapest price from the source to the destination using at most k stops, or -1 if there is…
    Last asked Dec 2025
  • Print a directory tree with indentationCodingGiven a root directory, print it and everything under it, one entry per line, with each entry indented one step more than its parent directory.
    Possibly retired