Solicité el puesto a través de un captador. El proceso duró 2 semanas. Acudí a una entrevista en Apple (Cupertino, CA)
Entrevista
I was contacted by an Apple recruiter asking if I'd be interested in a specific engineering position. After a technical phone interview with the hiring manager, I was invited on-site for a full day of interviews.
A trip coordinator at Apple sent me a link to their booking intranet that allowed me to book my flights, hotel, and rental car. This was great because it allowed me to tweak the travel exactly how I liked it.
On the day of the interview, the recruiter met with me to give me an overview of the process and explain the benefits.
The on-site interviews consisted of six back-to-back technical interviews that involved whiteboard coding exercises ranging from traversing binary search trees to software architecture and everything in between.
The interviewers were all very bright and courteous. They asked great questions and when I got stuck, they gave me small bits of information that helped me get to the final solution. Though there were a couple questions that I really struggled with, I was able to arrive at a solution for every problem.
Lunch was with my future manager and in the Apple cafeteria---paid for by Apple. The cafeteria is really impressive. They have several ethnicities represented with food served just as beautifully as their products. The lunch interview consisted mainly of resume clarifications, general behavioral questions, and a chance for me to ask the questions that I had.
After the final interview, I said goodbye to the recruiter and the hiring manager and left for home.
I was contacted the next day by the recruiter letting me know that the interview feedback was very positive and that they'd like to send me an offer. Once the details were ironed out, I accepted immediately.
Here are some pointers to potential interviewees:
1. Make sure you know basic algorithms and data structures. You should be familiar with hash tables, linked lists, binary search trees, etc. You should also know how to search and traverse each data structure.
2. You should know Apple. Show your love and enthusiasm for the brand.
3. Don't spout off about things that you aren't fully knowledgeable about. You'll get asked clarifying questions and will look like a fool if you were just talking to look good. Make sure you can back any opinions you give with factual evidence.
4. Rehearse the typical behavioral questions. You should be prepared to answer things like "why do you want to work for Apple?" or "Have you ever had an experience where x happened?".
5. Your attitude should be one of humility and eagerness to learn. You'll quickly realize that you're not the smartest person in the room. Be polite and humble.
Preguntas de entrevista [1]
Pregunta 1
Implement an iterator for a binary search tree that will iterate the nodes by value in ascending order.
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.
Preguntas de entrevista [1]
Pregunta 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