The process was lengthy, comprising LinkedIn messages, emails, a phone interview, a development homework assignment, an invitation for an on-site visit, the on-site interview itself, and a final decision. All told, it was about a 7-week process.
The phone interview lasted only 30 minutes and was mostly about me as a person and how I prefer to work.
The homework assignment was fairly simple, but there was a slight gotcha: they used it as fodder for my first on-site interview session, expecting me to have all that 2-week-old information at the forefront of my mind.
The on-site interviews were all pretty great, though. Everyone was very nice, helpful, and friendly. There were no big gotcha questions or pointless trivia.
There was some whiteboard coding, which was my first experience with this. It didn’t matter what language you decided to write in (or even pseudo-language) or if you made syntax errors; it was all about the 'why?' behind the code you were writing.
The on-site portion consisted of 6 separate interview sessions involving 8 people and was spread out over 5.5 hours, with a break for lunch.
They got back to me within a week of the on-site interview.
Q: How would you go about adding feature X to [the app you built as homework]?
Q: How would you create an app that is a data-dashboards app with multiple dashboards per user, each one having its own widgets? These widgets should be configurable – allowing users to resize and position them as they wish. Users should also be able to determine what data stream to represent, how much of it, and in what way (e.g., line chart or bar chart).
Q: How would you write a recursive function that takes a given number and sums all the numbers from itself down to 0?
Q: If we pull the top 100 search results from 7 separate services, and then pull those into a single service, how would you implement returning just the top 100 from all of them?
Q: Here is a mockup of a design we’ve been tasked with implementing. For now, we’ll just do some basic HTML, CSS, and JavaScript to populate a page with items from a hard-coded JSON response to match the look of the mockup. We’ll also implement some simple JavaScript handling of a button.
Q: Given a certain relational database setup, let’s say we want to know the conversion rate for each device type (iPhone or iPad) across the A and B instances of an experiment named “New Experiment.” How would you write that SQL?
Q: Let’s say you come into the office and everything is chaos – we’re somehow charging everybody 10x what they should be charged. What do you do?
Q: Tell me 3 things that all object-oriented languages have in common.
Q: (Drawn on the whiteboard) Let’s say you’re a Person, and you have a certain relationship to Animal, Hat, Leg, & Escalator. What would you label each of those relationships? How would you order them, from 1–5, in terms of how tightly coupled they are (1 being most tightly coupled)?
The following metrics were computed from 1 interview experience for the Apple Senior UI Engineer role in Cupertino, California.
Apple's interview process for their Senior UI Engineer roles in Cupertino, California is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Apple's Senior UI Engineer interview process in Cupertino, California.