The whole process consisted of three stages, with the final split into three, and each part with a new interviewer. First was a screening call and info about the company. Second was a technical challenge - which in practice was quite simple, but how it was presented was challenging, and was really about breaking down the problem. Third was a lengthy three-part interview over 3 hours, consisting of a frontend challenge, an engineering practices/fit conversation, and an algorithm-type question. The frontend challenge was straightforward but had several steps, very general things any frontend engineer should know how to do. It was a very fair challenge in terms of content, but quite long. The engineering fit section was with three team members and included general questions about best practices, testing, working with designers, etc. The final technical challenge was a fairly standard leetcode or hackerrank type problem, did not require any complex algorithms, and seemed relevant to the company's actual work. Overall it was a very smooth and professional interview process. Brady, the talent acquisition specialist, was in contact throughout the process and I always heard back quickly. After the final interview, a catch up call with feedback was scheduled for the next day, where I was made an offer.