LC ⊆ coding portion ⊆ full loop interview || Apple | SSE | Cupertino | May 2022 [Reject]
Anonymous User
3007

This memorial day, here's my give back to the amazing LC community!
With my Apple interviewing experience would like to share that LeetCode questions are just a subset of coding portion of the overall interview at Apple. They ask a ton of resume based question. Unlike Meta, Google, HBO Max, VMWare, WalMart, Microsoft, etc. they focus heavily on tools, technologies relevant for that role for that particular team.

Status: 18 yoe(most of it at overseas)
Position: Senior Software Engineer at Apple
Location: Cupertino/NY
Date: May, 2022

Process: Recruiter reached out over email. All coding questions were on CoderPad.
Phone Screen: Anagram based question LC-medium. Finished coding in 15 minutes. Interviewer was happy and spent rest of 25 minutes on behavioral and resume questions.
Virtual Onsite
There were 6 rounds: 45 min each.

  1. HLD: Migrate one database table into another table. It went okay.
  2. LLD: Interviewer insisted only on Java, whereas I wanted to use JavaScript for coding(he was not happy about it and made a strong comment on that. I think that went against my favor). He was expecting some 'Gang of Four' style OOP design.
  3. KB/Coding(tech#A from resume): Mix of 'what/how is ..' and 'implement...' questions. Self assessment: avg. I ran out of time to complete a few test cases of the last question. Had I written all the test cases before starting coding, the outcome could have been different for this round.
  4. : Behavioral/KB/Coding(tech#B from resume): 'what is..', 'how do you do...' for a specific version of another tool/technology from my resume. Last 15 minutes LC Hard on monotonic queue. I gave the working principal and core algorigthm, couldn't complete the code. However the interviewer told you are doing great and we can stop here.
  5. Behavioral/Coding(DSA): Last 20 minutes for LC hard stack based question. Yet again, I explained the core algo, why I'm doing what I'm doing, gave the time and space complexity and completed the high level code with helper functions. Interviewer gave positive feedback that this code is self explaintory and I don't need to implement the helper functions.
  6. HM round: It was more about knowing the team in general.

Result
Reject next week
Final Thoughts
Interviewers were nice and I never felt that unncessary grilling on a particular question and it was a +ve experience.
I made mistakes in assuming that 1) practicing the LC tagged questions of a company would help for that company 2) for FAANG tools/technologies in resume are secondary and DSA is primary skill. Given that I 'cracked' the two DSA LC hard questions in the interview with correct explaination, I was hoping for at least a downgrade offer. But Apple is looking for 10/10 on tools/tech used in the past with very specific versions of those tools(including any breaking changes). So I'd advice to brush all of them up when you apply for experienced positions with them.
I hope this helps others preparing for Apple!

abbr
LC: LeetCode
SSE: Senior Software Engineer
yoe: Years of Experience
HLD: High Level Design aka System Design
LLD: Low Level Design aka class level design
KB: Knowledge Based questions
DSA: Data Structures and Algorithms
OOP: Object Oriented Principals
FAANG: aka MAANG

Comments (2)