It's a tough interview process, as are all interviews at top firms. There are many steps to complete, and it takes some time. I think it took about 6-7 weeks from coding screen to offer, so hang in there.
I completed an online coding screen (LC type problems) after the recruiter call. It was actually quite nerve-wracking as you have to use an online tool, and the timer is just ticking down in the corner.
After the online screen, I had a phone interview round, which again involved LC type problems. If you're comfortable with LC medium problems, you should be fine here. This round was the easiest. I solved the problem to the interviewer's satisfaction in around 30 minutes and had the rest of the time to ask questions. This interview ended early, and I felt good about it. The recruiter called me two hours later and said the feedback was great.
For the onsite, I had many rounds. Like all engineering onsites, it was grueling. I had five rounds:
I don't care what anyone says; these interviews are draining, and you feel exhausted no matter how you did.
My recruiter contacted me 8-10 days later (the long wait had me nervous!) with what I felt was a very strong offer.
Everyone throughout the process was very professional, and I felt valued and treated with respect throughout.
Mostly standard interviews.
The iOS debugging round was perhaps the type that people might not be familiar with. If you're used to encountering standard iOS problems (sync/async, main thread violations, etc.), you will do fine here.
The following metrics were computed from 1 interview experience for the Uber Software Engineer (iOS) role in Sunnyvale, California.
Uber's interview process for their Software Engineer (iOS) roles in Sunnyvale, California is incredibly easy as the vast majority of engineers get an offer after going through it.
Candidates reported having very good feelings for Uber's Software Engineer (iOS) interview process in Sunnyvale, California.