I got a cold-call contact from WillowTree asking if I might be interested and a week later found out my current contract position was ending, so I contacted them back. It began with an introductory call of about 20 to 30 minutes. Then I received instructions for the video portion, where the candidate is presented with questions and must answer in a video that will be reviewed. It seemed very intimidating (no re-takes, only a fixed time to answer the question) but turned out to be very user-friendly and the questions were pretty reasonable. After that, I had a more in-depth phone interview with the recruiter, and set up an appointment to come in for an interview with a developer. I was told that could be done by phone, but I lived about an hour away and was curious to see what the place looked like, so I drove in for it. That interview covered my background, what I had worked on, and some light white-boarding. After that there was programming challenge to build a basic app, but it was somewhat open as we were allowed to add suggested features or think of our own. After that, there was a full day of interviews with numerous team members, which included a presentation in which the candidate taught a subject of his or her choosing to a pair of interviewers. After that, I was asked for some references from previous employment and received an offer pretty quickly.
Things actually moved along from one stage to the next pretty efficiently, except that things were delayed for a couple of weeks by the winter holidays. One notable point was that I got to see the review of my sample app, and it was very helpful. The critique was pretty harsh, but fair, and even if I had not gotten the position, I would have felt it to be a valuable experience simply for that evaluation.