Uber logo

Uber Interview Questions

30 practice questions for Uber technical interviews

coding Medium Verified

Move Through Array


Category: Array coding problem
# Move Through Array You are given an array where each element represents the number of steps you can move from that position. Positive numbers move...
Input: Array
Output: Computed result
coding Hard Verified

OA [CodeSignal] Adventure Levels


Category: Array coding problem
# OA [CodeSignal] Adventure Levels You start with initial energy K. You need to clear a series of adventure levels. For each level i: -...
Input: Array
Output: Array
coding Hard Verified

OA [CodeSignal] Balanced Numbers in Permutation


Category: Array coding problem
# OA [CodeSignal] Balanced Numbers in Permutation Given a permutation p of integers from 1 to n. A number k (where 1 <= k <= n) is called...
Input: Array
Output: Computed result
coding Hard Verified

OA [CodeSignal] Count Palindrome Paths in Tree


Category: Tree coding problem
Given a tree with n nodes where each node has a lowercase English character c[i]. A path is palindromic if the characters along the path can...
Input: List
Output: Computed result
coding Medium Verified

OA [CodeSignal] Final Prices After Discount


Category: Array coding problem
You are given an array prices where prices[i] is the price of an item. For each item at index i, find the first item at index j > i such that...
Input: Array
Output: Computed result
coding Medium Verified

OA [CodeSignal] Jump Game


Category: Array coding problem
You are at position i in an array. From each position, you can jump to: - i + 1 (one step forward) - Any position i + k where k ends in digit...
Input: Array
Output: Computed result
coding Medium Verified

OA [CodeSignal] Longest Subsequence With Limited Sum


Category: Array coding problem
You are given two arrays: nums (containing positive integers) and queries (each containing a target sum). For each query, return the maximum...
Input: Array
Output:** Computed result
coding Hard Verified

OA [CodeSignal] Max Throughput With Budget


Category: Algorithm coding problem
You have a pipeline of services. Each service has: - Current throughput throughput[i] - Cost to scale up by 1 unit scalecost[i] You have a fixed...
Input: List
Output: Integer
coding Hard Verified

OA [CodeSignal] Minimum Edge Reversal Root


Category: Graph coding problem
Given a directed graph (represented as a tree with directed edges), choose a root node such that the minimum number of edges must be reversed so that...
Input: Graph (nodes and edges)
Output: Integer
coding Medium Verified

OA [CodeSignal] Minimum Operation To Reduce n To 0


Category: Algorithm coding problem
Given a positive integer n, in one operation you may replace n with either: - n = n + 2^i, or - n = n - 2^i for any integer i >= 0. Find...
Input: Integer(s)
Output: Integer
coding Hard Verified

OA [CodeSignal] Purchase Optimization


Category: Array coding problem
Alex is shopping at Ozone Gallerie Mall where cubicles are arranged in non-decreasing order of prices from left to right. Given: - prices: array of...
Input: Array
Output: Integer
coding Medium Verified

OA [CodeSignal] Shortest Good Subarray


Category: Array coding problem
Given an array arr and an integer k, a subarray is called good if it contains at least k distinct integers. Return the length of the...
Input: Array
Output: Integer
coding Hard Verified

OA [CodeSignal] Touring the Building


Category: Algorithm coding problem
You are on floor 0 of a building and need to reach floor n. You can use either the lift or stairs. Lift: - Takes t1 time per floor -...
Input: Given input
Output: Computed result
coding Medium Verified

Robot Map


Category: Array coding problem
Given a location map and a query, find which robot matches the query. Location Map: A 2D array where each cell contains: - O = Robot - E =...
Input: Array
Output: Computed result
system design Hard Verified

Top 6 Recently Asked Uber System Design Questions


Category: Graph system design problem
This collection covers the most frequently asked system design questions at Uber interviews.
Input: Graph (nodes and edges)
Output: Computed result
coding Hard Verified

[Low Level Design] Uber Eats Price Calculation


Category: Algorithm coding problem
In the Uber Eats marketplace, the final price of an order is a dynamic calculation involving multiple factors. Design the core classes and interfaces...
Input: Given input
Output: Computed result
coding Medium Verified

[Object Oriented Design] Meeting Reservation System


Category: Interval-based coding problem
# Meeting Reservation System Design a meeting reservation system that manages meeting rooms and schedules. Implement a MeetingReservationSystem...
Input: Integer(s)
Output: Computed result
coding Hard Verified

