I felt the interview process was extremely pragmatic and realistic, moving fairly quickly. The senior recruiter I worked with tried hard to ensure a smooth process and mitigate any hiccups. There was one significant rescheduling hiccup due to an all-hands meeting, which was swiftly handled. Fortunately, there were no random data structure and algorithm questions, nor any silly whiteboarding or architecture questions.
I started by reaching out to a recruiter/sourcer. Instacart is actively interviewing, so you likely already have an email from them. We spoke by phone about the role, followed by a quick 10-minute EventBus coding challenge via HackerRank. Try to finish this challenge quickly, as elapsed time is a significant evaluation factor. It requires only a few lines of code, and it's best to use Ruby, as Instacart is a significant Ruby shop. To prepare, read up on event buses and the Pub/Sub pattern.
After the EventBus challenge, I spoke with an engineer to determine cultural and engineering fit. On this call, present yourself as smart, pragmatic, and fast. Once you pass this, the sourcer transfers you to a senior "close-this-candidate" type internal recruiter. This recruiter provides more role details and then sends a larger app-building coding challenge, again in Ruby/Rails via HackerRank. Fortunately, it had a good README, so read that thoroughly beforehand. I opted to do Part B before Part A, as Part A has a substantial front-end component that could take an indefinite amount of time.
The coding app is the core of the interview process. Take it seriously and do your best. Failing this challenge will prevent you from reaching the onsite. Ensure your implementation isn't needlessly naive (e.g., no SQL queries inside loops). Use Ruby/Rails idioms where possible. Make sure your app looks reasonably good. The app includes Bootstrap, so use it to enhance its appearance. The recruiter suggested 3.5-4 hours for the challenge, but I spent nearly 6-7 hours to ensure it looked and worked great, even submitting screenshots with my app's zip file.
After passing the coding challenge, I was invited for a 2.5-3 hour onsite interview.
This was a pair programming session with a Ruby engineer. They allowed you to use your own laptop, which was great, but you only had 30 minutes to finish the problem with working unit tests.
I think they re-use this pair programming problem, so I'm not going to divulge details here. It wasn't a particularly hard problem; they just wanted to see how you code and test. Do not forget to write unit tests! Ideally, you would develop it in a TDD fashion.
The following metrics were computed from 1 interview experience for the Instacart Software Engineer (Ruby/Rails) role in San Francisco, California.
Instacart's interview process for their Software Engineer (Ruby/Rails) roles in San Francisco, California is incredibly easy as the vast majority of engineers get an offer after going through it.
Candidates reported having very good feelings for Instacart's Software Engineer (Ruby/Rails) interview process in San Francisco, California.