Phone interview:
A common BFS/DFS problem. The interviewer was nice but seemed disinterested, obviously doing work the entire time.
Onsite introduction:
There was supposed to be a pre-onsite discussion with a recruiter, who was a no-show.
Onsite 1:
A hard string manipulation question. I came up with a brute-force solution but couldn't think of the greedy optimization within the allotted time. The interviewer wasn't necessarily bad, but he provided zero guidance, leading me to believe his only data point was whether I could solve the problem on my own.
Onsite 2:
A design question. The interviewer started by simply saying, "design X." I approached it as a system design question. Within seconds of me trying to pinpoint requirements, he interrupted, saying, "No, that's not what I meant. I want to focus on class design." I then started coming up with basic classes, and he interrupted again to say, "No, don't discuss implementation details at all. Only think about APIs." So, I focused on the APIs. Then he interrupted again and said, "That's not what I want. How will you handle this on the frontend?" I started talking about how the frontend could consume my changes. "No, I want you to design the APIs." So I went back to the APIs.
You get the point. This interviewer genuinely interrupted me every couple of seconds to rescope the question. Anytime I tried asking a clarifying question, he'd look up, repeat what I had just said with a smirk, and say, "Let's do something else." I don't consider myself an angry person, but I was genuinely considering walking out at this point, which I've never considered in any prior interview. By the time we reached an agreement (only discuss the object-oriented design, no implementation details), he criticized my design by pointing out that it wouldn't work due to a probable implementation detail. This entire round was a disaster from start to finish, and I don't think I've ever been this upset after an interview. The interview concluded with me asking him some questions about his work, which just caused him to giggle and say something like, "Just ask a senior dev on your team." I have zero idea how people this asocial can slip through the cracks at top companies, but this guy somehow managed.
Onsite 3:
Behavioral. This interviewer was the best. She showed up on time, asked respectful questions, and was generally pleasant to talk with. I think this interview went well. She mostly asked about my internship experience.
Onsite 4:
A data structure design question. It was a pretty simple question, very similar to an LRU cache. I gave an optimal answer within a few minutes, coded it, tested it, and it worked. The interviewer was okay, but he blatantly told me that my solution wouldn't work and that I shouldn't rush through my implementation without being sure it made sense. I argued that my code would work, so we ran it, and it worked. He seemed upset and, in the last five minutes, asked a hard follow-up that assumes knowledge of distributed systems. I thought the interview was going well up until this point.
Onsite outro:
There was supposed to be a post-onsite debrief with a recruiter, who was a no-show.
Thoughts:
I had never experienced the culture at Uber before these interviews, and I have to say: it's bad. The interviewers typically range from disengaged to combative, neither of which is justified. Everything, from the slow recruiters to the unprofessional interviewers, screams red flag about this company. I will never consider interviewing here again.
LeetCode mediums and hards having to do with strings, arrays, hashmaps, sorting, and searching.
The following metrics were computed from 1 interview experience for the Uber Software New Grad role in United States.
Uber's interview process for their Software New Grad roles in the United States is extremely selective, failing the vast majority of engineers.
Candidates reported having very negative feelings for Uber's Software New Grad interview process in United States.