Sharing my onsite interview experience. Hope it helps someone :)
Screen - first week of the month - 2 rounds of 1 hour each
ML integration - 1 hour - using a real data set to solve a problem
Coding round - 1 hour
Screen ML integration round -
- Asked to build a model in a Jupyter notebook environment, given a data set.
- Had to build the target variable from the data. Had to drop columns that were unrelated.
- Built a model that was better than random in performance. Used balanced class accuracy for class labels as there was some skew. Asked a follow up for probs, said AUC curve explained a bit.
- Was allowed to check syntax for various things e.g., probabilities from logistic regression classifier
- Emphasis on building something end-to-end not perfect
Screen Coding round -
- Not leetcode style
- multi part question leetcode easy
- mostly straightforward
Onsite last week of the month
- 1 coding round
- 1 bug squash round
- ML design round
- Manager chat - behavioral round
Coding round
- Multi-part Leetcode easy question (I was asked and successfully solved 2 parts)
- emphasis on test cases
Bug Squash
- I was given a Hackerrank link with a trained model and a code package that loaded the model + ran some tests
- had 2 bugs, I identified both
- Fixed the first one
- Stumbled at the last step while fixing the second
- Was allowed to look through API docs from the web
ML design round -
- Non standard design question, specific to Stripe
- The interviewer kept interrupting me to ask clarifications, so I could not make it to the end of the design.
- Model design and beyond, I had to just provide a brief overview at the end of my 1 hour.
Manager chat
- Was okay. Asked the standard Sr-level questions on ambiguity handling, mentoring junior folks, continuous learning on a project etc
- One specific thing they wanted to know -
- Focused on quantifying impact, which I sort of did, but I did not have concrete revenue increase numbers for my project.
Hope this helps folks prepare for their interviews. Good luck, everyone!