Level: Intern
Round: Online Assessment · Type: Multiple Types · Difficulty: 7/10 · Duration: 70 min · Interviewer: Neutral
Topics: Machine Learning, Algorithms, Naive Bayes, Decision Trees, Ensemble Learning, Recall, Precision, Confusion Matrix, Gradient Descent, Neural Networks, String Manipulation
Location: Toronto, ON, CA
Interview date: 2026-01-15
I received an online assessment after submitting my resume and cover letter. The assessment consisted of multiple-choice questions covering ML fundamentals, a coding question, and two ML engineering problems.
The multiple-choice questions tested my knowledge of recall/precision definitions, how to interpret a confusion matrix, gradient-related questions, ensemble learning tradeoffs, and a simple neural network forward pass calculation.
The coding question required me to add parentheses around a plus sign in a string representation of a numeric value to minimize the final calculated result. I used a brute-force approach due to lack of experience with similar problems.
The final two engineering problems involved implementing ML models from scratch. The first one was Bagging decision trees, where I had to implement bootstrapping(), fit(), and predict() without using NumPy. The second one was implementing Naive Bayes from the ground up, including calculating priors and posteriors, and I was allowed to use NumPy.
The online assessment included these types of questions:
Multiple Choice Questions:
Coding Question:
Given a string representation of a numeric value containing a '+' sign, add parentheses around the '+' sign to minimize the final calculated result. The string does not contain '0'. For example, given "435+122", one possible solution is "4(35+12)2", where the values outside the parentheses are multiplied.
ML Engineering Questions: