Skip to main content

Uber Coding Interview Questions

Review this list of 7 Uber Coding Software Engineer interview questions and answers verified by hiring managers and candidates.
  • Uber logoAsked at Uber 

    "public int minInsertions(String s) { int n = s.length(); int dp = new intn; for (int len = 2; len <= n; n++) { for (int i = 0; i + len - 1 < n: i++) { int j = i + len - 1; if (s.charAt(i) == s.charAt(j)) { dpi = dpi + 1; } else { dpi = 1 + Math.min(dpi + 1, dpi); } } } return dp0; } `"

    Jatin S. - "public int minInsertions(String s) { int n = s.length(); int dp = new intn; for (int len = 2; len <= n; n++) { for (int i = 0; i + len - 1 < n: i++) { int j = i + len - 1; if (s.charAt(i) == s.charAt(j)) { dpi = dpi + 1; } else { dpi = 1 + Math.min(dpi + 1, dpi); } } } return dp0; } `"See full answer

    Software Engineer
    Coding
    +1 more
  • +2

    "def sortedSquares(nums): n = len(nums) result = [0] * n left, right = 0, n - 1 pos = n - 1 while left abs(nums[right]): result[pos] = nums[left] ** 2 left += 1 else: result[pos] = nums[right] ** 2 right -= 1 pos -= 1 return result `"

    Ramachandra N. - "def sortedSquares(nums): n = len(nums) result = [0] * n left, right = 0, n - 1 pos = n - 1 while left abs(nums[right]): result[pos] = nums[left] ** 2 left += 1 else: result[pos] = nums[right] ** 2 right -= 1 pos -= 1 return result `"See full answer

    Software Engineer
    Coding
    +1 more
  • "from collections import deque from typing import List def longestsubarraydifflessthan_n(nums: List[int], N: int) -> int: """ Find the length of the longest contiguous subarray such that the difference between any two elements in the subarray is less than N. Equivalent condition: max(subarray) - min(subarray) < N Approach (Optimal): Sliding window with two monotonic deques: max_d: decreasing deque of indices (front is index of current max"

    Ramachandra N. - "from collections import deque from typing import List def longestsubarraydifflessthan_n(nums: List[int], N: int) -> int: """ Find the length of the longest contiguous subarray such that the difference between any two elements in the subarray is less than N. Equivalent condition: max(subarray) - min(subarray) < N Approach (Optimal): Sliding window with two monotonic deques: max_d: decreasing deque of indices (front is index of current max"See full answer

    Software Engineer
    Coding
    +1 more
  • Uber logoAsked at Uber 

    " def closest_palindrome(n: str) -> str: """ Finds the closest palindromic number to n (excluding itself). Assumptions: If two palindromes are equally close, return the smaller one. n is a positive integer represented as a string. Time Complexity: O(1) Space Complexity: O(1) """ length = len(n) num = int(n) Helper to build palindrome from a prefix def makepalindrome(prefix: int, isodd_length: bool) -> int: s = str(prefi"

    Ramachandra N. - " def closest_palindrome(n: str) -> str: """ Finds the closest palindromic number to n (excluding itself). Assumptions: If two palindromes are equally close, return the smaller one. n is a positive integer represented as a string. Time Complexity: O(1) Space Complexity: O(1) """ length = len(n) num = int(n) Helper to build palindrome from a prefix def makepalindrome(prefix: int, isodd_length: bool) -> int: s = str(prefi"See full answer

    Software Engineer
    Coding
    +1 more
  • "Build a counter using queue, one queue per service ("a", "b") and one with just timestamps to get the overall load. Build rate limiter service using the counter and interviewer asked if there rate limiter might use a different instance of a counter"

    Chethan N. - "Build a counter using queue, one queue per service ("a", "b") and one with just timestamps to get the overall load. Build rate limiter service using the counter and interviewer asked if there rate limiter might use a different instance of a counter"See full answer

    Software Engineer
    Coding
  • 🧠 Want an expert answer to a question? Saving questions lets us know what content to make next.

  • +7

    "public static int knapsack(int[] weight, int[] values, int cap) { int memoized = new intweight.length+1; for(int i=0; i=0) { memoizedi=Math.max(valuesi-1]+memoized[i-1], memoizedi-1); } else { memoizedi=memoizedi-1; } } } return memoizedweight.length; }"

    Divya R. - "public static int knapsack(int[] weight, int[] values, int cap) { int memoized = new intweight.length+1; for(int i=0; i=0) { memoizedi=Math.max(valuesi-1]+memoized[i-1], memoizedi-1); } else { memoizedi=memoizedi-1; } } } return memoizedweight.length; }"See full answer

    Software Engineer
    Coding
    +2 more
  • Uber logoAsked at Uber 
    Software Engineer
    Coding
    +2 more
Showing 1-7 of 7