Status: Software engineer at a mid-size startup in India
Work experience - 3YOE
How I got interview - I had been trying to get an interview at Uber for almost 1.5 months daily applying telling people to refer me even getting referred. I somehow got a trial version of Linkedin premium and started msging uber recruiters. Luckily one of them redirected me to a recruiter she called me and set up the process.
Online coding assessment - Had 2 questions 90 mins. They were the same as the ones I saw in one of the posts for uber assessment. I managed to do it easily. The recruiter called me and set up the first 2 rounds.
Round 1 - Coding/Ds algo 60mins - Recruiter introduced herself and I gave my introduction. She told me we will do 1 or 2 coding questions depending upon the time we get. After 10 mins she gave me the question. It was a variation of Jump game on leetcode. I came up with an o(n^2) solution initially. She said ok and asked if we could do better. After 5-7 mins, came up with O(n) solution explained it to her she said works and asked me to code on coderpad. Coded the solution in 10-15mins and started dry running. Fixed 2-3 issues by myself. She then dry ran 2-3 test cases on her own and it worked. She said it was good and we were done within 50 mins.
Round 2 - Machine coding round(lld) 90 mins - This was on the same day after a break of an hour. After slight introductions, he gave me the questions. Implement a job scheduler. There are 2 types of jobs. 1) Job scheduled at a particular time 2) A recurring job with a particular interval of recurrence. User should be able to configure a number of worker threads First 10-15 mins I understood the problem and tried to create a map in my mind of how i will design my classes and relationships. I told him about the entities and told him I would use a priority queue sorted according to jobs due time. And keep polling which and assign to work. I faced hiccups in this round because my threads weren’t synchronizing properly. I managed to complete 1st requirement and tested the implementation. 2nd one i completed but couldn’t dry run. The last 5 mins had a discussion about the soln. He asked what I could I have done better I gave him 2-3 points and he agreed with me.
Honestly, this round was not the best. It was decent, I could have performed better. I wasnt too sure If i would pass.
The recruiter called me next day and asked how my rounds went told her that 1st was good, 2nd was okish. She and told me they are going ahead with the next 3 rounds. I asked if I cleared 2 rounds she said 1st round feedback was very good and said lets schedule next and we will see. Next 3 rounds were scheduled for 2 days later.
Round3 - Hiring manager (Behavioural) 60mins - This was the hiring manager round and purely behavioral. For this prep, I had created a sheet of popular LP questions Amazon asks since I interviewed at amazon 10 days before uber. I referred to that and all my experiences. After brief introductions, he asked me to describe one of the projects i am proud of. I described and he started really deep diving on the implementation. The approach I took, he said it was really an interesting way of doing things. After our discussion on this 40 mins were already over. He asked me basic behavioral questions like what is some project you look back and you can improve and others. After 1hr the round was over.
I wasnt sure how this round went because the questions were subjective and not sure if the interviewer liked my answers. He had a poker face throughout.
Round 4 - System design 60 mins - This was my best round I believe. Question was to design a service for Uber which would show a heatmap of active drivers around the world. Very similar to uber system design questions. I had solved this on ocking and youtube videos. I directly gave him quad tree solution. He asked me couple of follow-up questions and I answered them really well. This round was the best and I was high on confidence. The interviewer seemed happy and wished me luck for my next round.
Round 5 - Bar raiser 60 mins - This was a pure behavioral round on my resume and experiences. My experience was very similar to the hiring manager round. He kept grilling on sort of LP questions. I was looking at the clock to check when this would get over since I knew 1 wrong question and it would be over. Anyway, this round was decent and answers were subjective so dint knows how I performed.
2 days later recruiter told me feedback has been positive and asked for my details like current CTC, offers in hand, passport photo. I was happy and I thought I cleared it. Was waiting for final confirmation.
1 week since the final interview - I emailed the recruiter on a status update. She called me and said they are working on it.
2.5 weeks since final interview - I emailed and recruiter reverted 2 days back that still working on it. She called me, I told her I have a deadline on another offer. She said she will give the final answer in 2 days. She told me to accept the other offer and If uber happens renege on others. I told her I don’t do that and if I commit I definitely join. She obviously dint call/contact me after 2 days.
3.5 weeks later after the final round - I again emailed her, she called me yesterday and said that they wont be going forward with this team. Said my tech skills were really good and i passed that but HM said I dint deep dive with my experiences. I needed to explain better in HM and bar raiser round. Said she would tell me If any other team opening opens up or I can apply for another role at uber.
I was really dejected and disappointed. I have been preparing for more than 3months now. I got a rejection from Amazon and now uber. I have no other Faang interviews lined up. This was my first attempt at Faang. Overall the interviewers were great but the hiring process sucked recruiter made me wait almost a month for the final answer. Anyway, I have an offer from a good startup in India planning to take that and try at Faang in the future again. Do let me know in case any questions.
Btw all my interviews were on call