The interview process was split into 3 parts. The first was an informal coffee chat with the recruiter about your background and interest in the role - this was largely non-technical. The second was an hour-long interview with the hiring manager, during which we walked through more of my technical background and answered behavioral/situation-based questions. The last part was a super day consisting of three hour-long interviews with the intended hiring team. The first was a typical LeetCode design question, the second comprised two software-based system design questions, and the last interview targeted machine learning concepts.