75 min.
The first part was ML. They gave me 5 sets of training/test error and I had to analyze the possible causes. The cases included training high / test low, training low / test high, both low, and both high.
I hadn't prepared for the training high / test low case and got stuck for a bit. The interviewer hinted that the train and test data might have different distributions, or that the training set might have a lot of outliers.
Then they asked how to deal with overfitting, and I had to answer separately for three cases: linear models, tree models, and neural networks. They also asked how to split train/validation/test, and how to do k-fold CV.
For the coding part, I had to implement k-means from scratch. I was allowed to use numpy, but I couldn't remember the numpy syntax, so I wrote everything in pure Python. At the end I had to get the interviewer's test cases to pass. I wrote several small bugs, and the interviewer was nice and debugged them with me, so luckily I fixed them all in the end.
Writing it in pure Python was pretty tedious. I had seen this problem in other people's interview reports, but when I prepared I only looked at the code and never wrote it myself. It turns out you really do need to write it out yourself once.
Two days after the interview I was told I passed.
Discussion
Loading comments…