2025 papers
Uber Placement Papers 2024
Overview
This page collects Uber placement papers from 2024 with previous-year questions, solutions, and the 2024 exam pattern. It is useful when you want real drive history: what the OA looked like, which question types repeated, and how solutions were approached. Work through the papers below to build speed and accuracy, then compare against newer 2025 material so your prep matches both established Uber patterns and the latest shifts.
Uber Online Assessment 2024 pattern
| Section | Questions | Time | Difficulty |
|---|---|---|---|
| Coding Problems | 2-3 | 90 min | Medium-Hard |
Uber Placement Papers 2024 - actual questions & solutions
This section contains practice questions styled on Uber placement papers 2024 (previous-year pattern), with worked solutions. Use them as timed sectional drills - from student reports drives vary by college and role, so treat this as a high-signal practice bank, not an official paper dump.
Question 1: maximum subarray sum
Show solution
Problem Statement: Find the contiguous subarray with the largest sum.
Example:
Input: [-2, 1, -3, 4, -1, 2, 1, -5, 4]Output: 6 // [4, -1, 2, 1]Solution (Java):
public int maxSubArray(int[] nums) { int best = nums[0], cur = nums[0]; for (int i = 1; i < nums.length; i++) { cur = Math.max(nums[i], cur + nums[i]); best = Math.max(best, cur); } return best;}Time Complexity: O(n)
Space Complexity: O(1)
Question 2: binary tree level order
Show solution
Problem Statement: Return the level-order traversal of a binary tree.
Example:
Input: [3,9,20,null,null,15,7]Output: [[3],[9,20],[15,7]]Solution (Java):
public List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>> res = new ArrayList<>(); if (root == null) return res; Queue<TreeNode> q = new ArrayDeque<>(); q.add(root); while (!q.isEmpty()) { int sz = q.size(); List<Integer> level = new ArrayList<>(); for (int i = 0; i < sz; i++) { TreeNode n = q.poll(); level.add(n.val); if (n.left != null) q.add(n.left); if (n.right != null) q.add(n.right); } res.add(level); } return res;}Time Complexity: O(n)
Space Complexity: O(n)
Question 3: reverse a string
Show solution
Problem Statement: Given a string, return it reversed.
Example:
Input: "placement"Output: "tnemecalp"Solution (Java):
public String reverse(String s) { return new StringBuilder(s).reverse().toString();}Time Complexity: O(n)
Space Complexity: O(n)
Question 4: climbing stairs
Show solution
Problem Statement: You can climb 1 or 2 steps. How many distinct ways to climb n stairs?
Example:
Input: n = 4Output: 5Solution (Java):
public int climbStairs(int n) { if (n <= 2) return n; int a = 1, b = 2; for (int i = 3; i <= n; i++) { int c = a + b; a = b; b = c; } return b;}Time Complexity: O(n)
Space Complexity: O(1)
Question 5: valid parentheses
Show solution
Problem Statement: Given a string of brackets, determine if it is valid.
Example:
Input: "()[]{}"Output: trueSolution (Java):
public boolean isValid(String s) { Deque<Character> st = new ArrayDeque<>(); Map<Character, Character> pair = Map.of(')', '(', ']', '[', '}', '{'); for (char c : s.toCharArray()) { if (pair.containsValue(c)) st.push(c); else if (st.isEmpty() || st.pop() != pair.get(c)) return false; } return st.isEmpty();}Time Complexity: O(n)
Space Complexity: O(n)
Question 6: two sum
Show solution
Problem Statement: Given an array of integers and a target, return indices of two numbers that add up to target.
Example:
Input: nums = [2, 7, 11, 15], target = 9Output: [0, 1]Solution (Java):
public int[] twoSum(int[] nums, int target) { Map<Integer, Integer> map = new HashMap<>(); for (int i = 0; i < nums.length; i++) { int need = target - nums[i]; if (map.containsKey(need)) return new int[]{map.get(need), i}; map.put(nums[i], i); } return new int[]{};}Time Complexity: O(n)
Space Complexity: O(n)
Question 7: first non-repeating character
Show solution
Problem Statement: Return the first non-repeating character in a string, or ‘_’ if none.
Example:
Input: "swiss"Output: 'w'Solution (Java):
public char firstUnique(String s) { int[] freq = new int[256]; for (char c : s.toCharArray()) freq[c]++; for (char c : s.toCharArray()) if (freq[c] == 1) return c; return '_';}Time Complexity: O(n)
Space Complexity: O(1)
Question 8
Q8: Which data structure uses FIFO order?
Solution:
FIFO = First In First Out → Queue. Stack is LIFO.
Answer: Queue
Question 9
Q9: Which SQL clause filters grouped rows after GROUP BY?
Solution:
HAVING filters aggregates; WHERE filters rows before grouping.
Answer: HAVING
Question 10
Q10: Worst-case time complexity of quicksort is?
Solution:
Unbalanced partitions (already sorted with bad pivot) → O(n²).
Answer: O(n²)
Question 11
Q11: Time complexity of binary search on a sorted array of n elements is?
Solution:
Each step halves the search space → O(log n).
Answer: O(log n)
Key insights from 2024 Uber Online Assessment
- Coding Section is Critical: Must solve 2-3 coding problems correctly to advance
- Transportation System Design: Strong emphasis on transportation system design and matching algorithms
- Time Management: 2-3 coding problems in 90 minutes requires excellent speed
- Success Rate: Only 10-15% cleared OA and advanced to interviews
- Platform: Uber’s assessment platform or HackerRank
- Focus Areas: Arrays, trees, graphs, dynamic programming, matching algorithms, transportation systems
Uber 2024 interview experiences
Based on candidate experiences from 2024 Uber interviews:
2024 Interview Process:
- Online Assessment (90 minutes): 2-3 coding problems
- Technical Phone Screen (45-60 minutes): Coding problems, algorithm discussions, system design
- Onsite Interviews (4-5 rounds, 45-60 minutes each):
- Coding rounds (2-3): Algorithms, data structures, problem-solving
- System Design rounds: Transportation systems, driver-rider matching, real-time systems
- Behavioral rounds: Problem-solving approach, teamwork, impact
Common 2024 Interview Topics:
- Coding: Arrays, strings, trees, graphs, dynamic programming, matching algorithms
- System Design: Transportation systems, driver-rider matching, real-time tracking, surge pricing
- Behavioral: Problem-solving, teamwork, impact, innovation
- Uber Technologies: Transportation systems, matching algorithms, real-time systems, pricing
Success Tips:
- Strong coding performance is essential - solve problems optimally
- Practice system design for transportation systems and matching algorithms
- Prepare examples demonstrating problem-solving and impact
- Learn Uber’s business model and transportation systems
- Practice explaining your thought process clearly
For detailed interview experiences, visit Uber Interview Experience page.
Preparation tips for Uber 2024 pattern
- Master Coding Fundamentals: Focus on solving 2-3 coding problems correctly - arrays, trees, graphs, DP
- System Design Mastery: Learn transportation system design, matching algorithms, real-time systems
- Practice Previous Year Papers: Solve Uber OA papers from 2020-2024 to understand patterns
- Time Management: Practice completing 2-3 coding problems in 90 minutes
- LeetCode Practice: Solve 200+ LeetCode problems focusing on arrays, strings, trees, graphs (medium-hard difficulty)
- Matching Algorithms: Understand driver-rider matching, optimization algorithms, real-time systems
- Uber Technologies: Learn transportation systems, matching algorithms, pricing systems
- Behavioral Preparation: Prepare examples using STAR format - problem-solving, teamwork, impact
- Mock Tests: Take timed practice tests to improve speed and accuracy
- Real-Time Systems: Understand real-time tracking, surge pricing, and dynamic systems

