Katkat

Company

Uber interview questions

217 practice questions in the style of Uber's interviews, covering Behavioral & Leadership, Statistics & Math, Coding & Algorithms, Machine Learning, System Design, Data Manipulation (SQL/Python), Analytics & Experimentation, Software Engineering Fundamentals, ML System Design, Product / Decision Making, Product Design & Strategy.

Questions217

9 easy156 medium52 hard

Your progress0/217

Uber interview questions by the numbers

Last updated

Katkat has 217 Uber interview questions. The largest topics are Coding & Algorithms (53%), System Design (12%) and Analytics & Experimentation (10%). By difficulty: 4% easy, 72% medium and 24% hard. The most common round is Technical Screen (47%). Frequent concepts include System Design, Algorithms, Greedy and Data Structures.

Difficulty

  • Easy4% · 9
  • Medium72% · 156
  • Hard24% · 52

Interview rounds

  • Technical Screen47% · 102
  • Onsite41% · 88
  • Online Assessment12% · 26
  • Other0% · 1

Roles

  • Software Engineer63% · 137
  • Data Scientist25% · 54
  • Machine Learning Engineer10% · 21
  • Frontend Engineer1% · 2
  • Backend Engineer0% · 1

Frequent concepts

  • System Design6% · 13
  • Algorithms5% · 11
  • Greedy5% · 11
  • Data Structures5% · 10
  • Causal Inference4% · 9
  • Distributed Systems4% · 9

