Uber interview questions

109 questions from 20 interviews · updated from reports 2017-2024

Practise Uber-style

About

Uber is a technology company that runs ride-hailing, delivery, and freight platforms connecting users with drivers, couriers, restaurants, and shippers. In India, it hires for technical roles such as Software Engineering Intern, SDE-1, and Data Scientist.

The roles that come up most are Software Engineering Intern, SDE-1 and Data Scientist. This covers 20 candidate interviews reported from 2017 to 2024. Most sat it at entry level (10 of 18 that recorded a level), with 7 internship interviews alongside. Among the 15 that recorded either route, arrivals split between campus drives (10, 67%) and off-campus applications (5, 33%). Most questions fall under DSA and CS fundamentals.

Category
Difficulty
Round

Interview questions

Q. Convert a number from base 2 to base 6.

asked 5xeasyNumber systemsOnline test2022-2023

Ans. Convert the binary number to an integer, then repeatedly divide by 6 and collect the remainders in reverse order. Use a string or stack to store base 6 digits as they are produced. Handle zero separately. The time complexity is O(n) for fixed-size integers, with O(log₆ value) extra space.

Q. Burst Balloons: Given an array of balloons with numbers, find the maximum coins you can collect by bursting the balloons optimally.

asked 2xhardDynamic programmingOnline test2023-2024

Ans. Use interval dynamic programming: pad the array with 1 at both ends, and let dp[left][right] be the maximum coins from bursting balloons strictly between left and right. For each interval, try every balloon as the last one burst, gaining nums[left] * nums[i] * nums[right]. The time complexity is O(n³) and space is O(n²).

Q. Find all bridges in a graph.

asked 1xmediumGraphsTechnical2020

Ans. Use Tarjan’s DFS algorithm on an undirected graph, tracking discovery time and the lowest reachable discovery time for each vertex. For every DFS tree edge u to v, if low[v] is greater than disc[u], that edge is a bridge. Store the graph as an adjacency list. Time complexity is O(V + E).

Q. What is the bias-variance tradeoff?

asked 1xmediumMachine learningTechnical2024

Ans. The bias-variance tradeoff is the balance between a model being too simple to capture the true pattern and too sensitive to noise in the training data. High bias causes underfitting, while high variance causes overfitting. Good models minimise overall prediction error by finding an appropriate level of complexity.

Q. Delete a node in a doubly linked list

asked 1xmediumLinked listsTechnical2024

Ans. To delete a node in a doubly linked list, link its previous node to its next node and its next node back to its previous node. The key detail is handling boundaries: if it is the head, update the head; if it is the tail, update the tail. Deletion is O(1) when the node is already known.

Q. What is thrashing in operating systems?

asked 1xmediumOperating systemsTechnical2020

Ans. Thrashing is a state where an operating system spends most of its time swapping pages between memory and disk instead of executing processes. It usually happens when there is not enough physical memory for the active working sets, causing constant page faults, very low CPU utilisation, and poor overall performance.

Q. Explain ensemble learning and its advantages.

asked 1xmediumMachine learningTechnical2024

Ans. Ensemble learning combines multiple models to make a stronger overall prediction than a single model. The models may vote, average results, or be combined sequentially, as in bagging, boosting, and random forests. Its main advantages are better accuracy, improved robustness, reduced variance, and often less overfitting when the models are diverse.

Q. How does the operating system handle page faults?

asked 1xmediumOperating systemsTechnical2020

Ans. The operating system handles a page fault by trapping from the process into the kernel, checking whether the memory access is valid, and loading the missing page into RAM if needed. If physical memory is full, it selects a victim page, may write it to disk, updates the page table, and restarts the instruction.

Q. Explain threads and multithreading concepts in detail.

asked 1xmediumOperating systemsTechnical2023

Ans. A thread is the smallest unit of execution within a process, sharing the process’s memory and resources while having its own stack and program counter. Multithreading runs multiple threads in one process to improve responsiveness, resource use, or parallelism. The key issue is safe shared state, using synchronisation to avoid races, deadlocks, and visibility bugs.

Q. Find strongly connected components in a directed graph

asked 1xmediumGraphsOnline test2017

Ans. Use Tarjan’s DFS algorithm to find all strongly connected components in one pass. Maintain a stack, discovery index, low-link value, and an on-stack marker for each vertex. When a vertex’s low-link equals its discovery index, pop the stack until that vertex to form one component. Time is O(V + E).

