After applying, I first had a phone screening with their in house recruiter/HR. This was a fairly standard first phone call. Later I was emailed a programming assignment, which I had 24 hours to complete. This seemed quite difficult and I spent at least 3 hours on it. Surprisingly, I did well enough at this to be invited to their offic for a final interview, which consisted of a technical interview (where I had to do more C++ programming assignments and whiteboard questions), and an interview with their head of technology.