The hiring practices at a number of tech companies are somewhat legendary. The recruiting process at Microsoft, for example, often entails answering a number of extremely challenging technical questions and perhaps a few brain teasers. To work at Google, one often needs to have a minimum GPA threshold from an esteemed University just to get in the door. It’s even been reported that Google CEO and co-Founder Larry Page has personally approved each of Google’s 24,000+ employees – Page apparently receives a brief application packet for each applicant that summarizes his/her qualifications.
But Apple is one company who seems to do a decent job of keeping its hiring and recruiting practices under the radar. Over the years, though, a few stories have leaked out, the most famous one of which includes Steve Jobs asking a potential applicant if he was a virgin. Upon answering “No”, Jobs rebutted, “You’re still a virgin, you just think you’re not.”
So after perusing a number of posts on Glassdoor.com, we were able to glean some interesting information about Apple’s hiring and interview practices.
Here’s what we found:
Naturally, the interview process is varied. Some candidates partake in 4 interviews with 4-5 people at a time while others, depending on the position, may be subjected to as many as 10 interviews. Some of the more basic questions touch on why someone wants to work for Apple with one applicant noting that they’re looking for “obsessive brand loyalty.” The interviewers often include potential peers and managers, and in some instances, department VPs.
The interview process is generally described as being a positive experience, with the folks at Apple described as being extremely sharp and yet casual at the same time. Also of note is that a few people reported that Apple’s initial salary offers were lower than what they were expecting. At the same time, one applicant described how he was able to negotiate for another $10,000 tacked onto his salary along with a $5,000 signing bonus. “They agreed to both,” the applicant wrote, “Definitely ask for more money! They won’t give any to you if you don’t ask!”
Here’s one applicants retelling of the interview process:
The interview process consisted of 3 phone screens and then a full day of in-person interviews in Cupertino. The whole process was very organised and the interviewers were professional, polite and well prepared. I could tell that Apple has specific procedures and formats for interviews because of the similarities in dialogue and the way interviews were conducted with different interviewers.
All of the technical coding questions followed the same general format. First, I was given a problem to solve and asked to write a short program or function to solve it. After, I was asked to demonstrate how the program works by using a specific example given by the interviewer. Finally, I was asked about the complexity of my solution. In many cases, I was given an opportunity to come up with another solution that would be more efficient than the original.
Now onto some of the specific questions candidate recall being asked during the hiring and interview process. Now before you dive in, note that we culled these questions and recaps from individuals applying for technical and engineering positions in Cupertino. In other words, Apple’s interview process at its retail stores were ignored for purposes of this list.
1. How would you investigate a technology without letting anyone know you were investigating it?
Yep, that sounds like Apple alright, where keeping things secret is paramount. The employee who claimed to have been asked this question answered,
I responded I would deep dive internally first, understand the building blocks of the said technology, and pursue different outside vendors as required with sections of the technology in order to obfuscate the ultimate goal.
2. Describe the manufacturing process for some of the components in an iPhone.
3. How do you test the prototype of the vending machine?
Note: The vending machine problem is, “If a vending machine takes 1$ bill and gives 75cents worth product. But it doesn’t gives out change. How do you analyze what has gone wrong. You don’t have any access to internals of the vending machine.”
4. One poster on Glassdoor opines that Apple might give an applicant an A5 chip and ask them, “How do you think this is made?”
An engineering applicant describes his experience:
The interview was very technical…no behavioral questions. Lots of problems to work on the whiteboard. The problems were relevant. They only asked things that you said you were familiar with or should be familiar with. The interviewers were very technically competent and overall I would say that Apple is looking for the very top people. The interviewers were cross functional and included several managers. There were about 8 or 9 interviewers, one-by-one, 30 minutes each, in a small room. It was exhausting but I think it is the way a top company should interview engineers if they want the very best. Cafeteria food is good!
5. If you and a large brick are in a boat floating in a pool, will the water level rise or fall when the brick is tossed into the water? What if the brick is a large piece of Styrofoam and thrown into the water?
6. Implement a Fibonacci series in Java
7. Write a function that calculates a number’s factorial using recursion.
8. In a stream of integers from 1 to n, only one number will be repeated. How can you tell what that number is?
One applicant (who got the position) details his experience applying for a Senior Face Recognition Engineer position at Apple:
Cold-called by an Apple recruiter regarding a Face Recognition engineering position. Received a phone interview with an Apple director; then an all-day interview which included a VP, Director, architects and managers – followed by another all-day interview including team members. Then I went through a month of background checks and negotiations.
I found it helpful to bang out a face detection iphone app the weekend before my first interview – it gave me something to demo and talk about the pros/cons involved in the effort. Now that it’s out, I would strongly recommend doing a demo on an iPad. Be prepared to do whiteboard design, developing algorithms on the fly, coding problems, and demonstrate your problem-solving process.
Another commenter writes that he interviewed for a product design engineering position at Apple and describes his experience thusly:
Started with two phone interviews about 30-40min, mostly technical in nature with a lot of logic based questions. Followed up with a request to complete a design project (mechanical design of mechanism with 2 solutions with analysis) and a powerpoint presentation and a in-person interview in Cupertino. Day one of in-person interview consisted of about six 1:1 or 2:1 interviews. Day 2 consisted of presenting design project in front of previous day interviewers. Very well organized travel arrangements and communication.
9. Stack or a heap, which is faster?
Another software engineer applicant chimed in:
Went very well on the phone but onsite it was a different story. A few affable folks but what a disorganized interview. The manager clearly spent no time divvying up topics, so I sat through six hours of the same damned questions over and over. A couple of guys clearly didn’t want to be there at all. The manager was burned out, kind of listless, I’m not surprised – my connections confirmed the sweatshop atmosphere.
One former Apple candidate offers this piece of advice
My advice to candidates: know your apple products well, understand the company’s position in the market place, write your resume from an Apple perspective ( all your mac os x, and mac software should be on there). Make sure the job is right for you too, don’t get caught up in the fact that it’s Apple.
10. Which is stronger, titanium or steel?
11. Tell me something about Apple that I don’t know
12. Explain Ashby diagrams (or ashby plots) to me.
13. Find all 25+ errors in POSIX API use in a 1/2 page C program
14. Approximately how many garbage men are there in California.
The candidate here said the question was designed to test his analytical and computational abilities.
15. How do you count the number of 1′s in a binary string?
16. Write a routine to determine if a linked list has a cycle.
17. Parallelize a presented segment of code using PThread primatives, being sure to highlight concerns with resource conflicts, order dependencies, and deadlock conditions.
There are over 600 interview entries for positions at Apple on Glassdoor. If you have time to kill and are still curious about the hiring process, definitely check it out.