Q. Design a grocery shop system using object-oriented programming

asked 1xmediumOOPSystem design2022

Ans. Model it with classes such as Product, InventoryItem, Customer, Basket, Order, Payment and Store. Product holds catalogue data, InventoryItem tracks stock and price, Basket manages selected quantities, and Order confirms purchase and reduces stock. The key detail is separating catalogue, inventory and ordering so pricing, availability and checkout rules stay independent.

Q. Explain decision trees, random forests, and gradient boosting.

asked 1xmediumMachine learningTechnical2024

Ans. Decision trees split data using feature tests to make predictions, random forests average many decorrelated trees, and gradient boosting builds trees sequentially to fix earlier errors. The key difference is ensemble strategy: forests reduce variance by bagging and randomness, while boosting reduces bias by adding weak learners that optimise a loss function.

Q. Write code to implement semaphores for process synchronization.

asked 1xmediumOperating systemsHR2023

Ans. Implement a semaphore with an integer count, a mutex to protect it, and a waiting queue or condition variable. wait atomically decrements the count, blocking if it would become negative or zero depending on convention. signal atomically increments it and wakes one waiter. Each operation is O(1) excluding scheduling delay.

Q. Allocate minimum number of pages (variable binary search variant)

asked 1xmediumBinary searchTechnical2022

Ans. Use binary search on the answer: the minimum possible maximum pages assigned to any student. Search from the largest single book to the sum of all pages. For each mid value, greedily assign books in order and count required students. If students needed is within limit, try smaller. Time complexity is O(n log sum).

Q. Given a case study, propose a suitable machine learning approach.

asked 1xmediumMl system designTechnical2024

Ans. Choose the simplest model that matches the target, data size, latency needs and explainability requirement. For labelled tabular prediction, start with a strong baseline such as logistic regression or gradient boosted trees, validate with cross validation, compare against a business metric, then only move to deeper models if they clearly improve performance.

Q. Explain concepts related to Threads and Object-Oriented Programming

asked 1xmediumOOPTechnical2024

Ans. Threads are independent paths of execution within a process, while object-oriented programming organises code around objects that combine data and behaviour. Threads share memory, so synchronisation is needed to avoid race conditions. OOP focuses on encapsulation, inheritance, polymorphism and abstraction to make systems modular, reusable and easier to maintain.

Q. MARTIAN - Collect maximum martians using dynamic programming on a grid

asked 1xmediumDynamic programmingOnline test2017

Ans. Use dynamic programming where dp[i][j] is the maximum martians collectable up to cell i, j. Precompute row prefix sums for one direction and column prefix sums for the other, then set dp[i][j] to the better of coming from above or from the left. Use 2D arrays, with O(nm) time and space.

Q. Maximum Width of Binary Tree – Find the maximum width of a binary tree

asked 1xmediumTreesTechnical2024

Ans. Use level order traversal with a queue storing each node and its positional index, as if the tree were a complete binary tree. For each level, the width is last index minus first index plus one. Normalise indices at each level to avoid overflow. Time complexity is O(n), space complexity is O(w).

Q. Explain gradient descent and how it is used in machine learning models.

asked 1xmediumMachine learningTechnical2024

Ans. Gradient descent is an optimisation method that adjusts model parameters to minimise a loss function. It repeatedly computes the gradient, which shows the direction of steepest increase, then updates parameters in the opposite direction by a step size called the learning rate. In machine learning, this trains models by reducing prediction error over data.

Q. Which is better for distributed systems: normalization or denormalization?

asked 1xmediumDBMSSystem design2020

Ans. Denormalization is usually better for distributed systems when read performance and availability matter, because it avoids cross-node joins and reduces network calls. The key trade-off is consistency: duplicated data must be updated carefully, often with eventual consistency. Normalization is still useful when correctness, simple writes, and avoiding duplication matter more.

Q. How do you design an experiment and select appropriate metrics for A/B testing?

asked 1xmediumStatisticsTechnical2024

Ans. Define a clear hypothesis, choose a primary success metric, split users randomly into control and treatment, run the test long enough for adequate power, and compare results using statistical significance and confidence intervals. The most important detail is choosing metrics before the test, including guardrail metrics like latency, errors, revenue, or retention.

Q. What are design patterns and why are they used? Explain any two design patterns.

