Phone screen conversations (no whiteboarding), first with the recruiter, then with the director of engineering. Upon completion of these I had a remote pairing session with one of their more senior developers working on a task in their code base. After completing these I was flown to their offices to partake in two days of pair programming. Each day was split between two different devs, and we would work on tasks together. In theory, it was meant to emulate the day-to-day development practices they follow.
In practice, is was very poorly organized and the pairs were *highly* inconsistent. I went from one individual who took pains to build a rapport and actually pair on a problem, to another who selected a task, opened an editor, and said "go." Getting information out of them, along the lines of "where in this multi-thousand-line code base can I find the object that controls this behavior," was like pulling teeth. Day one concluded with a social event that, while very thoughtful, made a lot of conversations hard to hold. "So how do you like it so far?", when asked to a candidate, is not an honest question. I can understand the technical evaluation portions, but this social integration test really didn't perform the task they were hoping. It's hard to bond with people who are holding the yes/no power over your employment prospects. In any case, that was day one.
Day two was more of the same. The first developer was not forthcoming, and did nothing that is expected of a "pair" in pair programming - instead the developer simply sat back and asked questions. When I was faced with performing a code change that would immediately cost the company money (multiple thousands of dollars through a third-party service), I was looked at askance for asking if there was someone that should, perhaps, make sure the company's money is being used correctly. The second developer was night-and-day - we had a strong rapport, they treated the pair as a peer relationship rather than an interviewer-interviewee confrontation. This followed up with a wrap-up meeting first with the founders, then with the director of engineering, whose questions both implied that they misunderstood which position I had applied for. After all of this I did not receive an offer.
This process was unnecessarily onerous. There was a clear divide between people who were pairing to discover my work patterns, and people who were interviewing me based on how quickly I could decipher and code in their applications that I had spent a grand total of ten minutes looking at. This inconsistency left a very bad taste in my mouth, particularly given that those developers most prone to confrontational style were, in my estimation, not particularly strong at development.
I'd recommend avoiding this place. The interview process is very candidate-unfriendly, and while they won't do the Google/Facebook/Amazon algorithm-style bashing, their process gives no indication of exactly what they are looking for.