Apple Interview Experience
It was on Campus in an IIT.
Don’t just jump into the solution. They judge your thought process. Start with the simplest solution and build up on that, optimize that.
Know your resume. They asked a lot of questions about projects and internships that I mentioned in my resume. Make sure that you are able to describe whatever you have written on your resume.
Think out loud. Make sure you handle all corner cases while answering coding questions.
There were a total of three rounds. Each round was of 50 minutes. First, there was a coding round, followed by system design round and finally a HR round.
Each round started with interviewer giving his/her introduction and what he/she is working on followed by detailed technical or HR interview and then 5-10 minutes for questions from the interviewee.
Round 1 :
- Josephus problem.
- Interviewer wanted analytical solution.
- A simple problem based on DFS.
- Interviewer wanted proper code with all corner cases with proper function names etc.
- Finally, there was a discussion on various projects and internships that I mentioned in my resume.
Round 2 :
- Design a game leaderboard displaying top rankers from different regions.
- Take reliability, availability and latency into account for system design questions.
- Discussion on choice of databases : SQL based vs NoSQL.
- Discussion on latency, availability and reliability (CAP theorem).
- Database design for the system.
- API design.
- What happens when you type an address on a web browser and hit enter. Followed by questions related to DNS like what it is and how it works etc. This was followed by a question about how would I design DNS.
- This was followed by discussion on projects that I mentioned in my resume.
Round 3 :
- Discussion on various projects and internships that I mentioned in my resume.
- Discussion on scalability of work done during my internship.
- Discussion on some of the open source development I have been involved in.
- General HR questions.
- Discussion on work culture in Apple.