This post was originally published by Susan Shu at Towards Data Science
Full guide on recruiter calls, hiring manager technical interviews, and how to spend just a little time to tailor your answers to each company.
Previously, I walked through the 2 pillars of data science roles: statistics and programming knowledge, as well as how to prepare to enter the field based on your expertise in those 2 pillars. (Link on Medium Towards Data Science).
Here, in this article, I’ll walk through what to expect, if you’ve received the good news that you’re getting an interview! This includes some time-saving tips for covering the huge variety of behavioral questions, how to make 10 minutes of research pay for itself many times over, and much more.
Know the distinction between HR and hiring manager
For mid to large sized companies, HR or non-technical recruiters (aka talent acquisition) usually do the initial filter of resumes, and then have a call with candidates that seem qualified. After the conversation, if they feel the candidate is a potential fit, they might pass it on to a hiring manager.
Back in 2017, I was confused as to the difference between HR and hiring manager. Now, I know that hiring managers are usually who you’ll really be working with, and report to, whereas the HR usually conducts initial screening and other types of administration such as coordinating interviews. Once again, this is assuming a mid to large sized company with established departments — I will not be going through startup specific information in this article, although most tips should still be applicable.
Showcase your communication skills to pass the first “gate”
Here is a general rundown of how the first HR or recruiter phone screen usually goes like:
- They ask you to introduce yourself
- They ask you about your experience in some technologies (they usually compare your answers against the job description or a list the hiring manager provided). Example: “Do you know how to use Tensorflow?”
- They probe you on items on your resume. Example: “Tell me more about your Reddit scraping project.”
- They ask you some behavioral interview questions. Example: “Tell me about a time you demonstrated leadership.”
- They usually ask why you are interested in their company or this role.
Since the HR won’t be working with you in your day to day, what it takes to get past this first “gate” isn’t necessarily even technical skills, but rather, communication skills.
I wish I were kidding when I say people actually fail this round because of avoidable reasons such as being nervous, or being unable to articulate their answers with less technical jargon. This is because your recruiters may come from many types of educational backgrounds, so you need to be able to communicate at varying levels of technical detail. If you can convey, in a way that the HR or recruiter understands, just why your skills can be valuable, they will happily go to bat for you and recommend you to the hiring managers.
Full guide of tailored approaches to clear the phone screen
Introduction: “Tell me about yourself”
- I prepared an “elevator pitch” for this question, which I reused for countless interviews. It includes a quick overview of my educational background, experience, and a sentence or two of why my experience can help me contribute to the company and role.
Experience in [technology], [machine learning technique] or [programming language]
- Here, I usually prepared with the job description in hand. If the description lists something I have experience in (e.g. looking for a candidate skilled in SQL), I prepare a quick outline of what I have done before in SQL.
- I also spent some time (10 minutes is enough) to brainstorm what type of projects the team might be working on, according to their industry. For example, for telecom, I asked around and discovered they are quite concerned about churn modelling (predicting which customers might leave). Personally, I did not have experience doing churn modelling, but could look up beforehand some examples or common techniques, so that I can connect that type of problem with my experience.
Probing about your experiences listed on resume
- I prepared carefully to be able to describe any project I listed on my resume — this will pay off for the technical interview rounds as well. For the HR round, I focused on being able to describe the impact or results, in high-level language that non-technical folks can understand as well. However, if you can mention any jargon on the job description that the HR is listening for, that is great. Even better if you point it out (e.g. “I used gradient boosting techniques for this project, which is mentioned on the job description.”)
Behavioral interview questions
- For these, I grabbed a list of questions online and made sure I could answer them verbally. Here are some examples. Every company and interviewer could ask drastically different questions, which makes it seem overwhelming to prepare for, but don’t worry — my time-saving tip is to prepare a handful of stories that can be used to answer a variety of questions.
- For example, instead of 4 separate stories of how I demonstrated communication skills, leadership skills, initiative, or ownership, I prepared one single story that could be used to answer all of those 4 questions. You can modify what to emphasize on the fly: for example, if the question is on communication skills, you can drop some details about leadership, while using the same story. Using this method, you can be prepared for 99% of questions they can throw at you, with only a handful of stories!
- Use the STAR method so that your answers do convey crucial information. Before I knew of this way to structure my answers, I forgot to mention the results of my projects most of the time, which was actually what the interviewers were most curious about!
Why are you interested in this company or role?
- This is going to be pretty important to the HR, frankly. If you can show enthusiasm as well as understanding what the company does, it helps a lot for this round. It’s hard to be interested in a candidate that seems clueless about the products or services of the company. I usually browse the company’s website or social media for an overview, as well as the overall “mission” of the company, if possible. Are they B2B or B2C? If they’re some sort of web platform, are they more focused on the people who create content, or consume content, or both?
- This research pays for itself many times over as you’ll be able to frame all your answers and stories around how you can help the company’s mission (e.g. “My educational background in [economic modelling] can help me create robust and accurate [churn models], so that we can proactively [save customers].”)
That’s a lot of information, as well as a lot to prepare for, but the good news is that the preparation in this round will pay for itself in future interview rounds. Though, if you don’t feel like you have time to prepare for all of those questions in detail, here are the time-saving methods that I found to greatly increase the odds of passing this round:
- Spend 10 minutes quickly looking up the company, and their core mission (or guess what it could be). This pays for itself many times over to make your case as a compelling candidate
- Prepare a quick elevator pitch that outlines your experience and why you’re interested in the company, team, or role specifically
- Prepare ~3 stories of your past experience to answer a variety of behavioral questions
- e.g. 1 single story to answer anything about communication/ collaboration/ leadership, another story to cover time management/ adaptability, and so on, each story being able to cover a handful of traits
If possible, find a friend to practice with — I was lucky that my friends spared their time to hear my elevator pitch — you’d rather stutter in front of your friends first, than the interviewer!
If you wowed the HR during the initial phone screen, in a mid or large-sized company, you’ll likely be invited to interview with the hiring manager afterwards. My preparation strategy for these further rounds involved much more technical detail, for example reviewing any statistical modelling I mentioned anywhere on my resume. Since many of those projects were done some months or years ago when I interviewed, it was only natural that I needed to spend time brushing up on details!
The good news is, a lot of the preparation for the previous round can help you with this round as well. Some questions, especially the behavioral ones, might even be similar or identical, but the later rounds are a good time to toss in more technical details in your answers.
Tailored approach to hiring manager interviews
Now, in my experience, I found that technical interview rounds had much more variation than the phone screens. This is because each company, or even the team itself, may focus on different types of data science. Hence, this is where the research you did about the company and team will also come in handy.
If the role is entry level or the description isn’t specific enough, it’s always a good bet to review some common algorithms like random forest, logistic regression, K-means clustering, etc. (In the interview for my current role, I did get asked to explain all those algorithms verbally).
In general, I prioritized theory and technical details of basic machine learning algorithms, and those used in projects I specifically had mentioned on my resume. If you mentioned using CNNs on a project you did on your resume, be prepared to explain your approach, and its pros and cons. Of course, if your job description literally says they’re looking for someone strong in NLP, you had better prepare for techniques in the specified topic too.
However, if no one has yet told you what fields the role focuses on, from the company’s mission or information about the hiring team, you can make educated guesses on what kind of algorithms to review. If this happens to be the case, I recommend asking the HR or hiring manager, with more details in the following section.
Technical rounds vary wildly — gather as much information as you can
Now, regarding coding interviews, I have heard wildly varying experiences. There are some that are 90% coding and 10% asking about past experience or algorithms; there are some interviews that are the opposite way around.
For example, my own experience interviewing candidates is that we’re looking more for problem solving skills and proficiency in Python, and we do not ask LeetCode style coding questions, which seem to have risen in popularity. Hence, I won’t comment on too much detail about coding portion preparation since it could vary too much role to role, and I don’t want to misguide anyone.
It is possible to make an educated guess from what you understand of the team’s day to day usage of the 2 pillars of data science: statistics and programming — if the team’s work relies more on statistics knowledge, it’s possible they ask more of the former, and vice versa. I elaborate more on the 2 pillars in part 1 of this series.
I suggest you get as much information from the hiring manager as possible; if you don’t know who that will be at this stage, ask your HR or recruiter contact. If the HR doesn’t know, you can ask them to ask the hiring manager on your behalf. I found that the HR folks are very nice about this and do try to help you — part of their role is to give the candidate sufficient information, after all.
- Review the technical details of projects you’ve mentioned on your resume — everything there is fair game to be asked, and it doesn’t look good if you can’t answer some detail about something you listed.
- Depending on the role or job description, review families of algorithms you think might be applicable to the role.
- Reach out to the hiring manager or HR to get as much detail about the technical rounds as possible, (within reason, of course).
- If there are coding rounds, practice on LeetCode or review implementations of popular algorithms.
One last reminder, which I have mentioned before, but is worth repeating: I really suggest you frame your answers based on the company’s mission and what you know about the team. Think about it this way: if my team does machine learning for customer personalization, but nothing about the candidate’s experience seems to be able to contribute to our team’s mission or techniques we use day-to-day, it makes it harder to hire the candidate.
That’s why it pays off to tailor how you describe your experience to what you know of the interviewers, because they simply don’t know perfect information about the candidate. In reality, between two candidates with the exact same skill set, the one that can better make their case on how they can contribute to the team, will be much more attractive.
There is a large amount of resources online about the data science interview process, which can be overwhelming. I was also in that situation when I started the job search, and I definitely can relate — which is why I shared the above details and tips. I hope that all that I learned can help you!
If you have some time before the applications and interviews, as mentioned in the first part of this blog series — the key is to bring your machine learning theory and programming both to a baseline level. For example, if you have 0 knowledge if one of them, bring it up to a 2 or 3.
If you have interviews booked, the immediate actions are:
- Prepare your elevator pitch self-introduction
- Research the company and role
- Prepare a handful of stories that are each able to answer multiple behavioral questions
- Review technical details of your resume, and focus on skills that the team or role need
- Review code implementations of past projects or LeetCode
And that’s it for this blog series. I hope that it was helpful or interesting, whether you are job searching or not. If you happen to be going through interviews at this time, I wish you all the best!
This post was originally published by Susan Shu at Towards Data Science