Shopify Machine Learning Engineer Interview: Simple CSV Challenge with Unexpected Hurdles

shopify | Machine Learning Engineer | Interview Experience

Interview Date: Not specified
Result: Fail
Difficulty: Easy

Interview Process

The position applied for was a full-time Applied Machine Learning Engineer role. The interview consisted of a video format. The candidate completed a simple task of reading names from a CSV file and implementing a matching algorithm to ensure that no one matched themselves. The interview took place in the afternoon and the candidate received a rejection email the following morning.

Technical Questions

  1. Read names from a CSV file and implement a method to ensure no one matches themselves. (File Operations, Data Structures, Random Algorithms)
  2. What is this data structure? (Tuple)
  3. Why use this? It looks like a list; why not use a list? (Immutable keys for dict)
  4. Why not use pandas to read the CSV file? (Pandas is too heavy for simple file reading)
  5. What is the ‘re’ module you just imported? (Regular expressions library)
  6. Why does your method return self? (Similar to Java’s return this, supports chaining)
  7. Why do some method names start with an underscore? (Private methods, Python does not have a private keyword)

Tips & Insights

The candidate noted a general disorganization in the interview process, including a lack of confirmation regarding the programming language to be used. This led to the interviewer being unfamiliar with Python, resulting in a focus on basic Python questions rather than the intended technical challenge. The candidate suggested that future interviewers confirm the programming language beforehand to avoid wasting time and causing unnecessary frustration.