I recently flunked the iOS engineer interviewing process over at GM / OnStar, so I figured it might be useful to recap my experience so the next candidate (i.e. you) will have a better idea of what to expect when you walk in the door.
The way the interview worked was that there were two lead developers in a single room with me, along with the hiring manager (i.e. a panel interview of sorts).
One of the devs gave me a laptop with Xcode on it and asked me to come up with a simple, no-interface iOS app that describes a typical game of bowling. In other words, given two raw API names (e.g. “roll” and “score”), how would one implement this using TDD?
They were immediately not impressed with my efforts because the definition of their demo project was so vague, I had to ask (apparently too many) questions to try to get some clarification and focus from the developers interviewing me.
Prior to the programming test, they also asked me to describe how I would remote start a car via the Apple Watch, and they definitely did not like my answer on the whiteboard there either.
In terms of the environment that I saw, the cramped floor of the RenCen seemed mostly full of offshore agency contractors fresh off the boat, but they do also source a lot of local contractors via DetroitLabs.
The programming process that was described to me sounded like peer programming, where two developers are working on any one task at any one time.
One positive thing was that they said they do have mildly flexible hours (where some folks come in early and others arrive as late as 10 a.m.), so anything to get around the rush hour gridlock that accurately describes all the expressways leading into downtown would be a good thing.
If I had a chance to do this interview again, I would probably bone up on doing a demo app entirely via tests.
I’d also probably ask fewer questions and let the interviewers do the driving.
Hopefully, my experience flunking the iOS Developer interview process at GM/OnStar will help you to prepare for yours.
If you find any of my information useful, please let me know by clicking on the “helpful” link below. This helps to motivate me to be as detailed as possible in my interview reports.
Good luck to you!
How would you implement a minimal game of bowling in Xcode using TDD?
The only APIs you need to implement are:
The following metrics were computed from 1 interview experience for the General Motors Senior iOS Developer role in Detroit, Michigan.
General Motors's interview process for their Senior iOS Developer roles in Detroit, Michigan is extremely selective, failing the vast majority of engineers.
Candidates reported having mixed feelings for General Motors's Senior iOS Developer interview process in Detroit, Michigan.