In the past 4 years, I’ve done 70+ interviews with companies as a candidate an in the past 2 years, I’ve interviewed ~40 Data Science candidates. This is what I've learned from those interviews.
❓It's okay to admit you don't know something
Many of us get fears about feeling like an impostor when really, nobody knows it all. The speed at which technology in [ML]/AI advances means nobody can know everything. The best advice I have is to just admit you don't know the answer to a question. It's better to just say "I don't know what that is" or “I haven’t used that software/algorithm/etc before” than to take a stab in the dark. As an interviewer, I know the worst thing you can do is pretend to know the answer when you don't. Most interviewers are understanding and know a candidate can’t possibly know the answer to everything they’re asking, but they’re throwing darts at a board and seeing what sticks. Companies need people with enough self-awareness to know they need guidance or to research a topic before beginning work on a project. One way of phrasing this is: "I'm unfamiliar with that concept, can you explain it to me for future reference?"
🧰Get intel on what the company really needs
Data science job descriptions list way too many technologies for any one person to actually know. A way to get intel on the real needs is to reach out to people on that team on LinkedIn. Even if you're not asking for a recommendation it never hurts to ask them what kinds of projects they work on and if they're R-heavy, Python-heavy, or language agnostic. Current employees might also be able to shed light on job levels which vary company by company. If you can't get in contact with someone, you can use something like Paysa, Level, or Glassdoor to understand what employees think and what salary ranges are for the role. Sometimes the companies asking for NLP experts interview people who have never worked on NLP at scale (this has happened to me!) and I know how demotivating it feels, but you have to keep in mind it's a two-way street. Sometimes we get rejected from roles because it's just not the right fit. The more you can get out of a recruiter on a phone screen about the company's needs, it's easier to prepare for all other interviews.
⚖️Be prepared to talk in detail about your past projects
If you list a project on your resume or pinned on Github, be ready to talk about it at length. One tactic often used by interviewers is asking you to criticize your past work. Talk about what you've learned since you last updated the project. One of the things that separates Data Science interviews from Software Engineering is it may not be as technical, however you may be questioned in your methods, why you made certain choices or excluded a step in testing or evaluation. If you chose Pearson correlation over Spearman correlation you should be ready to explain why. Typically this will be due to one method fitting the data you’re working with better, but the worst thing you can say is “I don’t know” when making these strategic modeling decisions is a huge part of our responsibility.
🔨Show them you care about solving the business problem
While many of us are interested in deep learning, the vast majority of companies aren’t using complex neural networks and reinforcement learning. It's okay to say you've mostly worked with regression! There are a lot of hot, new tools out there, but it's a big red flag as an interviewer if someone only wants to work with hot, new tech instead of finding the best solution to the problem. Ask lots of questions to make sure you have a baseline understanding of the problem, available data, and potential models. Our major value adds as Data Scientists typically involve saving money, creating revenue, or solving internal problems. Show them you understand their business, by asking questions that fill in those gaps, and want to add value to it.
🔑Know your descriptive statistics
While I've yet to encounter an interview that made me jot down a formula or theorem, but I have had to do simple probability problems. For example: If I roll a die 3 times, what's the probability I'll roll heads all three times.
🔁Don't memorize, contextualize
I've sat through a few interviews that just fired machine learning terms at me to succinctly answer. It's better to know these terms in the context of how they're used and the downfalls to each type of ML model than to just read back a definition. As an interviewer, I would rather hear about how a model you used that isn’t completely applicable could be adapted to the type of data we have. I’m also looking to test a candidate’s ability to think creatively about problems. In the past, I didn't expect a candidate to solve a business problem without a deep knowledge of our company, but I do want to hear them think through possibilities.
📝Show you’re a good technical writer
Show interviewers examples of your good documentation techniques. This is so often overlooked, but if you can rally other team members and properly document your models and techniques, it will help show your value. Most organizations are vastly behind in data documentation, especially startups. Document your onboarding process, data sources, EDA, and models so when your company does scale it’s much easier for anyone not already familiar with your data environment.