Initially contacted by recruiter through LinkedIn, wanted me to come right in for a 5 hour in-person interview. I requested a phone interview first, just to determine the interest/qualifications for both myself and company before committing to an entire day together. Phone interview was with another mobile engineer, asked basic information about my job history and knowledge/experience in mobile development. Very friendly and pleasant to talk to.
Since phone call went good, got a call from the recruiter to setup an in person interview the next day for the following week.
In office interview consisted of meeting 5 different people for about an hour each. 2 of them were with other engineers and required on-computer technical code challenges, other 3 were management level and more personal history, self-reflection, etc.
Code challenges were pretty straightforward and easy enough with my experience, nothing too complex. Just tested basic UI setup with dev enviornments, regular expressions, delegate methods, etc.
A week later received a request to complete an at-home code challenge to build a small functioning app that did common things like:
Login a user validating their email
Use facebook to login a user
Submit data to a server
Read data from a server
Use JSON
Multi-threading (asynchrousity, non-blocking UI, etc.)
They were pleased with my technical prowess and made an offer within a week.