Uber L5A experience | Worst interview experience
Summary
I had a challenging first-round interview with Uber where the interviewer was unconvinced by my explanations despite providing a correct solution and time complexity analysis. I was ultimately rejected, with feedback citing incorrect time complexity and slow coding speed, which I believe stemmed from the interviewer's lack of understanding.
Full Experience
Had the first round of interviews with Uber.
The interviewer joined 3–4 minutes late.
He asked one graph-related question (medium-hard).
I explained that it can be solved by using a disjoint set union data structure. He asked me to explain how it will be solved using the disjoint set union. I explained the solution in detail, but he was not convinced and asked me to re-explain it with an example (it seems he had another solution in mind and was aware of it).
Now he asked me to come up with its time complexity. In solution I have to insert N string of average size L in hashMap to pre compute input data, so I told hashMap creation will be O(N*L) as internally hashMap has to compute hash of string and string hash compute will take O(L) time. Again, he was not convinced with time complexity and asked me to explain the hashMap part. He said hashMap time should be O(N) as insertion in hashMap is O(1). Again, he was not aware of the internal working of hashMap so I have to explain hashMap internal working.
All of these solutions and time complexity discussion went for about 20–25 minutes. Ideally, it should be completed in 5–10 minutes, but it got stretched because of the interviewer.
Now he asked me to write code.
I was able to write code in 20 minutes, but had to spend an extra 10 minutes debugging and fixing one bug. The interviewer was then convinced with the solution.
5 minutes remained in the interview, but he said that he wanted to ask a follow-up question, but couldn't due to time constraints. Then he ended the interview.
Got rejected in this round and got this feedback from HR:
- Pro: Was able to come up with the correct solution and wrote clean and working code.
- Con: Time complexity analysis was wrong.
- Coding speed was slow, and was not able to ask follow-up questions.
I was surprised to know the interviewer marked my time complexity analysis as wrong. Then I searched for similar questions on the net to verify my solution and time complexity, and was surprised to see that the time complexity analysis of computing the initial hashMap given in many popular websites was wrong. Almost 70–80% of the websites and leetcode discussion thread has not considered the time taken by hashMap internally to compute string hash. Then I asked Gemini, here also I got the same answer time complexity is (N), but then I asked a counter question and asked how the hash of the string is computed, then it corrected itself and answered right time complexity is O(N*L). So now safely, I can say my time complexity analysis was correct.
I solved the LC hard question in 30 minutes, but for him, my coding speed was slow. (It seems like he gave slow speed feedback because he was not able to ask follow up questions, but we spent 25 minutes in discussion, so it's his fault that he stretched the initial discussion for 25 minutes).
So, as per my understanding, I got rejected because I know stuff more than the interviewer and didn't give a standard solution or textbook answer. Even gemini gave the wrong time complexity in the first iteration, by this we can say time complexity analysis written in many popular articles is incorrect.
I discussed this in my friend group, and some of them also had experienced similar pain with an interviewer in the past with other companies. They are all saying if you are giving an interview in an MNC, then it's better to ask HR to allocated US panel for the interview (employees working in the US office, not India). Need suggestion if anyone has noticed a difference between the Indian and US panel and has asked HR to allocate the US panel?
Interview Questions (1)
Graph Problem with Disjoint Set Union and HashMap Preprocessing
You are given a graph-based problem involving preprocessing a list of strings into a HashMap and solving connectivity queries efficiently. The core challenge involves:
- Inserting N strings of average length L into a HashMap.
- Analyzing the accurate time complexity of inserting these strings considering internal hash computation overhead.
- Using Disjoint Set Union (DSU / Union-Find) data structure to solve dynamic connectivity or grouping problems based on the preprocessed data.
- Potential follow-up questions were cut short due to timing issues during the interview.
This problem combines knowledge of DSU, hashing behavior in maps, and efficient algorithm design.