Started with an 8 hour programming test that I initially tried to be clever with, but brute force was the way for me to do it. Then had a 30 minute phone interview with HR, which seemed more like an information collection than a proper interview. Then spoke 30 minutes with other programmers to basically just verify I knew algorithm run times, and optimization problems.
I was then brought in for a four hour in-person interview which consisted of mostly technical problems. These problems ranged from implementing malloc to doing in place sorting. The last part of the interview was with the hiring managers who were extremely nice people. However I expected there to be another interview (turns out after one, you either have an offer, or are not accepted), and since much of the interview was technical, I didn't find out as much about the position as I would have liked (i.e. I only got to ask the hiring managers about the position).
In the end I was turned down due to my lack of experience in C even though I was able to complete their tests using C.