Time to explore new opportunities, so I submitted my resume to a few top Valley companies and startups, including Uber. I was contacted by the recruiter a few days later after my online submission.
Recruiter initial phone call (30 mins)
TPS (1 hour) You need to solve the coding exercise via an online code-sharing editor, with some follow-up discussions.
Take-home code challenge I spent a weekend building the solution and making sure I liked what I submitted. I got feedback the next day. Amazing efficiency.
Four onsite interviews (4-5 hours) at Uber HQ I jammed with a group of Uber engineers, plus a nice onsite lunch break. Each interview was designed with two engineers, except for the culture fit one, which was a product discussion with one of the engineering managers. I did some coding questions on my laptop.
Wrap up with my recruiter
All questions were reasonable. I marked the interview as difficult in the sense that you definitely want to be well-prepared. There were quite a few problems I had never seen before. Know your stuff well, and you should be OK.
The interview process was very smooth. I had no issues with my onsite travel reimbursement, although it took about three weeks to get it completed.
I got a call in the next one or two days after my onsite with an offer! The package is excellent. I chose Uber over other offers/opportunities because I really believe in Uber's mission, which is happening on an incredible scale. And all the engineers I met were super cool, sharp, and resourceful.
OOD (Object-Oriented Design)
Data Structures:
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.