Showing 31–60 of 217 results

  • This question evaluates understanding of probability theory, numerical methods, and algorithmic implementation for converting probability density functions into cumulative distribution functions, addressing analytic versus sampled PDFs along with support, normalization, and monotonicity requirements.

    UberData ScientistCoding & AlgorithmsTechnical Screen
  • A grid coding problem where land cells are added one at a time to an initially all-water grid and you must report the number of islands after every addition. It tests incremental connectivity, efficient merging of islands as they join, and correct handling of repeated additions.

    UberSoftware EngineerCoding & AlgorithmsOnsite
  • This question tests the ability to manage connected components in a grid dynamically, specifically requiring an efficient approach to track changes after incremental land additions.

    UberSoftware EngineerCoding & AlgorithmsOnsite
  • A classic grid coding problem asking you to count the islands formed by horizontally or vertically connected land cells in a binary grid. It tests grid traversal, connected-component counting, and careful handling of grid boundaries and already visited cells.

    UberSoftware EngineerCoding & AlgorithmsOnsite
  • This problem tests your ability to use bit manipulation and prefix properties on trees to solve path-related queries efficiently, specifically focusing on the property that a set of characters can form a palindrome if at most one character has an odd frequency.

    UberSoftware EngineerCoding & AlgorithmsOnline Assessment
  • This problem tests your ability to use combinatorial counting and dynamic programming to determine the number of valid sequences in which a population can be infected under specific adjacency constraints.

    UberSoftware EngineerCoding & AlgorithmsOnsite
  • This question evaluates graph traversal and connected-components detection on grids, measuring competence in grid-based algorithms, neighbor connectivity, and algorithmic analysis of time and space complexity.

    UberMachine Learning EngineerCoding & AlgorithmsOnsite
  • This question evaluates a candidate's ability to design and implement dynamic programming for counting paths, combining combinatorial reasoning with modular arithmetic and handling step-size constraints tied to primes ending in digit 3.

    UberSoftware EngineerCoding & AlgorithmsOnline Assessment
  • This question evaluates algorithmic problem-solving focused on frequency-based counting and efficient enumeration of subarrays, testing competence in designing subquadratic solutions and selecting appropriate data representations within the Coding & Algorithms domain.

    UberSoftware EngineerCoding & AlgorithmsOnline Assessment
  • This question evaluates proficiency in array algorithms, frequency-based counting and combinatorial reasoning for identifying equal-element pairs within contiguous subarrays.

    UberSoftware EngineerCoding & AlgorithmsOnline Assessment
  • This problem tests your ability to recursively compare two complex, nested data structures while handling different types like dictionaries, lists, and primitives.

    UberSoftware EngineerCoding & AlgorithmsTechnical Screen
  • Define and integrate room ranking factors evaluates metric design, causal reasoning, experiment setup, diagnostics, SQL/statistical checks, and recommendations in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    UberSoftware EngineerAnalytics & ExperimentationOnsite
  • This question tests the ability to derive a Cumulative Distribution Function (CDF) from a given Probability Density Function (PDF), ensuring proper integration and boundary conditions.

    UberData ScientistStatistics & MathTechnical Screen
  • This question set evaluates leadership, communication, stakeholder management, decision-making under ambiguity, and technical project ownership for a data scientist, including the ability to quantify impact and reflect on failures.

    UberData ScientistBehavioral & LeadershipOnsite
  • This question evaluates system design trade-off decision-making, technical leadership, and communication by probing how an individual balances competing goals and constraints when changing an architecture.

    UberSoftware EngineerBehavioral & LeadershipOnsite
  • This question evaluates end-to-end machine learning system design and ownership — covering problem framing, data and feature engineering, model choice, training and evaluation, deployment, monitoring, and measured impact — and it probes interpersonal leadership in handling conflicts over model decisions, metrics, or product trade-offs.

    UberMachine Learning EngineerBehavioral & LeadershipTechnical Screen
  • This question evaluates ownership, judgment, self-awareness, and the ability to communicate technical depth to non-experts and senior stakeholders, while also probing data-science-specific competencies such as forecasting, experimentation, causal inference, and measuring impact.

    UberData ScientistBehavioral & LeadershipOnsite
  • This question evaluates a candidate's technical leadership, ownership, communication, and ability to describe design trade-offs, metrics, and problem-solving within a software engineering project.

    UberSoftware EngineerBehavioral & LeadershipOnline Assessment
  • This question tests your ability to design a high-scale, distributed URL shortening service that handles billions of requests while ensuring low latency and data durability.

    UberSoftware EngineerSystem DesignOnsite
  • Design distributed storage with versioned metadata, block replicas, layered caches, failure repair, locality-aware jobs, and resource-aware load balancing.

    UberSoftware EngineerSystem DesignOnsite
  • This question evaluates competency in end-to-end machine learning system design for real-time spatiotemporal ETA prediction, encompassing feature engineering from heterogeneous data sources, uncertainty quantification, model selection, and production serving and monitoring.

    UberData ScientistMachine LearningTechnical Screen
  • This question tests the ability to design a distributed, highly concurrent shopping cart service for a food delivery platform, focusing on transactional integrity, race conditions, and eventual consistency.

    UberSoftware EngineerSystem DesignOnsite
  • Design MapReduce for schedule aggregation evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    UberSoftware EngineerSystem DesignOnsite
  • This question evaluates proficiency in scalable stream and batch data processing, windowed aggregation, event-time semantics, deduplication, skew mitigation, and distributed computation using MapReduce/Spark paradigms; it falls under System Design and Big Data/stream-processing and is commonly asked to assess designing correct, high-throughput windowed aggregations and handling late or duplicated events at scale. The level of abstraction is practical application with architectural and operational considerations rather than low-level coding, and this English summary frames the competency and interview focus for search engines.

    UberSoftware EngineerSystem DesignOnsite
  • This question evaluates experimental design and causal inference competencies for marketplace pricing, covering metric selection, guardrail definition, interference and switchback designs, and sample-size and treatment-window tradeoffs.

    UberData ScientistAnalytics & ExperimentationTechnical Screen
  • This question evaluates a candidate's ability to design scalable, reliable event-collection and analytics systems, covering client- and server-side instrumentation, event schemas/APIs, counting total versus unique views, handling high write volumes for popular products, storage choices for raw events and aggregated counters, and operational concerns such as bot filtering, deduplication, privacy, fraud prevention, freshness, reliability, and monitoring. It is commonly asked in the System Design domain to assess architectural thinking and operational trade-offs, testing both conceptual understanding of distributed systems and practical application of scalable data pipelines, storage, and observability.

    UberSoftware EngineerSystem DesignOnsite
  • This question evaluates a data scientist's skills in experimental design and causal inference, marketplace metrics and diagnostics, fairness and safety impact assessment, incentive and policy evaluation, and ETA modeling and forecast quality measurement.

    UberData ScientistAnalytics & ExperimentationOnsite
  • This question evaluates a candidate's ability to design scalable, low-latency alerting and notification systems, covering system architecture, APIs, data modeling, event-driven alert evaluation, deduplication, and multi-channel delivery; it is in the System Design category and assesses practical application skills.

    UberSoftware EngineerSystem DesignTechnical Screen
  • An Uber Software Engineer system design onsite question: design the search function for an Uber Eats-style food delivery platform, covering APIs, data ingestion, geo-aware indexing and retrieval, multi-stage ranking, real-time availability updates, scaling, caching, fault tolerance, monitoring, and freshness-vs-latency trade-offs. It tests the ability to build a low-latency, location-aware, highly available search system with strong observability.

    UberSoftware EngineerSystem DesignOnsite
  • This problem evaluates the ability to design a high-throughput, fault-tolerant logging infrastructure capable of ingesting and storing massive volumes of telemetry data from diverse distributed services.

    UberSoftware EngineerSystem DesignOnsite

