First, you speak with their recruiter, who feels you out to see if you're possibly a good fit for the company. This is nothing terribly deep, just a conversation to see what your goals are, get a sense of your personality, etc.
Assuming the recruiter thinks you're a potential fit, you will get a code test. You are given several word problems, and you must pick one of them to solve. You're expected to deliver a working solution, complete with tests, within a couple of days. Your code is graded by a couple of their consultants, and if they like what they see they promote you to the next level.
Then comes the phone screen interview. The consultant who interviewed me asked a lot of technical questions, going pretty deep into software development concepts and specific technologies. It lasted about an hour, and he also gave me an opportunity to question him on anything company or work-related.
If you make it this far, you then have an in-person interview. You go to one of their offices and meet and speak with a few people. You are given several personality and intelligence tests as well. This is an all-day experience. When you visit their office, you are smacked in the face (in a good way) with their corporate culture. Everyone just looked incredibly happy to be there, and it's a very flat hierarchy, to the point that the people with whom I interviewed had no idea to whom they reported.
Another level of interviewing is their Super Saturday. They fly a group of candidates into one of their offices, where candidates and current team members interact largely in group settings. There are group discussions, and group activities (an Agile project using Legos comes to mind).
After that, if you are someone they are interested in, you will speak with their market principal for that office and try to come to a deal.
The whole process opened my mind to a new and better way of vetting candidates. They are, per their own words "slow to hire, slow to fire." If you interview there, there is no way you have no idea what you're getting into if you decide to join the team.