The process had three main stages:
* Initial recruiter screen to discuss my background, the role, expectations and the overall interview process.
* Live coding challenge focused on rendering an ASCII graph from a set of x/y points and explaining my thought process while coding.
* Final interview loop consisting of three interviews:
* Hiring Manager interview focused on teamwork, ownership, collaboration and how I handled mistakes or conflict in past roles.
* Director interview focused on engineering judgment, balancing pragmatism with quality, changing direction when needed and communicating decisions across teams.
* System design interview focused on designing a platform-style system, with follow-up questions around security, malicious users, regional availability, active-active design and avoiding data duplication.
Overall, the process was well structured and relevant to the role. The interviews were challenging but fair, and the questions were mostly based on real engineering situations rather than abstract trivia.