asked 1xmediumOOPSystem design2020

Ans. Design patterns are reusable solutions to common software design problems, used to make code easier to understand, maintain, extend and discuss. Singleton ensures a class has only one instance and provides global access to it. Factory creates objects without exposing creation logic, helping code depend on interfaces rather than concrete classes.

Q. Given a final amount, print any list of dishes whose prices sum exactly to that amount.

asked 1xmediumBacktrackingTechnical2022

Ans. Use dynamic programming to solve subset sum and reconstruct one valid set of dishes. Keep a boolean table for reachable totals, plus a parent pointer storing which dish made each total. After filling it, backtrack from the final amount to print dishes. Time complexity is O(nA), where A is the amount.

Q. BALLOT - Determine the minimum possible maximum number of ballots per box given constraints

asked 1xmediumBinary searchOnline test2017

Ans. Use binary search on the answer, the maximum ballots allowed in any box. For a candidate value x, each city needing a ballots needs ceil(a / x) boxes, so x is feasible if the total boxes needed is at most the available boxes. The smallest feasible x is the answer. Time complexity is O(n log maxA).

Q. Maximum Width of Binary Tree: Given a binary tree, find the maximum width among all levels.

asked 1xmediumTreesTechnical2023

Ans. Use level order traversal and assign each node a position index as if the tree were complete. For each level, the width is last index minus first index plus one. Store pairs of node and index in a queue, normalising indices each level to avoid overflow. Time is O(n), space is O(n).

Q. Follow-up optimization or variation on the previously discussed dynamic programming problem.

asked 1xmediumDynamic programmingTechnical2024

Ans. Optimise the dynamic programming by keeping only the states needed for the next transition, rather than the whole table. If each state depends only on the previous row or a fixed number of earlier states, use rolling arrays or variables. This keeps the same time complexity but reduces space from O(nm) to O(m) or O(1).

Q. What challenges arise when conducting A/B tests at large scale and how would you address them?

asked 1xmediumStatisticsTechnical2024

Ans. Large scale A/B tests face issues with biased assignment, interference between users, slow or noisy metrics, multiple comparisons, and unreliable logging. I would use a controlled experimentation platform with stable randomisation, precomputed power, guardrail metrics, sample ratio checks, and clear stopping rules. The most important detail is trustworthy instrumentation and assignment.

Q. Given the schedules of multiple people, find time intervals when at least one person is available.

asked 1xmediumIntervalsTechnical2023

Ans. Use a sweep line over all busy intervals and return the gaps where the number of busy people is less than the total number of people. Add start and end events, sort them, maintain a busy count, and emit intervals within the working window when busy count is under n. Time complexity is O(m log m).

Q. Given the schedules of multiple people, find a time interval when all of them are available to meet.

asked 1xmediumIntervalsTechnical2023

Ans. Merge everyone’s busy intervals, then find the gaps where no one is busy and choose a gap long enough for the meeting. Put all busy intervals into one list, sort by start time, merge overlaps, and scan between merged intervals. The time complexity is O(n log n), dominated by sorting.

Q. Given a string of digits, find the total number of valid IP addresses that can be formed by inserting dots.

asked 1xmediumBacktrackingHR2021

Ans. Try every way to split the string into four parts, each of length 1 to 3, and count the splits where all parts are valid IP octets. A part is valid if it is between 0 and 255 and has no leading zero unless it is exactly “0”. There are at most 81 splits, so time is constant.

Q. Given a monotonic equation or function, find the value of N that satisfies the equation using binary search.

asked 1xmediumBinary searchOnline test2024

Ans. Use binary search on the possible range of N, checking the monotonic function at each midpoint to decide which half can still contain the answer. Maintain low and high bounds, update them until they meet, and return the smallest or exact N that satisfies the condition. Time complexity is O(log range).

Q. As a team leader, how would you resolve a conflict when teammates propose different design patterns for the same task?

asked 1xmediumConflict resolutionSystem design2020

Ans. A strong answer should describe a real design disagreement where both options were credible. Emphasise how you clarified requirements, compared trade-offs, involved the team, and chose based on evidence rather than preference. Interviewers listen for collaboration, technical judgement, calm facilitation, willingness to prototype or benchmark, and commitment to the final decision.

Q. Given a number n, find the number of valid parentheses expressions of length n without using the Catalan number formula.

