Interview experiences

Uber SE2 Onsite Interview Experience: Hyderabad, July 2020

UberSE2·Hyderabad, India·Interviewed July 2020No offer

Updated July 17, 2026

This candidate had about three years of experience as an SDE at an Indian product company and applied to Uber's SE2 opening in Hyderabad somewhat on a whim, while browsing the careers page. A recruiter called back and put together a full interview loop shortly after.

Uber laid out a six-stage process for the role: a phone screen, a problem-solving round, a machine coding round, a system design round, a hiring manager round, and a bar raiser round. The first three rounds all required writing actual working code that the interviewer would compile and test with sample inputs, rather than just describing an approach on paper. The candidate's process ended after the third round, with a rejection email arriving about a week later.

How the process went

  1. Application and recruiter screen

    Applied directly through Uber's careers page without a referral. A recruiter reached out afterward and scheduled the interview loop for an SE2 role.

  2. Phone screen (1 hour)

    One interviewer, two data structures and algorithms problems, working code expected.

  3. Problem-solving round (1 hour)

    A single hard matrix problem; candidate only reached a brute-force solution and could not optimize it despite hints.

  4. Machine coding round (1 hour)

    Two more coding problems requiring tested, working implementations.

  5. Remaining stages not reached

    The loop was originally scheduled to include a system design round, a hiring manager round, and a bar raiser round, but the process ended before those took place.

  6. Outcome

    About a week after the machine coding round, the candidate received an email stating the process would not continue.

Phone Screen

Data structures and algorithms, with working, testable code · 1 hour

  • Given a 2D plane and a set of coordinates, return the maximum number of points that lie on a single straight line.
  • Given two sets of lines — one parallel to the x-axis, one parallel to the y-axis — find how many squares are formed by their intersections.

Candidate optimized the first question from a naive approach to the expected time complexity and wrote full working code for it.

For the second question, candidate proposed an O(m^2+n^2) hashmap-based approach; ran out of time before reaching a more optimal solution.

Interviewer gave largely positive feedback on this round.

Problem-Solving Round

Harder matrix-based algorithm problem · 1 hour

  • Given a 2D matrix containing positive and negative numbers, find the largest submatrix whose sum equals zero.

Candidate reached only a brute-force O(m^2 × n^2) solution checking all submatrices.

Could not arrive at the optimal O(m^2 × n) approach despite multiple hints from the interviewer.

Candidate described this as the round where their confidence and performance dropped the most.

Machine Coding Round

Writing and testing complete code for two problems within the hour · 1 hour

  • Given two lists of intervals, return the merged list representing their intersections (e.g. a = [[1,4],[5,7],[10,15]], b = [[2,3],[6,8],[12,17]] → [[1,4],[5,8],[10,17]]).
  • Given a matrix of 0s and 1s, count how many rectangles can be formed where all four corner points are 1.

Solved the interval-intersection problem with a merge-sort-style approach in about 35 minutes, handling edge cases and passing the interviewer's test cases.

On the rectangle-counting problem, proposed a column-by-column approach and got close with interviewer hints but did not fully complete a working, general solution.

Key takeaways

  • Uber's early rounds expect complete, runnable code that the interviewer will actually test against sample inputs — practicing on paper or pseudocode alone may not translate well.
  • Matrix and geometry-flavored problems (points on a line, squares from intersecting lines, zero-sum submatrix, rectangles in a 0/1 grid) came up across multiple rounds in this loop; drilling that category ahead of time could help.
  • A single rough round can end the process before later stages like system design — this candidate never reached the system design, hiring manager, or bar raiser rounds after a weak problem-solving round.
  • Timed mock interviews that simulate hint-based, interactive coding sessions were called out as more useful preparation than solving problems alone.
  • Interviewers in this loop gave hints when a candidate got stuck, but following a hint effectively still required being on the right track already — it is worth practicing how to make use of hints under time pressure.

Practice a Uber interview

Rehearse out loud against the kinds of questions in this story — with an AI interviewer that asks follow-ups.

Practice this interview

Source

The questions and process facts come from the candidate's public write-up, linked below. The retelling above is our own summary.

Candidate's public write-up on LeetCode Discuss