How to Prepare for a Data Science Interview
When interviewing for a data scientist, it’s crucial to know how and what to prepare to be successful. But success also lies in knowing what not to prepare.
Image by Author
If you’re failing to prepare, you’re preparing to fail. Not my words, but the ones by Benjamin Franklin. Old Beejey was – considering the many positions he held during his life – probably an expert in job interviews. And his advice sounds good as any for a data science interview.
Napoleon Bonaparte took Beejey’s advice but, after failing the interview at Waterloo, Inc., realized that over-preparation is the foe of inspiration.
As usual, the truth is somewhere between two extremes. How do you achieve the balance of being prepared enough but not enough to kill your personality and spontaneity?
I’ll talk about what you’d want to prepare thoroughly and what you should intentionally under-prepare.
Image by Author
What to Prepare (And Be Successful) for a Data Science Interview?
There are several things you need to be thorough with before the interview. These are fundaments where being knowledgeable, well-drilled, and precise is required. And you can be all that only if you’re well prepared.
- Research the company
- Research the position
- Learn the interview process
- Practice technical skills
- Build the projects portfolio
Every data science job interview revolves around the technical skills. However, all other stages of preparation are equally important. They will allow you to practice your technical skills efficiently and make them stand out in the interview.
1. Research the Company
This part of the preparation is often framed as necessary because ‘it leaves a good impression’. You don’t want to make a good impression. You want to do good at the interview. These two are often conflated. Doing something to make a good impression means you’re trying to do what you think the interviewer wants to hear. And everybody’s saying the same thing: the interviewers like to see you did research into a company and the role.
Yes, that is true. But leaving a good impression is only the result, not the reason for thoroughly researching the company. The reason why you do it is you need to know how you and your skills will fit in once you get a job. If you want to fit there at all.
Image by Author
What to Look For
When researching the company, you should focus on the company’s:
- History
- Products
- Hierarchy
- Employers
- Financial performance
- Competitors
- News
History. This is knowing when the company was founded, how long it has been in your local market, and how it has changed through history (mergers, acquisitions, ownership changes).
You’d like to know because you may not want to work for a company with dubious owners. Or you particularly like how the company organically grew to become what they are today? It’s possible you’d want to avoid the newly founded companies, thinking those with longer histories give you more security. Or that start-up is exactly what you’re looking for.
Products. By knowing what the company sells, you’ll get more info about the company profile. Are their products cheap and low quality? Or are they known for their quality? What products are the main revenue streams? You already use some of these products, or you have an extreme aversion to some of their products? What is the company’s market share? What are their latest products?
Hierarchy. Check the company’s hierarchy. How tall or flat their organizational structure is. Look up their executives, their experience, and employment history. Find the number of employees. Familiarize yourself with the divisions/departments and get general info about each division’s purpose. Find out the number of branches and countries they operate in.
Employers. Check what their current and ex-employers say about the company. Why do they leave? Why do they stay? Also, in this stage, you should try to find out your position’s salary range.
Financial performance. No need to go through all the financial reports from the last ten years. But be informed about the latest general trends regarding revenue, profits, and stock price.
Competitors. This is connected to the company’s products. Find out who their products are competing with. How do they fare compared to competitors? Is the company’s market share shrinking or growing? You’ll also acquire knowledge about the company’s industry by learning about the competitors.
News. By reading the news about the company, you can get a feeling about the company’s future. Are they introducing new products or discontinuing some? Are they going public? Who wants to take over the company? Is the company acquiring its competitor? Is its CEO taking a political stand you like or don’t like?
Let me show you how familiarizing yourself with the above segments is important to you, not the impression you leave. Hopefully, you’ll be in a position to choose the employer you want to work for. The employers being desperate for data scientists might as well put you in that position, so it’s important you’re aware of your bargaining power.
And if you’re aware of it, it means you can also choose your employer. If you get interviewed for a 2-year-old startup (history) that sells the most popular product on the market, you’re a fan of (products & competitors), and where you’ll have only one boss (hierarchy), the one that’s very vocal and doing something about the racial inequality (news), you might be very willing to work for such a company. Especially if they pay above-average salaries for a data scientist (employees).
From there, you also get a clearer idea of how the company might use your technical expertise and what technology they use. Knowing that gives your technical skills preparation more direction.
But how do you determine the company’s profile suits you?
Where to Look For?
The sources of the information you need are:
- Company website
- Company’s social media accounts
- Relevant media outlets
- Forums and other sites where the (potential) employers review the company
2. Research the Position
Now that you know everything about the company, get more specific – find out everything you can about the position you applied for.
Image by Author
Go through the job description once again. Make notes on what technologies are mentioned. What skills does the ad focus on? (You’ll use that when practicing technical skills.) What will be your day-to-day job? What teams/departments/divisions will you be working with? Who do you report to?
Why is this important? For example, if you’re a data scientist within a Product Development team, you know your technical skills preparation will have to be more product-oriented.
3. Know the Interview Process
Once you get a feeling of the company’s general profile and your position, the next step is to get to know the company’s interview process.
Here you’re getting more specific. You want to know what to expect in the interview and whom to expect.
The What of the Interviews
Most often, the data science interview consists of three stages:
- Phone Screening/Online Assessment
- Face-to-Face Interviews
- HR Interview
Image by Author
The phone screening involves your future team member or boss getting to know you. You’ll go through your resume and talk about your education, employment history, and professional interests. This stage usually includes several behavioral questions and possibly one or two general technical questions just to ensure you’re a good prospect for the job.
Some companies also like to test your technical and coding knowledge through an online assessment. It usually takes from 30 to 90 minutes.
The number of face-to-face interviews depends on the company. Regardless, this is the most hard-core part of the interview process. You’ll be bombarded by behavioral and technical questions, coding tests, and possibly even take-home assignments. Depending on the company, this might also include an interview with an executive.
If you survive that, the final stage is usually a formality.
The HR interview is just to do a final confirmation on everything the employer found out about you during the other interview stages. Expect some very light behavioral, occasionally technical, questions. This stage is mainly to discuss the salary, benefits, and other technicalities regarding your employment.
The Who of the Interviews
The Who? No, not the band. Here you’ll want to find out who will be the interviewer. If you get their name, research them.
Look them up on LinkedIn to check their work history. Google them. Try to find their social media profiles. Don’t worry, they will stalk you, too.
From what you find out, you can get at least some idea about them. This could help you know what to expect at the job interview and how to adapt to the interviewer. For instance, if the interviewer doesn’t have a technical background, you could try not to cram your answers with technical jargon. And maybe that’s exactly what they’re testing: how would you talk about technical stuff to a non-tech person? Also, you could try to make a connection by mentioning the football team you both are fans of.
But have some dignity. Don’t try to suck up to the interviewer.
4. Practice Technical Skills
There’s no way of telling you the exact questions you’ll get at the interview. But I can tell you what types of questions to expect.
My team and I did this analysis in 2021 for our Data Science Interview Guide. It’s safe to say not significantly changed in the meantime to make what we learned outdated.
Our findings say that, by far, the most popular question type for a data scientist is coding. The other topics that occur often are Modeling, Algorithms, and Statistics.
Image by Author
The most common programming languages in data science are
- SQL
- Python,
- R
You should focus your coding practice around those three languages. But this is also where you benefit from researching the company, the position, and the interview process.
You should know which programming language(s) are used by data scientists in the particular company. Maybe all three are equally important? Perhaps they are using only one of those languages. If you know that, you can focus on it and not lose time on the programming language they don’t even use. Or you can broaden your preparation because you know the company will want you to use an additional programming language.
If you Google ‘data science interview questions’, you’ll get plenty of resources with more or less generic questions. Most often than not, it will be questions from one of the four most popular categories.
Feel free to read them through, understand their answers and decipher the code. You can also find some actual questions on the sites such as Glassdoor, Quora, or reddit.
This might be a good start, but it’s usually not enough.
There’s a reason why there’s ‘practice’ in this section’s name. Answering technical questions requires practice, especially when it comes to coding.
Since coding is the most popular topic, I advise you to solve as many coding challenges as possible. This will not only make you better at important coding concepts. It will also develop your speed. You’ll get used to the ways the question can be asked. Through practice, you can also develop your own systematic approach to solving the coding questions.
Some good resources for data science interview questions are:
5. Projects Portfolio
Though the interviews can seem overwhelming, they can only give an approximation of the candidate's skills and overall suitability for the job.
Again, you’re not creating a portfolio to please the interviewer per se. Having a portfolio of data science projects is a good idea because it is the ultimate test of how you apply all the data science skills to real-world problems.
As you build your portfolio, you’re elevating your technical skills preparation to a whole new level.
Of course, not every project is worth showing in your portfolio. When you choose which projects to do, it would be good if they involved:
Image by Author
- Using actual data (APIs and other technologies)
- Using databases to store data, preferably cloud databases
- Building a model
- Deploying a model/using visualization tools to create graphics
- Posting your work to get feedback (reddit, GitHub)
Doing projects that require all this will most certainly mean you’re covering all the necessary data science skills.
Go through your portfolio before the interview. Remove some of all your old beginner’s projects. Leave only those that you think adequately showcase your current skills.
If your portfolio is vast, adapt it to the position you’re interviewing for. Select several projects that suit the job description best.
What Not to Prepare (And Be Successful)?
Now, let’s have a look at what you should intentionally under-prepare to perform the best at the interview.
What do I mean by under-preparing? I don’t mean by completely unprepared. I mean, you should prepare only general outliers. Have a general picture of what to expect and what to say.
But don't go any further! This part of the interview heavily depends on the interaction between you and the interviewer. It depends on the direction the interview takes. It’s unpredictable. You can’t account for that!
So try to relax, be aware of your surroundings, and react to what you hear and see. This is the best ‘preparation’ you can have.
Questions for the Interviewer
You are, of course, ‘allowed’ to think about different scenarios and what you should ask your interviewer. If you realize you have some good questions for the interviewer beforehand, memorize them and ask them during the interview.
If you don’t have any questions ready, don’t panic. First of all, it’s a lie there are no stupid questions. Yes, there are. (When I say stupid, I mean asking something just to ask it.) So it’s better not to have any questions in advance than to have stupid ones.
Second, the questions will come up to you naturally in a conversation with the interviewer. If the interviewer mentions a database, there’s your chance to ask which database and SQL flavor they’re using. They said you’ll be a member of a data science team. Ask them how many team members are there and who will be your boss.
You see how naturally it comes? The point of the questions is not to fake paying attention. Paying attention will lead to having questions. Remember, even though it’s called a job interview, it’s really a conversation. And in a conversation, every participant moves between asking and answering questions.
Behavioral Questions
I already mentioned above, there will be behavioral questions at the interview besides the technical ones.
You shouldn’t prepare those in detail, either. There are no correct answers to these questions. The answers should arise from your experience, your handling of the situation, and your thinking. In short, from your personality.
The interviewer wants to know you. Allow them so. Leave some space for spontaneity, silence, and thinking. Don’t be afraid of pausing and not having every word ready two weeks ago.
Yes, it’s good to think in general terms beforehand about how you solved a conflict with a team member. Or think of an example that showed how you react under stress. But do it only in general terms, just so that you have general outliers of the story. Don’t learn everything you want to say about it by heart.
Your answers to these questions shouldn’t be mechanical. Also, contrary to popular belief, interviewers appreciate it when someone takes time to think before answering. Sure, some of them don’t. But would you want to work for a company that doesn’t allow you to think? As a data scientist? Me neither.
Summary
The data science interview preparation isn’t complicated per se, especially considering the number of resources that can help you with it. What makes it relatively difficult is that it takes time to do it properly.
And it requires you to strike a balance between being well-prepared and allowing your personality to show.
Try to apply these general tips at your next interview and see how it goes.
Nate Rosidi is a data scientist and in product strategy. He's also an adjunct professor teaching analytics, and is the founder of StrataScratch, a platform helping data scientists prepare for their interviews with real interview questions from top companies. Connect with him on Twitter: StrataScratch or LinkedIn.