The recruiter was very prompt in responding to my application submission. I got a call back within a few days to schedule a screening interview with the recruiter. After the initial screening interview (on the phone), I had a phone call with the hiring manager. I had an initial onsite interview at the remote site I would be working from (mainly to meet a few coworkers that I would be working with regularly), followed by another phone call with the hiring manager who invited me to an in-person interview with the design team.
Because I was at a different location from the rest of the team, it took an extra week or so to get an onsite interview set up. The onsite design interview consisted of: 1) A portfolio review presentation for about 45 minutes. 2) A design challenge on the whiteboard for about 20-30 minutes. 3) A series of 1 on 1 interviews with 2-3 team members, the hiring manager, and 1-2 people from other departments. Overall the interview was exhausting and very difficult, but at the end of it I appreciated that they seemed to be careful about who they hired (a major flaw with previous software companies I had worked for). I felt well informed about the role I'd be stepping into based on the interview process.
Lunch was provided for me onsite from the cafeteria and I met with the recruiter in person over lunch. Generally they seem to take really good care of people during the interview process...pay for all of your meals, travel and hotel expenses as expected. They are very accommodating about your current work schedule and trying to fit in interviews when it is convenient (within reason). I got an offer about 3-4 days (1-2 business days) after the final in-person interview.