Data Science and Analytics roles have different types of interviews targeted to measure the skills you need to be successful at the company. They'll vary by company but you should generally expect them to cover Coding, Statistics, Case Studies, Machine Learning, Data Visualization, and Database Management. Your recruiter will give you more information about the types of interviews you will encounter with their process. This article will share tips around how to succeed on the coding interview.
Any company worth joining will have a technical coding component to their interview loop. Whether you’re using SQL, Python, R, or another tool, the hiring company wants to make sure you understand data structures and can translate word problems into data answers. In general, healthy companies are not trying to ask trick questions they just want to genuinely evaluate your skills so they can be sure you will hit the ground running if you join the team.
Most companies are not looking for perfection, they’re looking to understand if you can solve their business problems with data. They will give you some table specifications and ask you to answer a basic business question using data, often part of the problem includes defining and calculating a metric.
Below are some tips to avoid the common pitfalls to showcase your data abilities while avoiding common pitfalls.
Coding Tips
- Data Quality. Confirm whether the data comes from a trusted source or talk through any checks you would do on the data. Common checks are running descriptive statistics per column - frequency of values, min, max, are there duplicates. Another approach is to state all your assumptions up front.
- Ask clarifying questions. Sometimes information is intentionally left out of the initial instructions to check that you're thinking critically about it.
- Edge cases are one of the most common mistakes. Be intentional about how your code handles zeros, nulls, missing data. If the data is bi-directional like messaging - you may need to look at messages sent & received.
- Review your code for efficiency. It should execute in one click and be easy to modify and reuse. You should take care to use the correct join and make the logic easy to follow.
Selecting Metrics
- Confirm what success means in this case. For example: If they provide a list of ad impressions and ask you to find the ad performing ‘best’, clarify or propose a definition of ‘best’ - clicks, click through rate, sales, ROI.
- Be specific. Think through if you should use a count, a percentage, unique users. If it’s an average consider whether the data has outliers that would impact a mean.
- Tie it back to something inherently valuable. Social media likes that don't translate to sales for an ecommerce site may not be valuable. Given that interviews are short and simplified, you may not be able to dig into this too deeply, but it helps to mention that ideally you'd want to tie whatever you are measuring back to user value or revenue.
- Be ready to list the pros and cons of any metric you choose. No metric is perfect, the interview committee wants you to be thoughtful about its limitations. For example: Time spent may seem like a good thing for any website or app, but it doesn't necessarily mean the user is getting more value. It may have gotten harder to complete tasks on the site leading to more time spent but less overall utility.
Behaviours
- It’s ok to ask the interviewer for a few minutes to organize your thoughts and make some notes before you get started. It gives you a minute to breathe and they will appreciate that you are being thoughtful.
- A bit of narration can help. Briefly talking through what you’ve done and why will help the interviewer see how you’re thinking about problems. They may be willing to look past minor coding errors if they’re confident you would get to the right solution when you've got more time.
- Refrain from asking the interviewer for advice or a hint. If you’re stuck somewhere, talk through where you’re stuck and how you would get unstuck if you came across this in your day job.
- Make sure you have researched the company mission and understand how they make money. Anchoring your answers to these business needs will show you can think about the big picture.
- One of the most important things you can do is come in calm and confident. Reserve some time leading up the interview to centre yourself. Have a snack, keep a glass of water nearby. If you're physically comfortable you'll be more at ease.
Preparing for the interview
- Research potential questions. Thoroughly review the prep materials your recruiter provided. Search the internet for questions the company has used in the past as they're a good model for the types of questions you'll get. Don't hesitate to reach out to your recruiter with a couple questions about the interviews and what they're measuring. Keep in mind they aren't here to coach your or give you an advantage, but they're probably willing to clear up anything you don't understand.
- Identify a study plan for yourself. Walk through the steps above until you're confident with your answers to a technical question.
- Once you’ve practiced on your own, consider booking interview prep time with one or more of the Mentor Cruise mentors. They'll be able to give you real-time feedback on your answer and delivery. It's also a great opportunity to ask for additional advice from people who have conducted tons of these interviews.
Once you've researched and practiced questions, grown accustomed to checking for pitfalls and tying this back to business problems, you will be on your way to acing the Data Science Coding Interview for the big tech firms in no time!