Uber | SSE | Technical Phone Round
Summary
Applied for Uber's SSE (L5-A) backend position. The interview process included a technical phone round with two questions. The first was a LeetCode problem on water and jug problem, which required an optimized solution. The second was a system design problem involving managing a hierarchy of employees with specific functions. Both interviews resulted in rejection.
Full Experience
Appeared for SSE (L5-A) backend position
- https://leetcode.com/problems/water-and-jug-problem/
Interviewer won't help at all. He pasted the question and then turned off his audio video. Optimized working solution is expected. [Rejected] - I again appeared for different job ID for same SSE position
- You are given a list of edges [[a,b], [b,c], [d,f], [f,g]]. Here a,b means a is manager of b. You have to implement 3 functions:
a. Return total number of employees under a manager (both direct and indirect)
b. Change the manager of an employee. If that employee has some reportees then those will also be affected.
c. Add new employees. Eg: [c,d] needs to be added.
Input format was not hardcoded. You have to write the main function on how input will be given to these apis.
Basically if you create a tree structure you would be able to solve this question. The key was to have optimized solution such that (a) part should have TC - O(1)
I couldn't come up with optimized solution in the given time.
[Rejected]
- You are given a list of edges [[a,b], [b,c], [d,f], [f,g]]. Here a,b means a is manager of b. You have to implement 3 functions:
Interview Questions (2)
Water and Jug Problem - Determine if it is possible to measure exactly z liters using two jugs with capacities x and y liters.
You are given a list of edges representing a hierarchy where each edge [a,b] indicates a is the manager of b. Implement three functions:
a. Return total number of employees under a manager (direct and indirect)
b. Change the manager of an employee, propagating changes to reportees
c. Add new employees to the hierarchy.
Input format is not hardcoded; you must define how input will be provided to the APIs. The key challenge is to design an optimized solution with O(1) time complexity for part (a).