I interviewed for AI Engineer + Backend. First was the recruiter, who asked a lot about customer and user experience, because Distyl does a lot of custom solutions for traditional companies building AI-related products, so it mostly revolved around development experience working with clients — kind of felt like interviewing for an FDE role. I applied for AI Engineer, and the recruiter said the whole process is the same either way, so the decision between AI Engineer and backend engineer on the platform team gets made at the end.
Then there was a take-home, supposed to take 4 hours, though they don't actually time it — but you're required to finish it and do the code review the next day. You're allowed to use AI to do it. The take-home was mainly about real-time streaming processing for OpenAI Whisper. Most of the model code was already written; you just needed to change the flow from waiting for the full voice transcript to arrive before processing it all at once, to processing however much has come in as it comes in. The interviewer mostly asked about my understanding of the code and how to support multiple speakers' voices at once and how to optimize for speed.
The next round was system design, 45 minutes. My interviewer spent the first 20 minutes asking about my project, leaving only 25 minutes for the actual design. The question was to design an LLM chatbot that does streaming, and that needs to switch to a different language model if the token count exceeds the rate limit. They also asked how to scale it up, how to handle streaming when there's a load balancer involved, and how to store the chat content and when to write to the db — write it all at once, or write every time there's a new message.
The last round was a project deep dive, 45 minutes, purely on a virtual whiteboard where you draw out your own product's framework and design. The interviewer mainly focused on how you deploy and how you decide which deployment approach to use. It felt like they mainly wanted to know which parts could become shared and turned into a platform other customers could also use, and which parts had to be customized and why. They asked what would be different if you started from zero, and how you handle and maintain different versions for different customer products, and how you decide when it's necessary to migrate to a new version.
Discussion
Loading comments…