5 Tips to Ace Your Data Scientist Interview
Preparing for a data scientist interview? A lot of people find it very stressful as unlike general software engineer interview, data scientist interview can be very diversified and much harder to predict and prepare.
Some people may even believe that data scientist interview is all about the experience and there's very few you can prepare. However, it's not true. If you are applying for some entry-level data scientist positions, you don't need to be an expert in this area in order to ace the interview and certain preparation tips can definitely boost your chance of getting hired.
In this post, I'd like to share 5 very practical tips that can help you be better prepared for a data scientist interview.
Tip# 1 - Prepare well for general coding questions
Data scientist and software engineer are closely connected, sometimes there's no clear cut between a data scientist and a machine learning software engineer in some companies. As a result, most data scientist interviews will cover quite a lot general coding questions.
In this part, you should expect to have very similar interview questions as a general software engineer interview and it will mostly focus on data structure/algorithm. The golden rule is always to be very familiar with those basic concepts first and then spend enough time on practicing with coding questions.
“Cracking The Coding Interview” is a great book that can get you started if you are not quite familiar with this topic and you can check this book's review here. Also, there are several other books that are highly recommended.
Another very practical tip here is to practice with questions from past interviews of your target company. It shouldn't be hard for you to get tons of such questions from sites like Glassdoor and more likely you won't be able to finish all of them. The point here is not expecting the same questions to be asked in your interview (although it's possible to happen), instead this will give you a very clear idea of the company's interview style and what kind of questions were covered in the past.
It's worth to note that for many big companies like Google, you can apply for a general software engineer position and once you passed the interview, in the team matching process you can choose to work at some machine learning teams. So the majority of your interviews will be focused on this topic.
Tip #2 - Be familiar with basic machine learning theory
It's very important to have a solid foundation before your interview. In a data scientist interview, you will be tested if you are familiar enough with those basic machine learning theory and have a clear understanding of how they get connected with real life problems.
If you are not confident about this section, it's highly recommended to give a full review of your textbook or take some online courses quickly. Remember that the core here is to really understand those theories instead of memorizing them, which is the most common mistake people have.
When I say you should understand those theories, I expect you can easily explain each basic concept in one or few sentences clearly, you know pros and cons of each technique, and you know when and why each technique is used in certain scenarios. With that in mind, it's totally fine that you can't write down any math formula related to a specific algorithm, but you should be able to explain the algorithm intuitively with a simple graph maybe.
Tip #3 - Get ready for applied machine learning questions
A common pattern is that the interviewer will ask you a specific prediction problem and you are responsible for designing the solution from scratch. During this process, there is quite a lot discussion between you and the interviewer and you may also be asked to write some code to implement a small component.
It's a little bit similar to a system design interview and a common tip is to solve the problem in top-down order. More specifically, in the beginning you'd better try to clarify the problem as much as you can. Be clear about the input and output, whether there's any constraint, how large is the data size etc.. Thus you can abstract the real life problem into a clearer model. Then you can figure out what steps are required to solve the problem, for instance, you may have steps like data preprocessing, feature engineering, training etc.. After that you can dive into each step in details and talk about your approach.
Of course this requires quite a lot prior experience, however, you can still improve by preparing for it. The easiest way is to learn how existing systems were built. Many companies disclosed how they built specific systems and it's a great opportunity to learn from that. Try to compare difference from your approach and understand why it's built in this way. Also, many companies like to interview questions related to their products, so being familiar with their products and coming up with ideas of building predictive system on top of that can be helpful as well.
Tip #4 - Prepare well to explain your past projects
It's quite common for interviewers to discuss your past projects, which is even more common for data scientist interviews as it's a straightforward way to get a general idea of your experiences. So you should always be well prepared for this before your interviews.
There are quite a lot things you should prepare, including papers you published, projects in your past jobs, course projects if you are a student and your side projects if there's any. Be clear about what specific techniques were used in each project and why it was designed in this way. You should be familiar with most of the technical details too.
A very important tip here is that you should make sure that your explanation is very easy to understand for people without relevant experience with your projects. Some people talked about too many details and it's quite hard for interviewers to fully understand everything. You can practice with your friends and get some feedbacks to improve.
Tip #5 - Learn from projects
The best way to improve yourself in data science is working on real life projects. If you have plenty of preparation time, say 5-6 months, you should definitely consider working on something. As is known to all, experience plays a very important role in data science. You can hardly improve a lot without enough hands on experience.
There are quite a few options for you if you don't know what to work on. You can check Kaggle, which is an online data science competition platform. You are not necessary to join an on-going competition to practice, you can just choose a past competition. Also Github has a lot of open-source projects, you can also contribute projects that interest you.
ConclusionHaving a solid foundation is very important to data science interview. Even if you don't have too much prior experience, you should have a good grasp of those basic theories, otherwise you won't be able to pass it. Feature engineering is relatively trickier, but you can definitely gain lots of experience by working on real world projects or learning from existing systems.
Don't be afraid of data science interview as it's usually easier than most people expected. If you can spend enough time and effort on preparation, you definitely will have a great chance of getting hired.
This article is contributed by www.gainlo.co.
Gainlo is an online based online platform that allows people to have mock interviews with experienced interviewers from Google, Microsoft, Amazon etc. and get real feedback to improve.