I was approached by a recruiter who once ghosted me. The next month he scheduled a meeting and cancelled just a few hours before. I also received a rejection email. This is the only rejection I've received from Apple without even talking to anyone.
I applied online. The process took 3 weeks. I interviewed at Apple (Cupertino, CA) in Sep 2018
Interview
Recruiter caught up to me with 3 similar positions and setup a phone interview. An engineer from the team did a coding test through phone. After passing that stage, was called for an onsite. 3 2-person and finally a single person conducted the interview. Except the last person, everyone else jumped into white board coding right away. Finally recruiter got back to me saying I wasn't selected to move forward in the position. Overall the interviews were good and not too hard. But the attitudes of the engineers in the interview panel were a bit weird. They would all come and sit with a poker face. After seeing the team I wasn't too sure anyway if I would have joined that team or not.
I applied in-person. The process took 3 weeks. I interviewed at Apple (Cupertino, CA) in Apr 2018
Interview
First round : Phone screen with recruiter - coding round - bit manipulation based
Second round : Interview with another team member - mostly based on resume, projects, previous experience
Then Onsite interview : 5 or 6 rounds, some were 1 to 1, some were 2 to 1
First round was again C coding - based on malloc
Second was embedded specific problem solving - something like how to accurately read peripheral registers under a specific scenario - this was difficult
Third : Object oriented design problem
Fourth : Some behavioral questions, prior experience based, how I solved some specific challenged, something related to testing sub-modules of microprocessor based system
Fifth: Explain block design of typical microprocessor based system
Sixth: HR
Interview questions [1]
Question 1
Accurately (this is the catch) read a 64bit register value using a method that can read only 32bit at a time