First I had an online interview with the CEO (who has an engineering grad degree from Stanford) where he asked me technical questions about machine learning and computer vision. After, I was sent a coding challenge where I wrote some code in TensorFlow and trained a simple model. It was not a difficult challenge, but there were a few things to consider to be able to successfully solve it. I met with the CEO in person afterwards to discuss the coding challenge and their work in the company in a more casual setting. After this discussion, I got scheduled for a final round of interviews in the office. In the office, I had a culture discussion/interview with the CTO, followed by a machine learning interview by a data scientist, followed by a software engineering interview by the head of infrastructure. All interviewers were friendly and helpful, and the questions were relevant to the position I was applying to. After this round of interviews, I had a wrap-up discussion with the CEO and received an offer a few days later.