The process took 3 weeks. I interviewed at Apple (Cupertino, CA) in June 2008
Interview
They saw an application that I wrote on my website and offered me an internship. I worked on some of their smaller profile projects for a year until they offered me a full time job.
I don't remember the questions being very difficult although it was a while ago. I think at Apple, they are really looking for something different about each person. For me, they saw an app I wrote and released when I was 13 and they thought I might be useful. For others, it may be different.
Interview questions [1]
Question 1
You have a 100 coins laying flat on a table, each with a head side and a tail side. 10 of them are heads up, 90 are tails up. You can't feel, see or in any other way find out which side is up. Split the coins into two piles such that there are the same number of heads in each pile.
Around 2 months after I submitted my resume for Apple software engineer position, I got a call from the hiring manager. He asked me what was the good day for the interview. It took half day for meeting 5 people. It was long hour interview for me. Each interviewer spent ~ 30 minutes and asked ~ 4 questions. Each interviewer asked questions in the different areas.
6 rounds. 1 Technical Screening. Then onsite loop consisted of 4 rounds of behavioral, 2 technicals, and 1 sys design. Had an additional Hiring Manager round since I was borderline.
Interview questions [1]
Question 1
LC Mediums and mentorship based behavioral questions.
6 rounds. Started with phone screen with HM about past projects.
Onsite rounds
1: OOD
2. Multi threading
3. Java design pattern and Immutable classes
4. HM
All the rounds were heavily focused on Java