Uber interview experiences

All 42 →
  • Building a Directory Tree and Traversing It with a Manual StackUber · Software Engineer · Technical Screen · Sep 2026
    Rejected

    The interview lasted 45 minutes. We first went through my resume. I was asked about my most challenging project and the technology stack I normally use, and the interviewer introduced the work of the hiring group. The remaining half hour was for coding. Given a series of file paths, I needed to build a directory tree and find the full path of a file in that tree. Directory names could repeat, but…

  • Matrix Swaps and Infrastructure DesignUber · Software Engineer · Senior+ · Onsite · Sep 2026

    The author describes an Uber infrastructure-backend interview process with a phone screen and three virtual-onsite rounds. The screen asked for a valid sequence of adjacent swaps that arranges a matrix into alternating-direction sorted rows, followed by discussion of reducing the number of operations. The applicant had to create tests and found the time limit demanding. Onsite coding involved rep…

  • 45 Min Coding Plus 15 Min Free-Form ML Design, Onsite Invite Next DayUber · Machine Learning Engineer · Technical Screen · Aug 2026
    In progress

    The phone screen format was 45 min coding + 15 min design. For coding I got the high-frequency "find robot" problem. I discussed the brute force solution with the interviewer, then how to precompute the distances in all four directions to speed it up, and finally wrote the optimized version. The interviewer didn't provide any test cases in HackerRank and didn't ask me to write any either. I only…

  • A Three-Level Robot Path OptimizationUber · Software Engineer · Senior+ · Technical Screen · Aug 2026

    In a grid, a robot needs to move from a starting point to a destination. Each move consumes one unit of battery power. Charging cells are distributed throughout the grid, and when the robot reaches one, its battery is recharged to full. The task is to find an optimal path using the following priorities, compared lexicographically: Minimize the number of charging cells used. Minimize the maximum b…

  • Four Onsite Rounds, All About the Follow-UpsUber · Software Engineer · Onsite · Aug 2026

    Four rounds, questions weren't hard but the pace was really fast Let me lead with the conclusion: Uber's problems really aren't hard, but they move fast. 45 minutes a round, and the interviewer practically wants you to knock out the main problem in 15 minutes so there's a full half hour left for piling on requirements. It felt less like solving problems and more like sitting in a requirements rev…

More companies