I was referred by a friend who is a data scientist at Uber in a different team, and a recruiter contacted me shortly after approving my CV. I was in close contact with a recruiter by email throughout the entire process. There were four stages:
1) Initial Phone Screen: Had a 30 minute talk with the hiring manager regarding the job, the team, and my background. Was asked about what I found particularly interesting in my work, and I described parts that I thought were relevant to the job.
2) Takehome Exam: Three sections: PostgreSQL questions, experimental/business questions, and data analysis questions. Time was one week. The first two weren't that bad, but the data analysis one was very open ended, and I personally thought that there was a lot of intense modeling that was required to get the interpretation "right".
3) Technical Phone Screen: Originally scheduled for 45 minutes, but ended up talking for 75 because we both had a lot of fun. Interviewer was another data scientist, and he only asked one open-ended question about how I would roll out and set the pricing for a new program at Uber, and we spent half the call hammering it out. Then, he asked a lot about my background, and I his.
4) On Site Interviews: Five hours at HQ with five different interviewers: the team manager, a product manager affiliated with the team, two data scientists on the team, and one "bar-raiser" - kind of a senior and celebrity employee who works on a high profile project. Most interviewers asked briefly about my background, about ten minutes. They all had long open ended questions to see how I would dissect a typical question at Uber. Two of them asked me to write out a few functions in code (you can pick R or Python) to supplement the analysis. I had no SQL questions on site, but I imagine one of the interviewers wanted to but we ran out of time. The bar-raiser was very interesting; he and I discussed a lot about Uber's prospects and details for my plans to make Uber better. Despite all of them asking me about different things, I got the impression that all of them just wanted to know how I think in general.
The recruiter then contacted me a few days later with an email to discuss feedback, and during the call, I received an offer.
This was my first job interview ever (I'm coming straight from academia), so unfortunately I can't say if this was more or less difficult compared to the average data science interview.
Good luck to everyone interviewing.