After applying through a 3rd party recruiter, I had an initial phone interview with an in-house recruiter. The interviewer asked general software development questions. After that I was setup with another phone interview with an engineering manager. I then had a coding session over skype. Once I passed that, I was invited to a on-site interview in Carpinteria, CA. My wife and I were flown out and put up in a hotel in Santa Barbara. The interviews took the majority of the day. It started with a round-table get to know you session with all the interviewers. It then broke out into three separate interviews that covered: personality, data modeling, coding exercise, and then finished with a 1on1 with the engineering manager. The manager interview was simply to answer questions, go over the company and company's vision/goals, and to ask for improvements.