The first interview was a phone screen with the recruiter and I was asked some iOS related questions.
We skipped the second technical phone screening because I'm local and instead they scheduled me to come in on-site.
Two weeks later I went in for the on-site interviews with 2 engineers, one followed with the hiring manager. Both interviews were 30 minutes long, if all had gone well then the last interview would also have been 30 minutes with the hiring manager. However, since I didn't do well on the second interview, I didn't go on to the third. Instead the Hiring Manager thanked me for my time and escorted me out. He invited me to apply when I have more experience, and let me know the interviewers enjoyed talking to me.
Overall it was a positive experience. The recruiter was very helpful, friendly, and genuinely seemed to want my success. The first on site interviewer was great, he was friendly, down-to-earth, and helped me when I seemed stuck on the algorithm. The second interviewer didn't seem interested in me, glanced at his phone a couple of times, and was quick to rush out of the room. The hiring manager, however, was really friendly - as was the staff that coordinated the interviews.