Uber SDE two rounds of VO interview experience|LCA tree question + array frequency question + no trace of assisted replays

624 Views
No Comment

both rounds Uber SDE VO has just finished, and the overall experience is quite good, very fast-paced, natural and smooth communication. Both interviewers are quite chill, but the questions are very clear: one round is biased towards data structure design (LCA thinking), and the other round is biased towards algorithmic fundamentals and detail control.

Uber Interview Process Overview

Link Description Types of questions/exams Interview highlights
Online Assessment (OA) Usually done on Codesignal with 3-4 algorithmic questions Data Structures, Strings, Graph Theory, Dynamic Programming Time complexity control, boundary condition handling
Recruiter Call Brief communication to confirm position, interview time, salary expectations, etc. Career motivation, program fit Articulate career plans
Technical Interview / VO Round 1 One or more rounds of coding interviews, using a shared IDE (e.g. coderpad) Trees, graphs, arrays, hashes, double pointers, etc. Code correctness + clarity of thought + complexity analysis
Technical Interview / VO Round 2 Advanced algorithmic or systems thinking questions with follow-up discussions Design questions, extended questions Ability to be flexible and discuss optimization options
Behavioral / HM Round Communicate with Hiring Manager Leadership, communication skills, ownership STAR framework narrative experience
System Design (for intermediate and advanced levels) Most SDE II and above exams Distributed architecture, service splitting, scalability design Trade-off analytics + landability
Offer Discussion Communicate offer details with recruiter Salary, visa, entry time, etc. negotiation expression

Round 1 Coding: Employee Hierarchy Tree + Finding Common Superiors

The interviewer was a white guy who started off very friendly and went straight into the technical part after the pleasantries. The core of the topic is actually Lowest Common Ancestor (LCA) variant, only wrapped in the context of Uber's employee system.

Problem Description:
The company hierarchy is a tree, from the CEO to the average employee, and each employee node contains:

  • id
  • name
  • Points to his/her direct manager (mgr) references
  • and all direct reports (directReports) references

Realization of a whoIsYourBoss(emp1, emp2) method, which returns the ID of their most recent common superior.

I started by asking about a few key points, a step that is actually very important:

Is there only one immediate manager per person?

CEO without a manager?

What about entering the same employee? ➡️ returns itself.

If the node does not exist in the tree? ➡️ returns null.

The most problematic part of this type of tree question is these "boundary conditions", but ask clearly to give the interviewer a good impression of communication.

For the implementation part I used conventional LCA ideas:

  • Bottom-up backtracking (recording parent node paths).
  • If the company is large, you can also store manager mapping + visited set judgment in advance.

Follow-up It's more interesting:

"How can this be accomplished if the node does not contain a reference to a manager and can only be searched from the CEO?"

At this point, you can't use the hash path method, you need to use DFS to search from top to bottom. After I wrote both versions (bottom-up + top-down), the interviewer said he was satisfied.

Round 2 of Coding: Finding user IDs that appear only once

In the second round, there was a very handsome Latino guy who smiled the whole time. The questions seemed simple, but they were actually quite detailed.

Problem Description:
Given an array representing the IDs of users accessing the Uber system over a period of time, find the IDs that appear only once.

The key point is "the number of occurrences is not fixed", I did not directly ask "does every element occur twice", but confirmed by example:

"For example, does this input make sense? [1,1,2,2,2,3,4,4]"

The interviewer nods in confirmation.

I started by writing the most intuitive hash table solution:

  • Frequency of traversal statistics
  • Output ID with frequency 1

Follow-up It's the advanced version:

What if each duplicate ID appears only twice?

I immediately switched to the XOR solution, O(n) time + O(1) space, and closed with a perfect answer.

Wrap-up

Overall, I feel that Uber's VO questions are very "clean" and the ratio of coding to communication is close to 7:3. Interviewers are very concerned about whether you ask about requirements and think about boundaries before you start writing.

Good helper for successful Offer

Companies like this Uber / Meta / TikTok / Capital One etc. VOs Programhelp have all accumulated a lot of real questions and practical experience.
We can deliver:

Real-time voice assistance: Reminds you to "ask for boundaries" and "add complexity analysis" when you're stuck;

No Trace Online Assists: Synchronize code logic remotely without leaving any trace;

:Practice with real questions: Customized mock based on 500+ question banks from large manufacturers.

If you're preparing for an interview at Uber or another FAANG series, contact us in advance to help you turn your preparation into a manageable "practice run".

More face-to-face experiences to share:

Two Sigma Quant Researcher OA + interview review|Probabilistic Decision Making, Expectation Calculation and Geometric Probability Comprehensively Explained

Reddit System Design Interview in-depth disassembly: from the feed ranking to the voting system, to help you avoid the pit to get Offer

Quora Interview Questions Technical Interview Detailed review: a "deep interrogation" about AB Test.

author avatar
jor jor
END
 1