The interview started with a phone conversation with the hiring manager and included questions about general computer science concepts as well more language and API-specific topics (e.g. objc and cocoa). A few days after that, another phone interview was scheduled which covered similar subjects as the first.
Then, I went though a full day of tag-team interviews (about 7 interviews with 2 interviewers each) where I was asked to draw things up and code on a whiteboard and explain my answers. Half way down these interviews, I got to go to lunch with the team where I didn't get much time to eat. In general this was not such a pleasant experience since most interviewers took a clear attitude of judgement. However, once I got hired, some folks become easier to talk to.