A blueprint for data science interviews
Data science interviews are all over the place. We can do much better.
Let's look at how to structure interviews, what questions to ask, and why you need this information.
A screening interview includes a brief review of your background, and a list of questions designed to determine if you're a viable candidate for the position.
The questions will be about your qualifications, but the interviewer may also want to know your salary requirements and availability to work.
Employer Perspective: You should make sure the applicant has the qualifications to do the job. You should get a basic feel for what type of person the applicant is by the way they talk as well as the content of their answers.
Applicant Perspective: Employers want to know that you can hit the ground running. Make sure you re-read the job description, research the company and know your resume by heart.
The technical phone screen is usually a conversation with one of the team members you will be working with. They want to ensure that you know everything you listed on your resume.
You'll probably have to explain your work history as well as answer some technical proficiency questions.
Employer Perspective: You should delve into the applicant's prior work (or academic) experience. Make sure they have an understanding of the data science process and general understanding of the tools and technologies needed to hit the ground running.
Applicant Perspective: You should be familiar with all the tools and technologies that the company uses in their data science stack. They probably don't have the resources to train you and expect you to start working immediately.
Data challenges are a recent trend. Soon, things will get more standardized. They can vary a lot, ranging from a simple 1 hour exercise to one that takes several days.
In some cases, you make get 2 challenges. One based on software engineering concepts and another based on data science. It depends on the team and what part of the data science spectrum the role falls on.
Employer Perspective: You should give challenges based on the type of work you expect the applicant to do. Will there be more data visualizations, heavy machine learning algorithm development, data engineering pipeline development, etc. Also, don't use generic challenges, but make one that relates to your industry domain.
Applicant Perspective: This is where you can prove how much you understand about the general data science process as well as domain-specific feature engineering. You should make sure you setup a reproducible environment and clearly communicate your findings via visuals and a written report.
The format for onsite interviews varies a lot. Some interviews are all-day affairs - back-to-back meetings with programmers all day - and others will be just a quick meeting with a CTO. Some interviews will have you filling whiteboards with code, while others will just consisted of a face-to-face conversation. A few of your interviews may involve some sort of social/culture component, ranging from formal interviews with non-technical people to happy hours.
Employer Perspective: Everyone that will be working with the applicant should get a chance to meet them. You should get a feel for the applicant's personality and continue to test their technical background.
Applicant Perspective: This is your final opportunity to make a good impression. Usually approximately 3-5 people will make it to the final round, so acing all the questions on this stage is required to get the job.