asked 1xmediumDynamic programmingTechnical2020

Ans. Use dynamic programming: if n is odd, the answer is 0; otherwise let m = n / 2 and compute dp[i] as the number of valid expressions using i pairs. Set dp[0] = 1, and use dp[i] += dp[j] * dp[i - 1 - j]. Time complexity is O(m²), space is O(m).

Q. Pacific Atlantic Water Flow – Find all cells in a matrix from which water can flow to both the Pacific and Atlantic oceans

asked 1xmediumGraphsTechnical2024

Ans. Start from the ocean borders and search backwards: from the Pacific edges and Atlantic edges, move to neighbouring cells with height greater than or equal to the current cell. Use DFS or BFS with two visited matrices or sets. The answer is cells visited by both searches. Time is O(mn), space is O(mn).

Q. Given an encoded string containing letters, digits, and square brackets (e.g., 2[a2[b3[c]]]), decode it to its expanded form.

asked 1xmediumStringsTechnical2021

Ans. Use a stack to decode nested patterns by storing the current string and repeat count whenever you see “[”. Build numbers from digits and append letters normally. On “]”, pop the previous string and count, then append the current string repeated count times. Time is O(n plus output size), space is O(depth plus output size).

Q. Weighted Random Numbers – Design a data structure to pick an index randomly where the probability is proportional to its weight

asked 1xmediumProbabilityOnline test2024

Ans. Use an array of prefix sums of the weights, then pick a random number from 1 to the total weight and binary search for the first prefix sum at least that number. Each index owns a range of size equal to its weight, so its selection probability is weight divided by total weight. Build is O(n), pick is O(log n).

Q. Given a string and a 2D matrix of characters, check whether the string exists in the matrix by sequentially adjacent characters.

asked 1xmediumBacktrackingTechnical2022

Ans. Use depth first search with backtracking from every cell that matches the first character. Recursively try adjacent cells, usually up, down, left and right, matching the next character and marking the current cell as visited to avoid reuse. Unmark on return. Time complexity is O(mn * 4^L), where L is the string length.

Q. Design a system to track arrival and departure of passengers at an airport and calculate the duration of time each passenger stays

asked 1xmediumScalable systemsSystem design2023

Ans. Use an event driven system that records each passenger arrival and departure as timestamped events, keyed by passenger ID and airport visit ID. Store arrivals in a durable database, match departures to the open visit, then compute departure time minus arrival time. The key detail is idempotent event handling to avoid double counting retries or duplicate scans.

Q. Given multiple boxes with height and width constraints, determine the maximum number of boxes that can be nested inside one another

asked 1xmediumSortingOnline test2023

Ans. Sort the boxes by width ascending, and for equal widths by height descending, then find the longest increasing subsequence of heights. This gives the maximum number of boxes that can be nested with both dimensions strictly increasing. Use a binary-search LIS array, giving O(n log n) time and O(n) space.

Q. Pacific Atlantic Water Flow: Given a matrix of heights, determine which cells can flow water to both the Pacific and Atlantic oceans.

asked 1xmediumGraphsTechnical2023

Ans. Run a reverse search from both oceans and return cells reached by both searches. Instead of flowing downhill from every cell, start at Pacific and Atlantic borders and move to neighbouring cells with height greater than or equal to the current one. Use DFS or BFS with two visited sets. Time is O(mn), space is O(mn).

Q. Given an array of struct nodes, check whether all nodes form exactly one valid binary tree and that no nodes outside the array are referenced

asked 1xmediumTreesTechnical2017

Ans. Build a set of all node addresses or indices, then scan every left and right child reference to ensure it is either null or in that set. Count each child’s indegree, requiring no node to have indegree above one and exactly one root. Finally traverse from the root; visit all nodes once with no repeats. O(n).

Q. Given an array A of N elements, find the minimum number of replacements required to make the array elements form a continuous sequence of integers.

asked 1xmediumArraysOnline test2021

Ans. The minimum replacements are N minus the largest number of distinct existing values that already fit inside any range of N consecutive integers. Sort the unique values, then use a sliding window where max minus min is at most N minus 1. Duplicates cannot both be kept. Time complexity is O(N log N).

Q. Design a leaderboard system supporting addUser(name, email), updateScore(user, value), getRank(user), and getFirstK(K) with tie-breaking by insertion order.

asked 1xmediumClass designSystem design2021

