For those who don't know, Benchling builds R&D cloud for scientific research. They are a late stage startup with reputed customers such as Sanofi, Moderna, Regeneron, etc.
The onsite round was a very long process with 5 ish rounds for me.
There is no AI allowed in any of the rounds btw!
No prep needed. A SWE showcased a small product demo of running a toy science experiment on Benchling. Demo focused on an overview of tools like lab notebook, DNA sequence viewer, etc. I had time to ask any questions about the demo or product
Part 1: I needed to model the schema for the Lab Notebook product. Interviewer and I aligned on requirements after a small demo and I used standard class syntax. Syntax like
class Person:
name: string
age: int
....Part 2: Support versioning of lab notebooks. I needed to talk through the actual database storage and how I'd handle the provided use cases. I felt discussion on the tradeoffs in terms of storage and compute was productive.
I was able to propose a solution the interviewer seemed happy with
I was given some code for a search algorithm. I needed to get the existing unit tests to pass which meant a few bugs were in the system to fix. The test code is right, so the fixes I did were minor stuff like index updates, initialization, etc
I then needed to extend the system to support a new type of search query. I was able to get like 50% of the approach implemented out but I was running in the right direction. I just didn't finish the last step in implementing the feature, but I convinced the interviweer that with 5-10 more minutes, I'd be able to finish. The question has more parts, but you aren't expected to finish all of it
I was given a set of JSON structures and I needed to validate the JSON against a schema. The thing is that you have to code in the Coderpad which doesn't support installing any additional python dependencies. Not allowed to use stuff like pydantic, marshmallow for this. I was able to come up with a pretty robust system, but I didn't get all the JSON type validation logic in place as the interviewer asked me questions about improving my interface.
I thought the problem was very interesting and like coding 1, you aren't expected to solve all parts. The interviewer cares a lot more about thought process
Casual chat with the hiring manager. Hiring manager asked pretty standard questions and we did a brief project deep dive (talk about complex project, your role in the project, how long did you take to complete it, what would you do differently, etc)
I really enjoyed this chat and the hiring manager answered my clarifying questions thoroughly about the company and team's goals!