Applied to a job listing online and heard back from a recruiter within a week. Scheduled a chat with the recruiter and went over the position and interview process (1-2 phone screens, depending on performance, and an onsite).
Had my phone interview a week after that with two engineers (one shadowing, who didn't contribute to the interview). We spent the first 10 minutes or so chatting about the work we've been doing at our respective companies and after that, he gave me a CTCI-type question (although not one directly from the book). I came up with and coded a slightly inefficient solution in about ten minutes, did a space and runtime analysis, and spent the rest of the time optimizing it. The interviewer was friendly and encouraging and gave hints when I got stuck and we eventually arrived at the optimal solution. The interviewer was not too concerned with running code (it's easy to get tripped up on random compiler errors in that sort of environment) and mainly seemed to care about the algorithm. He ended the interview by asking "Why Uber?" and opened up the last five minutes to questions.
The recruiter was very prompt and got back to me a couple hours later with next steps and we scheduled an onsite for a week and a half later. She was also open to giving feedback when I asked for more info on things I could improve on for the onsite.
The onsite included five sections: one hiring manager, one coding, one software design, one architecture, and one Uber culture. All interviews started out with around 10 minutes of introductions and ended with 5 minutes of open Q&A. Every section, with the exception of system architecture, included coding on the whiteboard. Since this was my first interview and I had no idea what to expect with design and architecture, I struggled a lot during those sections. When I admitted I didn't have much experience or familiarity with certain topics during those interviews, the interviewers tended to drill down into those areas and expected me to make educated guesses (despite not having anything on which to base those educated guesses). One interviewer also seemed to get impatient when I tried to ask clarifying questions and continuously 'dumbed' down the original question or interrupted me when I tried to reason things out. By the end of the day, I was feeling pretty exhausted and discouraged and tilted on a relatively simple recursive problem that I figured out after walking out of the building.
The recruiter got back to me less than a week after that with feedback and a rejection.