Ans. Use a hash map from user id to record and an order statistic balanced tree keyed by score descending, then insertion sequence ascending for ties. addUser assigns a monotonic sequence and inserts score zero. updateScore removes and reinserts the user with the new score. getRank is tree rank in O(log n). getFirstK scans first K in O(K).

Q. Explain the working and implementation of Priority Queues, including heapify and deheapify operations, and compare Binary Heap, Fibonacci Heap, and Pairing Heap.

asked 1xmediumData structuresSystem design2023

Ans. A priority queue returns the highest or lowest priority item first, usually implemented with a heap array. Heapify moves a new or changed item up to restore order, while deheapify removes the root, replaces it with the last item, then moves it down. Binary heaps are simple and O(log n); Fibonacci heaps have better amortised decrease-key; pairing heaps are simpler and often fast.

Q. Given N ropes with lengths A[i], you can cut ropes into smaller pieces. Find the maximum possible rope length such that at least K ropes of that length can be obtained.

asked 1xmediumBinary searchOnline test2021

Ans. Use binary search on the rope length and return the largest length that can produce at least K pieces. For a candidate length x, count pieces as sum of A[i] / x using integer division. If count is at least K, try larger; otherwise try smaller. Time complexity is O(N log max(A)).

Q. Weighted Random Number Generation: Given numbers with associated weights, generate a random number such that the probability of each number is proportional to its weight.

asked 1xmediumProbabilityOnline test2023

Ans. Build a prefix sum array of the weights, generate a random value from 0 up to the total weight, then return the first number whose prefix sum exceeds it. This maps each number to an interval proportional to its weight. Preprocessing is O(n), each pick is O(log n) with binary search.

Q. Design a Meeting Room Booking System using Object-Oriented Programming that supports adding rooms, scheduling meetings with start time and duration, and canceling meetings

asked 1xmediumOOPSystem design2021

Ans. Use BookingSystem to manage Room objects and Meeting objects, with each room holding a calendar of bookings ordered by start time. Adding a room inserts it into a map by room id. Scheduling checks the target room’s ordered bookings for overlap, then stores the meeting. Cancelling removes it by meeting id. Operations are typically O(log n) with balanced indexes.

Q. Design a data structure that supports operations like insertion and updates efficiently, and discuss implementations using arrays, linked lists, BSTs, and Priority Queues.

asked 1xmediumLow level designSystem design2023

Ans. Use a balanced BST when you need efficient insertion, updates, deletion and ordered access, giving O(log n) operations. Arrays give O(1) indexed updates but O(n) insertion in the middle. Linked lists insert in O(1) once positioned but search is O(n). Priority queues give O(log n) insert and update if paired with an index map.

Q. Given a binary string consisting of 0s and 1s, find the maximum value of K such that repeatedly flipping all substrings of length K can make all characters of the string equal to 0.

asked 1xmediumStringsOnline test2022

Ans. The maximum K is the first value, checked from n down to 1, for which a left to right greedy flip simulation can make the string all zero. For each fixed K, track active flip parity with a difference array. If the current effective bit is 1, a flip starting there is forced. Time is O(n²), space O(n).

Q. Given a string s and an integer k, find the length of the longest substring that can be obtained by replacing at most k characters so that all characters in the substring are the same.

asked 1xmediumStringsOnline test2022

Ans. Use a sliding window and keep the longest window where length minus the most frequent character count is at most k. Store character frequencies in a map or array, track the maximum frequency seen, expand right, and shrink left when replacements needed exceed k. The answer is the largest valid window length, in O(n) time.

Q. Given initial capital and n crops, each with a minimum capital requirement and profit, choose at most k crops to maximize final capital, where profit from a crop increases the capital.

asked 1xmediumGreedyTechnical2022

Ans. Sort crops by minimum capital, then greedily repeat up to k times: add every crop now affordable to a max heap by profit, choose the most profitable one, and add its profit to capital. If no affordable crop exists, stop. Sorting plus heap operations gives O(n log n plus k log n) time and O(n) space.

Q. Design an application to control multiple devices (e.g., Fan, TV) with common commands like ON/OFF and device-specific commands. Implement the full code using appropriate OOP principles.

asked 1xmediumOOPSystem design2023

