There was a recruiter screen, two 45-minute technical phone screens (the second because they wanted to get a second opinion), and a 5-hour onsite with a product demo, 3 technical portions (systems design, debugging, and coding problem), lunch (with one person that you are meant to ask questions about the job and company), and an interview with the engineering manager.
I was a bit confused not to receive the offer as I completed all the coding problems with time left over, although I did get stuck once or twice for a few extra minutes but did eventually figure it out without help. They also left a LOT of time for questions - all in all I think over two hours of my interview process I was expected to be asking questions, and it was a bit stressful to keep having to come up with questions once all the ones I actually had had been answered. There was also no culture-fit portion, which I thought was odd, but everyone was really nice and overall gave a great impression of the team and office.