I had three phone interviews after which they flew me out for an on site round of interviews. The day started at 8 am and had 5 45 min interviews. Then I had lunch with another group of engineers. I left at around 1:15pm. There was no white board coding, but basic C++ questions and probing into things I had done in the past. Basic questions like "What id the difference between a struct and a class?", "What does static do?", "In C# what is the difference between an interface and a class?", and then more probing questions like: "Exactly how did you create a COM server?", "How did your threads communicate?", "What did the threads do?", "What happened when the thread completed?" "How would you write a program to solve this problem?", "Tell me a good bug story" ... All total I spent about 9 hours talking with them on the phone and in person. In the end I was told they selected another candidate. They had a pile of applications so I guess in the end only one can be chosen.