Skip to content

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 = 4
Output: 5

Solution (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: true

Solution (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 = 9
Output: [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

  1. Coding Section is Critical: Must solve 2-3 coding problems correctly to advance
  2. Transportation System Design: Strong emphasis on transportation system design and matching algorithms
  3. Time Management: 2-3 coding problems in 90 minutes requires excellent speed
  4. Success Rate: Only 10-15% cleared OA and advanced to interviews
  5. Platform: Uber’s assessment platform or HackerRank
  6. 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:

  1. Online Assessment (90 minutes): 2-3 coding problems
  2. Technical Phone Screen (45-60 minutes): Coding problems, algorithm discussions, system design
  3. 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

  1. Master Coding Fundamentals: Focus on solving 2-3 coding problems correctly - arrays, trees, graphs, DP
  2. System Design Mastery: Learn transportation system design, matching algorithms, real-time systems
  3. Practice Previous Year Papers: Solve Uber OA papers from 2020-2024 to understand patterns
  4. Time Management: Practice completing 2-3 coding problems in 90 minutes
  5. LeetCode Practice: Solve 200+ LeetCode problems focusing on arrays, strings, trees, graphs (medium-hard difficulty)
  6. Matching Algorithms: Understand driver-rider matching, optimization algorithms, real-time systems
  7. Uber Technologies: Learn transportation systems, matching algorithms, pricing systems
  8. Behavioral Preparation: Prepare examples using STAR format - problem-solving, teamwork, impact
  9. Mock Tests: Take timed practice tests to improve speed and accuracy
  10. Real-Time Systems: Understand real-time tracking, surge pricing, and dynamic systems

Comments & Suggestions

Similar companies

Google · Amazon · Microsoft · Ola · Swiggy · Zomato