Lots of tests. First there was multiple choice test you could do at home. If you pass that and make it to an interview there is an additional "programming" test. After that the interviewers asked some technical and situational questions. The process took quite awhile to complete.