Capital Gains Tax Calculator


Category: String coding problem
You are given a chronologically sorted list of stock transactions. Each transaction is a list of strings in the format `[<timestamp>, <type>,...
Input: Array of strings
Output: Computed result
coding Medium Verified

Unimodal Cost Function Minimum


Category: Interval-based coding problem
# Unimodal Cost Function Minimum You are given a unimodal cost function f(x) = A * (x - C)^2 + D defined over the interval [lo, hi], where `A >...
Input: Given input
Output: Computed result
coding Medium Verified

Hierarchy Path Finder


Category: Tree coding problem
# Hierarchy Path Finder You are given an org chart represented as a tree. Each node in the tree has a unique integer ID and a display name. You are...
Input: List
Output: Computed result
coding Medium Verified

Weight Partition Check


Category: Algorithm coding problem
# Weight Partition Check You are given a list of distinct positive integer weights and a capacity value. Determine whether any subset of the weights...
Input: List
Output: Computed result
coding Medium Verified

Straight Line Sequence Search


Category: Grid/matrix coding problem
# Straight Line Sequence Search You are given an m x n grid of characters and a target sequence string. Determine whether the sequence appears in...
Input: 2D grid
Output: Computed result
coding Hard Verified

Longest Valid Container Nesting


Category: String coding problem
# Longest Valid Container Nesting You are given a string consisting only of the characters {, }, [, ], (, ). These represent three levels...
Input: String
Output: Integer
coding Medium Verified

Next Palindrome Number


Category: String coding problem
# Next Palindrome Number Given a string num representing a positive integer, find and return the smallest palindrome that is strictly greater than...
Input: String
Output: Computed result
coding Easy Verified

Annotate First Pattern Match


Category: String coding problem
# Annotate First Pattern Match You are given a string text containing words separated by spaces, and a list of patterns. For each word in text,...
Input: List
Output: Computed result
coding Medium Verified

Nested Arithmetic Expression Evaluator


Category: String coding problem
# Nested Arithmetic Expression Evaluator You are given a string expression containing nested calls to two functions: plus(a, b) and minus(a, b)....
Input: String
Output: Computed result
coding Medium Verified

Process CPU Time Calculator


Category: Interval-based coding problem
You are given a list of log entries from a single-threaded CPU scheduler. Each entry is a list of three strings: [process_name, action, timestamp],...
Input: Array of strings
Output: Computed result
coding Medium Verified

OA [CodeSignal] Prime Jumps


Category: Algorithm coding problem
# OA [CodeSignal] Prime Jumps A game is played with the following rules: - A player starts at cell 0 with a score of 0. - There is a row of n cells...
Input: Number(s)
Output: Computed result
coding Hard Verified

Palindrome Paths From Query


Category: Tree coding problem
# Palindrome Paths From Query A disk stores hierarchical data in an undirected tree with tree_nodes nodes numbered from 0 to tree_nodes - 1,...
Input: Array
Output: Computed result
system design Hard api design

[OA] Twitter Feed — Design a feed system for real-time updates

Uber has a feature to notify drivers of nearby ride requests in real-time. Implement a Twitter-like feed system that delivers updates to users based on user subscriptions to certain categories, allowing users to add, remove, and fetch their feeds.
- class Feed:
- def add_category(self, user_id: int, category: str) -> None — Add a category to the user's subscription.
- def remove_category(self, user_id: int, category: str) -> None — Remove a category from the user's subscription.
- def get_feed(self, user_id: int) -> List[str] — Return the feed of updates for the user.
Example 1:
Input: feed = Feed(), feed.add_category(1, 'Ride'), feed.add_category(1, 'Promo'), feed.get_feed(1)
Output: ['Ride', 'Promo']
Explanation: User 1 subscribes to 'Ride' and 'Promo' categories.
Example 2:
Input: feed.remove_category(1, 'Promo'), feed.get_feed(1)
Output: ['Ride']
Explanation: User 1 unsubscribes from 'Promo'.
Constraints:
- The maximum number of users is 1 <= user_id <= 10^4.
- The maximum number of categories is 1 <= category_count <= 100.

Start practicing Uber questions

Sign up for free to access walkthroughs, AI-generated questions, and more.

Get Started Free