The interview process started with an HR prescreen call, then involved a call with the hiring manager, and finally I was brought in for 4 separate interviews (Team, Developers, Support Team and finally the hiring manager).
Team interview covered personality, past programming experience and projects, and what I was looking for in a position.
Developer interview covered some high level development questions about classes, inheritance, and my favorite languages. I talked through a lot of the projects
Support team asked about how I had supported software in other roles and talked to me a bit about how our teams interacted.
The hiring manager talked with me a lot about everything. We talked about my goals and aspirations both sort and long term, my values as a developer, and my Christian values.