I was directly reached out to by a hiring manager via email and was asked to schedule a tech phone screen. The task was pretty simple, involving fixing an existing app by completing small, sequential tasks. It primarily involved changes to Views, ViewControllers, and ViewModels, with no network code.
For the phone screen preparation, I focused on building an app from scratch with basic UI controls and networking. The interviewer was very friendly, and I advanced to the onsite interviews.
For the onsite, the first two rounds involved building an app from a given template project (a common question discussed on Glassdoor). I was given 1 hour and 40 minutes to complete this challenge. Although I had practiced similar app development beforehand, I only managed to finish one of the five requested tasks (the main one, which was a working app). The remaining tasks were small, optional improvements. I believe the focus of this round was primarily on speed, and I spent considerable time developing a scalable MVVM architecture and a collection view with programmatic UI, which was less efficient than using storyboards.
The third round was a behavioral interview. I felt the interviewer aimed to unsettle me. The questions started easily but intensified after a few minutes. The interviewer seemed unimpressed by my answers, based on their demeanor. I recommend being very thoughtful with your words and preparing numerous scenario-based questions with examples from your past experiences.
The final round was system design, which was likely my strongest round. The question focused on implementing a component of the Instacart platform, with the scope covering the client, API, and database schema/data models. Be prepared to make decisions independently rather than constantly seeking interviewer input, and document your thoughts thoroughly.
Finally, I had 15 minutes with a random developer from Instacart (not from my intended team or organization) to ask questions. I didn't fully grasp the purpose of this round and would have preferred this time with the hiring manager or a team member.
Overall, it was a decent interview experience, and I would rate the difficulty level as easy. I was uncertain about receiving an offer, given that I only completed one of the five requested tasks, and I don't believe the focus was heavily on architecture.
My recommendations:
Nothing you can't find on previous Glassdoor posts.
Also, I provided some more info in my description.
The following metrics were computed from 3 interview experiences for the Instacart Senior iOS Software Engineer role in San Francisco, California.
Instacart's interview process for their Senior iOS Software Engineer roles in San Francisco, California is extremely selective, failing the vast majority of engineers.
Candidates reported having mixed feelings for Instacart's Senior iOS Software Engineer interview process in San Francisco, California.