First, a one-hour phone call with a couple of behavioral questions, a couple of algorithm and OO design questions and a coding exercise on a "whiteboard" web platform. Second, a one-hour coding review if they weren't convinced by the first interview. This coding review had three programming exercises in an IDE type system (compiler and syntax highlighting). Last, an on-site interview with managers and peers. It was four interviews in total, each one was an hour long with a mix of behavioral, algorithms, OO design and distributed design questions. In the last interview the questions aren't necessarily harder, but it's faster-paced and the pressure to answer correctly and in time is higher.