I applied online. I interviewed at Uber (San Paolo del Brasile, )
Interview
Resumes are rejected even if you match 100% with the job description. You spend a significant amount of time filling the position, site isn't friendly or concerned with candidate time
I applied through an employee referral. The process took 3 months. I interviewed at Uber (Amsterdam) in Nov 2024
Interview
The interview process took a few months, with many date changes because of internal issues in the company.
First "phone screening" was a zoom call - leetcode medium-hard (it had a DP trick to it) question about a matrix - maze, similar to an island question. I saw the exact one before and solved it. The feedback was that I got 3/4 in solving this question, even-though it would be nearly impossible to come up with the best solution in a 40 min interview - that was the first red flag
The 2nd stage had a coding interview and system design. System design was uber specific - managed to get a very good score in this interview. I solved the coding in the 2nd stage, not the naive solution, and the interview feedback stated the interviewer wanted another solution so didn't pass me.
I passed the system design so they let me on to the 3rd stage
3rd stage consisted of 2 interviews
Coding question and a design from past work & behavioral.
Coding: interviewer almost didn't speak. I described my solution and asked if it sounds ok for them. After running it for the first time when found bugs (obviously) I spoke out loud while fixing them, saying I'm stressed so it takes me a bit more time. Before implementing some changes to deal with the bugs I said "oh I think that's it right? makes sense to you too I hope" and general communication I always did when finding my previous jobs.
I solved the question in time and asked if they want me to add more tests, they just said "how would you make it production ready"
The feedback for this was that even though I solved the question, I was "too stressed" and "relied heavily on hints". The interviewer almost didn't speak during this whole interview. Apparently, they thought that if I describe my solution and say "oh I have some bugs, sorry I'm stressed I will go over it slowly" means that I'm asking for hints and heavily insecure. They said I "didn't implement more tests" as well, even though I asked them if I should implement tests and how do they want to continue with the interview. I was going to test it more, but they asked me some general questions in the 10 minutes we had left instead.
Last interview was about a past problem & behavioral . They said I was good overall, especially behavioral (proving that the last coding test was biased. maybe my race?) and passed me. Stated that I have good communication.
Horrible Horrible Horrible experience. I interviewed with other companies that I didn't pass and didn't feel like I have to write a review to warn others.
Interview questions [1]
Question 1
3 leetcode questions (they say one of them is coding from exp but it isn't)
1 system design
design from past work & work situations
I applied online. The process took 4 weeks. I interviewed at Uber in Dec 2024
Interview
Short initial call with HR where we discussed the next steps. HR said that the next round will be checking Data Structure and Algorithms coding skills and that I should solve medium/hard LeetCode problems. The next round was in 2 weeks and I spent that time solving LeetCode. During the coding interview, I met the most unprofessional interviewer I've ever met: he got distracted by his environment, did not keep up the conversation, and did not answer some questions. The Coding challenge itself was not related to LeetCode at all, that was a task to write a memorization closure function. Unfortunately, I was totally not prepared for such a question, and the first several minutes were spent on redundant clarifying questions not believing that it was what I was going to spend time on. I have solved the task by the end of the interview but it took too much time and I was not selected for the next rounds.
Interview questions [1]
Question 1
memoize is a function that takes one argument, asynchronousFunction:
function memoize(asynchronousFunction) { }
where asynchronousFunction is a function that takes n arguments. The last argument of asynchronousFunction is a callback in the form of function callback(error, result).