I had a phone screen, which was a live coding exercise aligned with my specialty. I was surprised by the exercise because it was somewhat theoretical, but there was no trick question, and it wasn't overly difficult. The interviewer would have been okay with me looking up documentation, but my internet connection was really bad, so I just went ahead and explained my process.
I received very rapid feedback on that interview. In fact, the next time I checked my phone after the screen, I was already invited to an onsite.
Onsite, I had five interviews. Overall, the interviews were much more about high-level process and thinking than coding proper. Other reviews I read, and the recruiter's email, prepared me to code on my computer (and again, having access to documentation if needed). In total, I had:
In my first interview, I had some trivial coding questions. I also had a more discussion-type interview about values, past experience, etc. I must say, it's not easy to get a sense of Uber's values/culture from the website. So, I just tried to be true to myself and show what I care about.
My last interview had more classic interview problems on a whiteboard. I did three exercises, which were mostly on the fine points of JavaScript syntax and structure. Those were not easy, especially towards the end of the day.
All in all, I was surprised that the questions stayed mostly high-level. That made me more comfortable, as I feel strongest there.
Something something JavaScript - NDA
The following metrics were computed from 121 interview experiences for the Uber Software Engineer role in San Francisco, California.
Uber's interview process for their Software Engineer roles in San Francisco, California is fairly selective, failing a large portion of engineers who go through it.
Candidates reported having very good feelings for Uber's Software Engineer interview process in San Francisco, California.