There was one initial phone screen, which took approximately fifteen minutes. This was done by the manager of a division (I would be reporting to someone one level lower). They asked basic, high-level questions.
After that, I was flown out for a full day of interviews. I was interviewed by a total of eighteen people. Most of these interviews involved two or three people interviewing me simultaneously. The interviewers consisted of managers, lead programmers, and programmers who would be my peers. Most of the questions were technical, but there was very little writing of code on the whiteboard.
It was an extremely thorough, yet stressful, interview process. I was later told that Apple ends the interview session if you aren't doing well. Therefore, making it to the end was a good sign.
Describe the anatomy of a system call in depth. Include a description of virtual memory, not conceptually, but including a description of caches, page tables, and so on.
The following metrics were computed from 2 interview experiences for the Apple Software Development Engineer role in Cupertino, California.
Apple's interview process for their Software Development Engineer roles in Cupertino, California is fairly selective, failing a large portion of engineers who go through it.
Candidates reported having very good feelings for Apple's Software Development Engineer interview process in Cupertino, California.