Ans. Use an abstract Device interface with common methods turnOn and turnOff, and let Fan and TV implement it with their own extra methods. A RemoteController holds a map from device name to Device, dispatching common commands polymorphically. Device-specific commands can use specialised interfaces. Lookup is constant time, command execution is constant time.

Q. Design and implement an object-oriented data structure to manage restaurant dishes with names, ingredients, and prices, supporting add, print, billing with GST, and ingredient-based filtering.

asked 1xmediumOOPTechnical2022

Ans. Use a Dish class with name, a set of ingredients, and price, and a RestaurantMenu class holding dishes in a list plus an ingredient-to-dishes map. Adding stores the dish and updates the map. Printing scans all dishes. Billing sums selected prices and applies GST. Ingredient filtering is O(1) lookup plus result size.

Q. Find the maximum number of boxes that can be nested inside each other given a list of boxes, where each box has a height and width, and a box can be placed inside another only if both height and width are strictly smaller.

asked 1xmediumDynamic programmingOnline test2023

Ans. Sort the boxes by height ascending, and for equal heights by width descending, then find the length of the longest strictly increasing subsequence of widths. That length is the maximum number of nested boxes. Use a tails array with binary search for the LIS, giving O(n log n) time and O(n) space.

Q. Given a 2D grid with roads (0) and buildings (1), multiple taxi stand locations, and a passenger location (all on roads), find the shortest path from the nearest taxi stand to the passenger. Movement is allowed up, down, left, and right. Return the actual path as a list of coordinates, or an empty list if no path exists.

asked 1xmediumGraphsOnline test2024

Ans. Use multi-source BFS starting with all taxi stands in the queue at distance zero, and expand only through road cells. When the passenger cell is first reached, it is guaranteed to be from the nearest stand. Store a parent coordinate for each visited cell, then backtrack from passenger to stand and reverse it. Time is O(rows times cols).

Q. Design MS Excel.

asked 1xhardLow level designSystem design2022

Ans. Design Excel as a grid UI backed by a sparse cell store, a formula parser, and a dependency graph for recalculation. Each cell stores value, formula, format, and dependencies. Formula changes update the graph, detect cycles, and recompute affected cells topologically. Persist workbooks as compressed structured files with sheets, styles, formulas, and metadata.

Q. Complete the Projects (Hard Version)

asked 1xhardGreedyOnline test2022

Ans. Split projects into non-negative and negative reward groups. Do all non-negative projects first, sorted by minimum required rating ascending, updating the rating. For negative projects, sort by a + b descending and check both rating >= a and rating + b >= 0. This greedy order is optimal, with O(n log n) time.

Q. Burst Balloons variation (Uber OA 2022).

asked 1xhardDynamic programmingOnline test2022

Ans. Use interval dynamic programming, choosing the last balloon burst in each subarray. Pad the array with 1 at both ends, and let dp[left][right] store the best score for bursting only balloons between them. Try every last balloon as a split point. This uses a 2D table, O(n^3) time and O(n^2) space.

Q. What do you do when you can't find the solution to a problem in a project context?

asked 1xeasyProblem solvingSystem design2020

Ans. Pick a real project where you were stuck but stayed structured. Emphasise how you clarified the problem, checked assumptions, researched, tested options, and asked the right people for input before time was wasted. Interviewers listen for persistence, judgement, collaboration, transparency, and learning, not heroic solo problem solving.

Q. Tell me about a time when you failed and what you learned from it

asked 1xunknownSelf reflectionHR2022

Ans. Pick a real failure with manageable impact, not a character flaw or disaster. Explain the context briefly, own your part without blaming others, and focus on what changed afterwards. Interviewers listen for self-awareness, accountability, resilience, and evidence that you improved your judgement, communication, planning, or follow-through as a result.

Showing 60 of 109 questions. Ranked by how often the same question came back across interviews.

Practise an Uber-style interview

A spoken interview built from these questions, scored when you finish; the feedback is yours.

Start practising

When you are ready, record The One: a single interview hiring teams watch, so you stop repeating first rounds.

Common questions

What questions does Uber ask?

Candidate interviews most often cover DSA (57%) and CS fundamentals (23%).

How many rounds does Uber interview have?

Candidate interviews show an average of 3.3 rounds per experience, with a typical sequence of Online test → Technical → System design → HR. Individual interview paths can vary.

Is the Uber interview hard?

Among questions with a recorded difficulty, the mix is easy 16%, medium 61%, hard 23%.