1. Small programming assignment
Assignment to be completed at home using your own computer and development tools.
2. Phone interview
One hour long, some technical questions, some review of background. Ends with a quick interactive programming session with the help of an online tool.
3. Half-day on-site interview with two managers and four developers
Begins with a written test, then the first interviewer reviews your answers with you and asks for explanations. Then you talk about your previous work, and end up doing some code and designs on the whiteboard.