First round: Phone screen with recruiter. Coding round: bit manipulation based.
Second round: Interview with another team member. Mostly based on resume, projects, and previous experience.
Then, onsite interviews: 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. This was difficult, involving how to accurately read peripheral registers under a specific scenario.
Third: Object-oriented design problem.
Fourth: Some behavioral questions. These were prior experience-based, asking how I solved specific challenges, and something related to testing sub-modules of a microprocessor-based system.
Fifth: Explain the block design of a typical microprocessor-based system.
Sixth: HR.
Accurately (this is the catch) read a 64-bit register value using a method that can read only 32 bits at a time.
The following metrics were computed from 12 interview experiences for the Apple Embedded Software Engineer role in Cupertino, California.
Apple's interview process for their Embedded Software Engineer roles in Cupertino, California is very selective, failing most engineers who go through it.
Candidates reported having very good feelings for Apple's Embedded Software Engineer interview process in Cupertino, California.