Status: Employed, 4+ years experience
Position: SWE at Indeed
Location: Remote
Date: September through November 2021
HR Phone Screen (30 minutes):
Recruiter reached out via email to schedule a half hour phone screen. Talked about the position, why I want to leave my current company, what I'm looking for, etc. Scheduled me for a technical screen with Karat (third-party).
Technical Screen (1 hour):
Karat is a third-party company Indeed uses to do an initial technical screen interview. The first 15 minutes consisted of quick conceptual questions such as "how would you determine the root cause of a spike in memory consumption given this graph" and "what is the difference between inheritance and composition". I was able to pick from 5 categories which was nice. I picked production issues and object-oriented programming.
The remaining 45 minutes was used for LeetCode-esque problems. The first was similar to Subdomain Visit Count. That took me around 30 min to solve, and I had to explain my time and space complexity. The second question was similar to Longest Common Subsequence, and I was only able to partially solve it. I was able to explain how I would finish it if I had the time.
Virtual Onsite (4 hours):
I was contacted about 10 days after my Karat interview to schedule a virtual onsite interview. The virtual onsite was broken into 4 parts:
The Code Review started with a few questions about my current code review process at work and things that I look for in a code review. Then, I was able to select a language and was given a piece of mock Production code that was supposed to imitate something a junior developer checked in. It was very open-ended as I was expected to add comments anywhere I saw fit about design, bugs, improvements, etc.
The Whiteboard consisted of an initial question about a challenging project I've faced, and then went into a LeetCode-esque question. It was similar to Moving Average from Data Stream. I talked through my approach, coded, and walked through a few test cases. I asked if my approach made sense and the interviewer was approving. I'm not sure if I just took too much time or what, but I was not asked about my time/space complexity.
The ProgEx was my favorite aspect of the interview and simulated a more realistic programming task. The interviewers turned off their cameras and mics and allowed me 90 minutes to complete a HackerRank exercise. The exercise involved HashMaps and sorting.
Finally, the Resume Deep Dive was brief but was done with an engineering manager. I was able to choose a project on my resume and talk about it, while the manager asked follow-up questions.
I thought all of the interviews were reasonable and all of my interviewers seemed friendly. I really thought I did well, but I received a rejection about 5 days later through a very vague and generic automated email. My recruiter gave me no follow-up or any kind of feedback, which really left me with a bad impression.