I gave my resume to a friend who works at Apple, and they submitted it on the company's job site with their name attached as a referral. My application targeted several open positions that I believed matched my skills. Within a couple of days, I started receiving emails from Apple recruiters across various teams. Some recruiters discussed positions that I don't recall applying for and that were beyond my capabilities, so I had to decline some of those opportunities. Ultimately, I was scheduled for phone screens with two separate teams.
Team A's phone screen was almost entirely general, with one extremely basic technical question: "What is an affine transformation?" This led to a second phone screen two weeks later that was slightly more technical but still heavily focused on my experience. In the end, I did not make it past this stage.
Team B's phone screen, on the other hand, covered a range of generic programming interview questions:
We didn't discuss my experience or anything on my resume at all. However, the evening after the phone screen, I was contacted by the recruiter via email, informing me that the team would like me to interview with them onsite.
As I already live in the area, I was responsible for getting myself to their headquarters. I have no idea how they manage interviews with non-local candidates. My first interview was at 11:15 am. I planned to arrive at 10:45 am just to be safe, but parking was so difficult that I didn't end up checking in until 11:05 am. Luckily, I decided to be early! In general, parking at the main campus is an awful experience if you arrive after 10 am.
The interview itinerary was as follows:
I received one break between the engineering manager and recruiter interviews only because I requested to use the restroom. Aside from that, my schedule was back-to-back interviews, and it was honestly a very draining experience.
The interviews all involved writing coding solutions in C on a whiteboard. The problems were mainly contrived variations of string and list manipulations, and character permutations. Unlike the interview process of a certain other notorious tech giant, they didn't care much about time complexity or improving solutions. Once I arrived at the solution the interviewers seemed to be looking for, they immediately moved on to the next one. The problems themselves were not terribly difficult, but there was the consideration of nervousness and anxiety, which can turn an intermediate problem into a difficult one. While I was able to get the correct answer for every problem, I definitely wandered down the wrong path and went in circles a bit before arriving at the correct response.
The day after the onsite interview, I received an email from the recruiter stating that the team thought I would be a good fit, but I needed to speak with one more higher-level manager who happened to be on vacation. So, fast forward another two weeks, and I was on the phone with him. His questions were fairly general, and he seemed to be mainly interested in selling the position to me rather than attempting to identify whether I qualified for it, which I saw as a very good sign.
A couple of days after that, the recruiter contacted me again and provided me with an offer.
Print all permutations of a string of characters, without printing any duplicates.
The following metrics were computed from 3 interview experiences for the Apple Software Engineer III role in Cupertino, California.
Apple's interview process for their Software Engineer III roles in Cupertino, California is incredibly easy as the vast majority of engineers get an offer after going through it.
Candidates reported having very good feelings for Apple's Software Engineer III interview process in Cupertino, California.