I was initially contacted by an in house recruiter. He walked me through the process and was extremely helpful in answering my questions and addressing my concerns.
I then spoke with the hiring manager out of their Austin office. He gave me an overview of the company and we discussed the companies needs for the position. Overall it was a very positive and relaxed conversation.
A week later I had a phone interview with a small group where we discussed my experience/skill sets and answered java specific questions. We went through a coding exercise where we worked on an optimization routine relevant to the companies domain.
Lastly I was scheduled for an in person interview at their Phoenix offices. Travel was taken care of by the company and was painless for me. The interview process was several hours with multiple groups. Each group asked varying levels of questions about my experience, preferred work environments with a final longer technical interview where we whiteboarded several solutions (pseudo code and architecture/design). I was treated to a lunch with the team and had a chance to get to know them on a more personable level.
The entire experience was enjoyable, exciting, and relaxed. I felt like I was being welcomed to a family!