Uber

A short recruiter call, an online assessment, a 60-minute coding screen, then four 60-minute virtual rounds: two coding (one often object-oriented design), system design (a project deep dive below senior) and a hiring-manager round.

132 questions

  • Design a parking lotOO designModel a multi-floor parking lot with spot types for motorcycles, cars and trucks: park, unpark, find free spots, and charge by time.
    Last asked Oct 2026
  • Hiring-manager round on impact and collaborationBehavioralA behavioral round on past project impact, work with non-engineering partners, mentorship, and roadmap influence. Distinct from the values-focused culture round.
    Last asked Sep 2026
  • Number of islandsCodingGiven a binary matrix, return how many islands it has: groups of 1 cells connected up, down, left or right (diagonals don't connect).
    Last asked Sep 2026
  • Number of islands as land is addedCodingA grid starts as all water. Positions are turned into land one at a time; after each addition, return the current number of islands (land cells connected up, down, left or right)…
    Last asked Sep 2026
  • Squares of a sorted array, then the k smallest squaresCodingYou get an integer array sorted in non-decreasing order; it may hold negative numbers. 1. Return the squares of all its elements in sorted order, faster than sorting again (O(n)…
    Last asked Sep 2026
  • Shortest increasing path to a target value in a gridCodingGiven an integer grid, answer repeated queries. Each query names a target value; return the values along a shortest path from the top-left cell to a cell holding that value, where…
    Last asked Sep 2026
  • 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
  • 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
  • Design TinyURLSystem designTurn long URLs into short links and redirect visitors fast, at billions of redirects a day, with optional custom aliases and expiry.
    Last asked Aug 2026
  • In-memory file system with files and foldersCodingImplement an in-memory file system with path-based file and folder access, plus follow-ups on per-directory limits, duplicate names and identical contents. Covers the bank's vault…
    Last asked Aug 2026
  • Meeting room scheduler over a fixed set of roomsCodingImplement a MeetingScheduler for a fixed set of meeting rooms. Each room has a unique string ID. - MeetingScheduler(roomids: liststr) sets up the rooms. Room IDs are unique. -…
    Last asked Aug 2026
  • Design UberSystem designRiders request trips, nearby drivers get matched, and both see live location until drop-off, with pricing and payment, for millions of trips a day.
    Last asked Aug 2026
  • K closest points to a query locationCodingGiven a list of 2D points and a query location, return the k points closest to it by Euclidean distance. Compare sorting, a size-k max-heap and quickselect, and say which you…
    Last asked Aug 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
  • Serialize and deserialize an N-ary treeCodingDesign a string format for a rooted tree in which each node has any number of children in a fixed order. Implement serialize(root) and deserialize(data) so that decoding gives…
    Last asked Jul 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
  • 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
  • Build a quadtreeCodingA quadtree splits a 2D region into four quadrants, recursively: every node is either a leaf or has exactly four children. Build one yourself. One version builds it from a square…
    Last asked Jun 2026
  • Sliding-window request rate limiterCodingImplement a rate limiter that accepts at most limit requests in any window of ttl milliseconds. - allow(timestamp) is called once per incoming request. timestamp is in…
    Last asked Jun 2026
  • Group anagramsCodingGroup the words in a list that are anagrams of one another, keeping repeated words. Build the grouping key from letter counts instead of sorting each word.
    Last asked Jun 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
  • Design Facebook MessengerSystem designOne-to-one and group messaging for a billion users: real-time delivery, offline sync, read receipts and message history on every device.
    Last asked Jun 2026
  • Shortest path in a grid with blocked cellsCodingGiven a grid in which some cells are blocked, return the length of the shortest path from a start cell to a target cell, moving up, down, left or right, or report that no path…
    Last asked Jun 2026
  • Social follow graph with point-in-time snapshotsCodingBuild an in-memory follow graph that can answer questions about its own past. Follows are directed: a following b says nothing about b following a. Implement a SocialNetwork…
    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
  • Alien dictionaryCodingYou get a list of words sorted in the dictionary order of an unknown alphabet. Derive an order of the letters that is consistent with it, or report that none exists. Explain how…
    Last asked Jun 2026
  • Design a logging serviceSystem designIngest logs from every service at terabytes per day, make them searchable within seconds, and keep them cheaply for months.
    Last asked Jun 2026
  • LRU cacheCodingBuild a key-value cache with a fixed capacity that evicts the least recently used entry when it is full. get(key) returns the value or a miss, put(key, value) inserts or updates…
    Last asked Jun 2026
  • Maximize pipeline throughput within a scaling budgetCodingA message pipeline has n services in series, and every message passes through all of them. The pipeline's throughput is therefore the minimum throughput of any service. You are…
    Last asked Jun 2026
  • Minimum triggers to clear linked balls on a gridCodingYou are given n balls on a 2D grid. ballsi = xi, yi is the position of ball i, and you are also given a non-negative integer d. Two balls are linked when they lie on the same row…
    Last asked Jun 2026
  • Design a driver leaderboard based on reviewsSystem designRiders review drivers after each trip. Design a leaderboard that ranks drivers by their reviews. Cover how ratings are aggregated as new reviews arrive, how rankings are stored…
    Last asked Jun 2026
  • Max-score jumps with primes ending in 3CodingYou are given a non-empty integer array nums of length n. You stand on index 0 and must finish on index n - 1. From index i you may move forward in one of two ways: - Step: move…
    Last asked Jun 2026
  • Pick the root that needs the fewest edge reversalsCodingYou are given a tree with n nodes labeled 1 to n. Its n - 1 edges are directed: each edge (u, v) points from u to v. Ignoring direction, the edges connect all nodes into a tree…
    Last asked May 2026
  • Palindromic paths from a node to the rootCodingA storage system keeps its directories in a tree. Each directory holds one lowercase letter as a label. You are given: - arr: a list of n lowercase letters; arri is the label of…
    Last asked May 2026
  • Design a driver location heatmapSystem designShow near-real-time density of available drivers and rider demand on a city map, updated every few seconds from millions of location pings.
    Last asked May 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
  • 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
  • Word search in a straight lineCodingGiven an m x n grid of uppercase letters board and a string word, decide whether word appears in the grid along a straight line. A match starts at some cell and reads len(word)…
    Last asked May 2026
  • Design a stock trading platformSystem designUsers place market and limit orders; match them, update balances and positions exactly once, and stream prices in real time.
    Last asked May 2026
  • Design a payment fraud detection systemML designScore every card payment for fraud within tens of milliseconds, balancing blocked fraud against declined good customers, with labels that arrive weeks later.
    Last asked May 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
  • Fix a bug in an unfamiliar repo with an AI assistantCodingYou get a small full-stack repository, a reported defect and an AI coding assistant in the browser. Reproduce the problem, find the root cause, fix it and show the fix works…
    Last asked May 2026
  • Longest subarray with absolute difference within a limitCodingGiven an integer array and a limit, return the length of the longest contiguous subarray in which any two elements differ by at most limit. The expected answer is O(n): a sliding…
    Last asked May 2026
  • Design an online shopping cartSystem designKeep a user's cart across devices and sessions, apply prices and promotions correctly, and hand off to checkout reliably.
    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
  • 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
  • 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
  • Live top-k best-selling books leaderboardCodingA bookstore wants a live leaderboard of its best-selling books. Sales arrive one at a time, and the leaderboard can be read at any moment. Implement a BookSalesTracker class: -…
    Last asked May 2026
  • Design YelpSystem designFind businesses near a location by category and rating, read and write reviews and photos, for a read-heavy audience.
    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
  • 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
  • Customer revenue with referral credit and bottom-k queryCodingBuild an in-memory system that tracks how much revenue each customer brings in, including revenue from the customers they referred. Customers get integer ids starting at 0, in the…
    Last asked Apr 2026
  • Design a daily puzzle platformSystem designDesign a platform that publishes a new puzzle every day for users to solve. Cover the APIs, how puzzles are scheduled and served, how attempts and results are stored, and how the…
    Last asked Apr 2026
  • Find a local minimum in an arrayCodingReturn the index of any element smaller than its neighbours (the ends compare with their one neighbour). A linear scan works; the follow-up is logarithmic time by binary searching…
    Last asked Apr 2026
  • Zero array after range-decrement queriesCodingYou get an array of non-negative integers and a list of queries l, r. Each query lets you subtract 1 from any chosen positions between l and r. Decide whether the array can be all…
    Last asked Apr 2026
  • Deduplicate concurrent downloads of the same URLCodingWrite a downloader that many threads call with URLs. Downloads of different URLs run in parallel. When several threads ask for the same URL at the same time, only one of them…
    Last asked Apr 2026
  • Design view counting for product pagesSystem designDesign the backend for product pages on a large shopping site that records how many times each product is viewed. Cover taking in view events at high volume, counting them…
    Last asked Apr 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
  • Balanced prefixes in a permutationCodingYou are given a permutation p of length n: every integer from 1 to n appears exactly once, in some order. Call a number k (with 1 <= k <= n) balanced if some contiguous subarray…
    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
  • Minimum knight movesCodingOn a chess board (possibly infinite), return the fewest moves a knight needs to get from one square to another. Use BFS, and consider symmetry or bidirectional BFS to make it…
    Last asked Apr 2026
  • Shortest subarray with at least k distinct valuesCodingYou are given an integer array arr and an integer k. Call a contiguous subarray good if it contains at least k different values. Return the length of the shortest good subarray…
    Last asked Apr 2026
  • Design a top-K popular items systemSystem designReport the K most viewed or played items over sliding windows (last minute, hour, day) from a firehose of billions of events per day.
    Last asked Mar 2026
  • Design a personalized search ranking systemML designRank search results for each user's query and context so they find and book (or order) what they want, learning from clicks and conversions.
    Last asked Mar 2026
  • Max purchases from a sorted price rowCodingA market hall has n stalls in a row, numbered 1..n. Stall i sells a single kind of item at price pricesi-1, and the prices are non-decreasing from left to right. A shopper may buy…
    Last asked Mar 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
  • Design a driver queue for a pickup areaSystem designDrivers waiting in a dedicated pickup area join a queue and are offered trips in order. Design it: how drivers enter and leave the queue, how their place is kept fairly, and how…
    Last asked Feb 2026
  • Nearest exit from a mazeCodingGiven a grid maze of walls and open cells and your starting cell, return the fewest steps to the nearest exit, an open cell on the border other than the start, or -1 if there is…
    Last asked Feb 2026
  • Lift-to-stairs switch with an energy budgetCodingYou start on floor 0 of a building with 0 energy and need to reach floor n. You ride the lift from floor 0 up to some floor k (0 <= k <= n), then walk the stairs from floor k to…
    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
  • Final prices after next-lower-price discountsCodingYou get a list of prices. Each item is discounted by the first later price that is lower than it (agree whether an equal price counts); an item with no such price pays full price…
    Last asked Feb 2026
  • Vertical order traversal of a binary treeCodingGive every node of a binary tree a column (root at 0, left child one less, right child one more) and a row. Return the node values column by column from left to right, top to…
    Last asked Feb 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
  • 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
  • Maximize the minimum asset value within an upgrade budgetCodingYou hold a portfolio of n assets. Asset i is currently worth valuesi. You can upgrade any asset as many times as you like. Each upgrade of asset i costs costsi and adds valuesi to…
    Last asked Jan 2026
  • Cart and pricing engine for a food delivery orderOO designIn a food delivery marketplace, an order's final price is more than the sum of its menu items: item customizations such as extra toppings and sizes change it, and so do other…
    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
  • Smallest starting index that never leaves on the leftCodingEach cell of an array holds a move: a positive number moves you that many cells right, a negative one moves you left. Starting from some index you keep following the moves. Find…
    Last asked Dec 2025
  • 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
  • Group dependent tasks into parallel levelsCodingYou run a build system. Each task has a unique, non-empty lowercase name. Some tasks depend on others: a dependency before, after means before must finish before after can start…
    Last asked Dec 2025
  • Place K pickup points to minimize total L1 distanceCodingGiven the coordinates of N people, choose K shuttle pickup locations so that the sum of each person's Manhattan (L1) distance to their nearest pickup is as small as possible…
    Last asked Dec 2025
  • 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
  • Design search for a food delivery appSystem designDesign the search box of a food delivery app: users type a query and get restaurants and dishes that can deliver to them. Cover indexing restaurants and menus, filtering by…
    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
  • 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.
    Last asked Oct 2025
  • Split tasks between two workers when one takes exactly kCodingThere are n tasks. Worker one earns reward1i for task i and worker two earns reward2i. Every task goes to exactly one worker, and worker one must do exactly k tasks. Return the…
    Possibly retired
  • Compare Paxos and RaftSystem designExplain how Paxos and Raft reach consensus and how they differ: leader election, log replication, how each handles failures and network partitions, and why Raft is considered…
    Possibly retired
  • Count subarrays with at least k equal pairsCodingGiven an integer array and k, count the contiguous subarrays that contain at least k pairs of indices i < j with equal values. For example, 0, 1, 0, 1, 0 with k = 2 has 3 such…
    Possibly retired
  • 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
  • One round of candy crush on a gridCodingAn integer matrix holds coloured blocks; equal numbers are the same colour and 0 is empty. Run one round: find every block that is part of a group to crush (clarify the rule; the…
    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
  • Brightest position on a streetCodingEach street lamp has a position and a range, and lights every point within that range on both sides. Return the leftmost position lit by the most lamps.
    Possibly retired
  • Design real-time ETA predictionML designPredict when a driver will arrive at pickup and drop-off, updated every few seconds during the trip, accurate to within a minute or two.
    Possibly retired
  • Earliest common slot in two calendarsCodingGiven two people's calendars as lists of time intervals and a meeting length, return the earliest slot of that length that works for both, or nothing. Clarify whether the…
    Possibly retired
  • ML fundamentals deep dive for ML rolesML designAfter a short walk through your resume, expect fast questions on machine learning basics, usually centred on your own area (language models, vision, recommendations). For each…
    Possibly retired
  • Place fixed shapes on a grid in orderCodingYou get an n x m grid and a list of shapes, like Tetris pieces that neither rotate nor fall. Place them in order: each goes at the first position, scanning from the top-left…
    Possibly retired
  • Run three methods in a fixed order across threadsCodingThree methods, first(), second() and third(), are called by three different threads in any order. Make sure they always run in that order, using locks, events or semaphores.
    Possibly retired
  • Design typeahead suggestionsSystem designSuggest completions as the user types into a search box, within tens of milliseconds, ranked by popularity and fresh with trending queries.
    Possibly retired
  • Random point in non-overlapping squaresCodingDefine a class for a square on the plane and return a uniformly random point inside it. Follow-up: given many non-overlapping squares, return a point that is uniformly random over…
    Possibly retired
  • Design a news feedSystem designDesign the home feed for a social network with 1B users: posts from people you follow, ranked, fresh within seconds.
  • Design a traffic forecasting systemML designForecast speed on every road segment for the next hour from live GPS traces, for routing and arrival-time estimates.
  • Design an address autofill systemML designAs a user types an address, suggest the full, valid address they mean, ranked by likelihood and personalized by location and history.
  • Design an AI chatbot appAI systemBuild a chatbot app on top of a hosted LLM API: conversations, streamed answers, history, and per-user usage limits.
  • Design LeetCodeSystem designUsers solve coding problems in the browser; run their submissions safely against hidden tests, return verdicts quickly, and support live contests with leaderboards.
  • Folder path from a node idCodingA file browser stores its folder hierarchy as three parallel arrays: - idListi is a unique folder id. - childreni lists the ids of the folders directly inside folder idListi. -…
  • Levels cleared from every starting pointCodingA game has n levels in a row. You are given two integer arrays of length n, layers and energy, and an integer K. A run that starts at level i begins with exactly K energy and…
  • Longest valid bracket substring with nesting ranksCodingGiven a string made only of the characters (, ), , , { and }, return the length of the longest contiguous substring that is valid. A string is valid when all of these hold: 1…
  • Which prefixes of 1..n appear as a contiguous blockCodingYou are given an array p of length n that is a permutation of the integers 1..n (each value appears exactly once). For every k from 1 to n, decide whether p has a contiguous…