Originally took personality test. Then timed IQ / Intelligence test. Then got an email about scheduling a phone interview. Had the phone interview, went decently well. A couple brain teaser questions, one or two very general programming questions. Invited for in-house interview, which consisted of a 2:1 interview, a 1:1 interview with a person of higher ranking, and then a short meeting with an HR person. First two interviews were fairly technical, more brain teaser questions. Whole process took about 2 hours. Offered job about a week later