I felt like the interview process was extremely pragmatic and realistic. Fairly quick moving too. The senior recruiter I worked with tried really hard to ensure I had a smooth process and mitigate any hiccups. There was one big rescheduling hiccup because of an all-hands meeting that was swiftly handled. Fortunately for me, there were no random data structure and algorithm questions. No silly white boarding or architecture questions either.
I started out by reaching out to a recruiter/Sourcer. Instacart is very actively interviewing so you probably already have an email from them in your inbox. We got on the phone and chatted about the role. This was followed by a quick 10-min EventBus coding challenge via HackerRank. Try to finish this challenge in as little time as possible since elapsed time will be strongly used to evaluate you. It should only require a few lines of code, and best to do this in Ruby since Instacart is a big Ruby shop. To prepare for this challenge, best to read up on event buses and the PubSub pattern prior to starting the challenge.
After the EventBus challenge went well, they got me to speak with one of the engineers to determine cultural and engineering fit. Make sure you come across as smart, pragmatic, and fast on this phone call. Once you pass this, the sourcer transfers you over to a more senior "close-this-candidate" type internal recruiter. You get on the phone with this new recruiter where they give you a little more info on the role. They then send you a much bigger app-building coding challenge in Ruby/Rails again via HackerRank. At least it had a good README file so make sure you read that thoroughly *before* starting. I also chose to do Part B before Part A since Part A has a major front-end component that could take you an indefinite amount of time.
The coding app is the bulk of the interview process. Make sure you take it seriously and do the best you can on it. Failing the coding challenge will ensure you don't make it to the onsite. Be sure to check that your implementation isn't needlessly naive, i.e. no SQL queries inside a for/foreach loop. Try to use Ruby/Rails idioms wherever possible. Also, make sure your app looks somewhat pretty and reasonably good-looking. The app comes with Bootstrap, so be sure to use it to prettify your app! The recruiter recommended I spend 3.5-4 hours on the entire challenge, but I went all out and spent almost 6-7 hours to make sure it looked and worked great! I even submitted screenshots of my app along with my app zip file.
After I passed the coding challenge, I was invited over for a 2.5-3 hour onsite. The first session was a 30-min pair programming interview with an engineer. Do not forget to write unit tests for this part! Ideally you would develop it in a TDD fashion. The second session was with the new VP of Engineering. He was an absolute pleasure to chat with. Very pragmatic guy. The third session was the most fun since they feed you free lunch while getting you to chat with a product and design person. Instacart.com's consumer-facing website is a beautifully designed single-page app so it was a pleasure to meet the guy (the designer) in person. I talked a lot about the competition with the product person, mostly about Google Shopping Express.
The fourth and last session was with Brandon, the technical co-founder. This guy is super smart yet so humble, down-to-earth and very easy going. We talked for a long time, but we also wasted a lot of time talking about non-Instacart stuff like skydiving, etc. I got him to show me some of the operational dashboards and that sorta blew my mind. The logistics side of this business is so incredibly complex (it has to be). Since Brandon is the co-founder and possibly the ultimate decider on your candidacy, it is imperative that you really use this opportunity to show your passion for the grocery space here. Faking it isn't going to cut it here.