I interviewed for a role on the agent platform team.
The process was: OA -> HM call (behavioral) -> system design -> VO (two rounds of debugging and coding).
The OA was basic Python string parsing. The only tricky part was the last question, where the argument you're passed is callable — you need to print the function's name, its input/output format, and the expected result. You need to know which library gets you that kind of introspection; googling it gets you there.
After that was the HM chat — standard questions, with the main focus on why I wanted to join. It was a pretty pleasant conversation.
Next was the ML system design round, which I gather leans traditional but with an ML component folded in. The actual prompt was: design a system like Glean — enterprise-grade, able to handle complex research questions, retrieve both internal and external information, synthesize findings, provide citations, and output a report.
Because there was so much you could go into, looking back I feel like I didn't cover everything. In hindsight, it's better not to go too deep at the high level and instead lay out the general components first. Along the way the interviewer asked how I'd do caching (matching similarity between questions), how citations would work, and what happens if a downstream party changes their mind and shouldn't have access to certain data anymore. Thinking back on it, I probably should have been bolder and just let the model plan for itself and do function calling, instead of decoupling everything so finely.
I got cut after system design. Pretty unfortunate — feels like there's still a lot I need to learn.
Discussion
Loading comments…