Unfortunately, there is no one-size-fits-all approach when it comes to the data science job interview process. Interview questions and format can vary greatly from company to company and even role to role. How can you, as a job applicant, effectively prepare for this unpredictable process?
Edouard Harris, CEO and co-founder at SharpestMinds, may have the answer. SharpestMinds pairs data science students with seasoned professional mentors to help them find work, so Edouard has seen a lot of data science interviews.
“My experience has been, honestly, that the interview process varies so widely,” he said. “Every company thinks they’ve found the light, and they have the one true way of interviewing people. But nobody really knows.”
Why Data Science Job Interviews Are “A Huge Mess”
If you’ve made it to the interview, congratulations. That, in and of itself, is a great success — Edouard estimates that depending on where you’re submitting your job applications, a two to three percent interview rate could be normal. But once you’re in the thick of a handful of interview processes, you’ll quickly realize there are tons of differences and very little congruency between each. Simply put, it can be painful.
“You’ll get the IBM interview process which is just […] really high level questions like, ‘Okay, describe how a decision tree works. Describe how this works or that works,’ all the way to Google, which is excruciating whiteboard coding sessions with engineers,” said Edouard. “A lot of companies just do it differently — some just steal the questions on Leetcode. There are so many differences.”
The problem stems from a lack of data on how efficient a company’s interviewing process really is. Google famously analyzes this, but companies who take a hard look at their hiring efficiency are few and far between.
“It’s a huge mess,” Edouard said, and a lack of hiring data analysis is mostly to blame. “Ironically, very few companies actually collect data like: ‘Is my data science interview process effective?’ Not enough companies really interview at scale for these roles to be able to collect meaningful amounts of data.” The result is that data science hiring is currently “just this voodoo ritual that nobody knows how to do.”
How to Prepare
If you’re applying for a data science job at a startup, all you can really do is review your resume, projects, and important skills and concepts, and hope for the best. There’s probably no way to predict the kind of interview process you might be in for (although you can always ask about the format of subsequent interview rounds during your first interview). So the best you can do is general prep and reviewing common questions (this article lists quite a few good resources for data science and machine learning interview questions).
If you’re interviewing at an established company, though, Harris suggests looking them up on Glassdoor to see if there’s any information on the interview process or potential interview questions. At larger companies (like Google, for example) you may find lists of acutal interview questions for your specific position. But even if your role isn’t listed, seeing how the company formulates questions and what the interview process entailed for other roles within the company can help you determine what to expect.
Communication Skills Matter
It’s worth remembering that interview processes also differ because different companies need different things. A smaller company generally requires a candidate who can wear multiple hats and collaborate across teams without a well-defined communication process. On the other hand, a larger company may be less concerned with general knowledge and more concerned with specific technical skills required to fill a gap in the existing team.
Either way, you should keep a company’s communication style in mind when navigating the interview process. You can often get a sense of a company’s general style from its website and its social media presence. But at even the most hierarchical, tech-focused firms, clear communication is going to be important.
In any interview, Edouard said, “You need to have some baseline level of communication ability, and be able to say, ‘This is how I did this. This is my reasoning for that.’”
Beyond that, though, you’ll need to use some judgement about each company’s style, and also the specific person you’re talking to. You don’t want to dive into the minutiae of code in an interview with a non-technical recruiter, but an engineer might want to hear those details. When in doubt, though, keep it simple and clear. You can always offer more detail when prompted, or give a simple explanation and then say ‘I’d be happy to go into more detail about how I’d implement that if you’d like.’ Sharing too much detail without prompting can make you seem less credible, and there’s no easy way to undo that once it’s done.
Know Your Theory
Although you may never need to actually use this knowledge in a professional setting, it can help to review textbook theory questions and specific algorithms before your interview. How much this theoretical knowledge matters will depend on a company’s interview style, but some lean heavily on these questions to weed out candidates.
“It’s stupid that this is true,” Edouard said, “but very frequently it helps a lot” to review textbook theory questions like these:
- How to derive backpropagation?
- What’s the math behind neural nets?
- Show the learning for a decision tree.
- Show me the XG boost algorithm, derive the XG boost algorithm, and explain your steps.
“These are the kinds of whiteboard questions that you rarely need to use” in actual data science work, Edouard said, “but that actually people ask.”
Let Your Work Do the Talking
The old English idiom “a picture is worth a thousand words” is especially true during the interview process for a data science job. You should have a portfolio of projects already, but it can really help to showcase one of your projects visually and have it running on a server. Try to direct the conversation towards this topic, where you can mention your work and show it to the hiring manager.
“You can take out your phone and be like ‘Check this out, play with it — it’s right here.’ That sends a really good signal — it sends a signal that, ‘This person knows enough to set up a server, that’s a non-trivial amount of work.’” said Harris. “To make the interface at least pretty enough that a human can kind of use it, these are real valuable things. Plus they can check your work right there in front of you.”
And of course, as mentioned above, be sure you’re ready to explain this, and any other project you’ve worked on that the recruiter or interviewer may have seen. Be able to answer “how” and “why” for everything you’ve worked on - why you chose that project and why you approached it using the methods and techniques you chose (for example, why you picked a particular model or algorithm).
“In general, if you’re just trying to get through the interview, just be able to explain your reasoning in such a way that there is no doubt in my mind that you actually personally did the thing that you claim that you did,” said Edouard. If you can prove “that you actually understand the algorithm that you’re trying to explain to me,” you can be sure you’ve started off on the right foot.
Ask Your Own Questions
A great way to stand out to a hiring manager is by asking thoughtful questions. Look into the company and formulate a handful of questions that pertain to both the role and the company itself ahead of time. The key here is to actually do your research, and think of questions that demonstrate you’re interested in the company’s problems and have started thinking about how you, in this new role, could help solve them.
“If it’s a tiny company, almost always the best question to ask is, ‘What’s the biggest bottleneck for you guys at the moment? What is the one thing that’s blocking you as a company the most?’” Edouard said.
“If the company is 20 people or less, virtually everyone should be able to answer that question. If not, there’s some kind of communication problem, which is itself a red flag.”
At larger companies, good questions will vary more broadly, but your goal should be to come up with a couple of questions that show you’ve correctly identified some of the company’s biggest business problems and have been thinking about how the role you’re applying for would contribute to solving them.
Of course, you also want to use your questions to figure out whether the company is a good fit for you. At smaller companies, the “bottleneck” question helps with this (if you get a different answer from everyone you talk to, that’s a very bad sign). At larger companies, Edouard advised a different approach. Here, it’s all about testing for repeatable competence at scale for the organization. Ask questions that try to map out the shortest possible paths of communication for critical functions.
“A good question to ask a big company is something like: ‘How many keystrokes does it take to run an A/B test on a generic piece of content on your company’s homepage?’” he said. “That tells you how well this company can iterate at scale.”