The interview process is very straight-forward and is given to you during your first 'phone screen' with the recruiter. For me the process was very ... very ... long, but this was more due to the season (Thanksgiving, Christmas, New Years) than the responsiveness of the recruiter. After the initial phone screen with the recruiter, you are sent a technical (coding) challenge that can be done in any (reasonable) length of time and in any (reasonable) language. The coding challenge was not too difficult and is graph based. The coding challenge is then sent to the recruiter to be sent to an engineering (or group of engineers ... I have no idea) to be reviewed. After it is reviewed, you are set up with a technical interview with one of the engineers who had time to look at the code before-hand. During this interview, you go over improvements to your solution, and answer other technical questions mostly relating to the challenge. If all goes well, you are set up with (1, 2, or 3 ... for me this number was 2) interviews within your prospective team(s). The two interviews were very team specific, the team I interviewed for was iOS and all of the questions were iOS based.