Level: Senior-Level
Round: Phone Screen · Type: Coding · Difficulty: 6/10 · Duration: 60 min · Interviewer: Neutral
Topics: Machine Learning, Python, Model Evaluation, Classification
Location: San Francisco Bay Area
Interview date: 2025-11-21
Got offer: False
The phone screen focused on ML fundamentals. I was asked to train a binary classifier on a toy dataset using scikit-learn and then improve the initial evaluation metrics.
The recruiter stated the interview would test my basic understanding of ML concepts, including NumPy, and involve coding in Python. I prepared by reviewing various neural networks (MLP, RNN, Transformer encoder/decoder), activation functions, optimizers, and topics more relevant to Perplexity's business (NN search, BM25/TF-IDF, decoder inference). However, the actual question involved using scikit-learn to train a binary classifier on a toy dataset and then improving the initial evaluation metrics.
I spent a significant amount of time looking up scikit-learn APIs since I haven't used it in many years. Consequently, I ran out of time to optimize the model sufficiently, which led to a rejection. I recommend practicing with scikit-learn beforehand, especially if your daily work primarily involves other frameworks like PyTorch.