I applied through a recruiter, and the whole process took three months.
After two phone interviews, I was told to do an onsite interview. After that, the recruiter informed me I had done well, but the opening was no longer available. They then asked me to do another onsite interview for a different role.
Following the second onsite interview, the recruiter told me they would like to extend an offer. Two weeks later, the recruiter informed me they couldn't process the offer because the headcount had been allocated elsewhere.
The interviewees were very nice and friendly. They asked me various questions covering data structures, algorithms, databases, object-oriented design, and more. All these questions were not difficult and made sense to me (except for one interviewee who provided Python 3 code printed on paper and asked for the output; I primarily use Python 2.7, so I suspect I gave the wrong answer to that question).
However, the recruitment organization seemed chaotic, which made me somewhat disappointed with Apple.
Data structure, algorithm, database, OO design
The following metrics were computed from 162 interview experiences for the Apple Software Engineer role in Cupertino, California.
Apple's interview process for their Software Engineer roles in Cupertino, California is very selective, failing most engineers who go through it.
Candidates reported having very good feelings for Apple's Software Engineer interview process in Cupertino, California.