The posting was for a skilled Objective-C engineer with experience developing SDKs and frameworks.
Had a few phone interviews with the in-house recruiter and the hiring manager; these went well.
I was scheduled to have a follow-up phone interview with one of the lead engineers; however, an emergency conflict came up, and he needed to reschedule. I was coincidentally scheduled to travel to Apple for an on-site interview with another group in a few days, so we co-opted the trip, splitting the interviews with the two groups over two days.
This interview review is related to the first day/group only. I will post a separate review for the second day/group later.
The engineers, the manager, and the recruiter were all very friendly and easy to converse with. The knowledge-based programming questions were difficult but manageable. Several pertained to nonatomic/atomic properties, retain cycles, some bitwise operations, and delegates vs. blocks vs. notifications.
The coding questions primarily related to data structures and optimization, with a little UI coding towards the end.
By the end of the day, I was exhausted and more than a little demoralized. I should have performed better. I had a few shining moments, but these were overshadowed by some glaring gaps in my memory on some of the early basics of data structures and algorithms. I left them with the impression that I was really more of a framework consumer than a competent framework author, and that I wasn't really ready for the challenges that this posting entails.
Nevertheless, the engineers and the manager were stellar. They were friendly, not dismissive, and helpful, particularly when I was flailing. I would have been honored to work with all of them.
Given a histogram data representation, how would you find the adjacent bars/columns that collectively yield a rectangle with the largest coverage area.
Given a string of words and a maxWidth, write a method that inserts new lines where appropriate to perform a word-wrap. (Wrap on word boundaries, assume " " is fine).
Now, how does your implementation handle strings with multiple spaces between words? Are those extra spaces lost or preserved?
"What is the one question you wish I would've asked? What question are you sure to nail if I ask it right now?"
The following metrics were computed from 2 interview experiences for the Apple Senior Software Engineer role in Santa Clara, California.
Apple's interview process for their Senior Software Engineer roles in Santa Clara, California is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Apple's Senior Software Engineer interview process in Santa Clara, California.