I applied through college or university. The process took 2 weeks. I interviewed at Apple in Feb 2014
Interview
I dropped my resume and talked with a engineer in Apple at my university Career Fair. I was contacted after one week and got a phono interview with a manager in Siri Team.
Interview questions [1]
Question 1
The accent of the interviewer was very hard to understand.
Given an array with N - 2 elements (two missing) from 1 to N, find the two missing elements in linear time and constant memory usage.
I applied online. The process took 3 weeks. I interviewed at Apple (Cupertino, CA) in Feb 2013
Interview
Interview process begins with 30 min recruiter and next 30 min hiring manager. Next process is technical phone interview followed by onsite interview whole day.
I applied through college or university. The process took 2 months. I interviewed at Apple (Cupertino, CA) in Nov 2013
Interview
Met Apple recruiter through college fair. I've been applying online for ages without hearing anything back, so I guess Apple recruiters prefer candidates they've met in person.
I had two phone screens next month. The first one was technical and pretty easy. The second was behavioral. I actually was really surprised, I had expected Apple's screening process to be a lot more difficult. I was asked to interview on-site next month.
The on-site interview was way more challenging than the phone screens. I was still in college, so I knew a lot of things, but none in depth. The questions asked were directly related to the team's work, unlike most other companies -- where NCG's are usually asked questions based on what they've learned in school. I guess Apple's teams look for people they specifically need for a position even for college grads.
I was able to hold my own for most of the first technical interview, but I started losing confidence and getting very nervous. By the third interview, I was a mess. It took me 5 minutes to actually understand what the interviewer was asking of me. The last two interviewers asked me about my experience and projects I had undertaken in college and at my internships. They were pretty impressed, but I knew it was too late by then. Sure enough, I was escorted out right after.
I guess I was caught off guard by how much more difficult the on-site interview was than the phone interviews, and by how specific the questions were to the team.
Interview questions [1]
Question 1
Create a synchronization primitive for the operating system/kernel from scratch. I created a spinlock with test-and-set. Next, create a primitive that doesn't waste CPU cycles. (Essentially, how would you create a mutex inside the kernel?)