I was contacted by their HR person who sent me an online link asking me to complete a quiz consisting of 10 CS questions in half-an hour. These questions were pretty simple and another reviewer has already posted some of the tougher questions on glassdoor.
After this I had a phone screen and I was basically asked to explain how C++ implements polymorphism behind the scenes. A good knowledge of pointers and virtual table mechanism helped me get through this.
I was called on-site and the first interview was with a director who basically asked me work-ex related questions. The next interview was with the CTO who was curt and did not offer any help or hints when I got stuck. It was tough to figure out what he wanted me to answer [i.e. did he want me to just explain the algo, or also write the code ?]. I explained the algo, coded up a functioning version of the answer in C. However, he wanted me to optimize this code as much as possible to minimize cache misses - essentially remove any 'if' statements in the code. It took me some time to get this working but he wasnt satisfied and asked me to leave. Looks like these guys are looking for a high degree of perfection. I understand that but they can atleast be nice about the way they go about it.