Chapter 95 Data Science Interviews

After applying to jobs, there’s a waiting period. The company has to look over the application materials they’ve received and decide who amongst their applicant pool they want to interview. After they decide if you’re one of the people they’ve decided to interview, they’ll reach out to you via email or phone call. During this phone call or in this email they’ll likely describe their interview process and schedule the next step. If they don’t explain the interview process on this initial call, you should ask.

Understand the next steps

Before moving on, it’s important to note that much of this lesson is based on this post from Emily Robinson, a data scientist at DataCamp. And, if you want to learn even more about the information in this lesson, read her entire post as well as the information in the other links provided at the end of this lesson!

Emily Robinson’s Post

95.0.1 Pre-Interview Phone Calls

Sometimes there are one or more phone interviews before the in-person interview. These calls are part of the interview process. You should prepare for them as best you can, just like you would for an in-person interview. The purpose of these phone calls is to ensure that you are who you say you are on your resume, to gauge your interest in this position, and to decide if the company wants to bring you in for an interview. Thus, before the phone call, be sure you know who it is you’ll be talking to, what that person does at the company, and do your best to prepare for questions they may ask you. We’ll discuss the types of interview questions you may get more in the next section.

Additionally, always have questions to ask the person you’re talking to. If you have no questions at all, it will look like you don’t care about and are not that interested in the position. We’ll discuss these later in the lesson as well.

If there are phone calls and they go well, then they’ll invite you for an interview! Be sure to write down the date and time of the interview and get details about where the interview will be taking place. If it’s in a big office building, be sure they’ll provide you with details on how to get to them within the building.

95.0.2 Interview Preparation

Before the interview, you should be sent a schedule or at least explained the structure of the interview. Ideally you’ll have the names of and times at which you’ll be meeting people in the company. If you don’t receive this information a day or two in advance of your interview, you can reach out to your point of contact at the company (the person you chatted or emailed with to plan the interview, typically from HR (human resources)) and ask if one is available.

95.0.2.1 Practice

With a schedule of who you’ll be meeting with or at least some idea of the structure of their interview process, it’s time to practice! While there’s no way to know exactly what you’ll be asked in the interview, there are a few general types of questions:

  1. Personality Questions - questions asked to learn more about your background, your behaviors, how you would handle certain situations, and about how you work with others
  2. Technical Questions - questions asked to gauge your technical competence

For personality questions, practice by answering questions out loud. It’s always best to practice interviews the way they would actually happen. Writing the answers down or thinking about them is a good start, but it’s best to actually say them out loud to get more comfortable. These questions range from “Tell me about yourself” and “How did you get interested in data science?” to “What’s your greatest strength” and “How would you handle a conflict with a colleague?”

Practice out loud

As for technical questions, there are many different ways companies assess technical skills. They may explain a technical issue out loud and ask how you would solve it. They may give you a take-home analysis (we’ll discuss these in detail in the next lesson). They may have you live-code, meaning they may ask you to code in front of them. They may ask you to explain a concept (such as regression) to them. These are all fair game. Hopefully, with some idea as to the structure of the interview, you’ll have some idea as to what to expect.

Many people have written and spoken about the types of data science questions they’ve asked and been asked in data science interviews previously.

Here we list a few types of questions you could be asked:

  • “Talk to me about [fill in the bank]…”
  • “Write an algorithm that does [fill in the blank].”
  • “What problems should you solve with [fill in the blank]?”
  • “How would you approach this problem given this dataset?”

Thus, it’s a really good idea to look at resources that are already out there. These are included again at the end of the lesson, but we’re including them directly in the lesson because they’re really important to read over and use when you’re preparing for interviews. Read and listen through these resources - there will be a few quiz questions from these resources at the end of the lesson.

When you’re asked a question to which you don’t know the answer, don’t make one up. Rather, acknowledge that you don’t know the answer, but think critically about how you may go about solving the issue raised or question asked. Being able to think through a problem is an important skill for a data scientist, so don’t panic if there’s a question with which you’re less familiar.

Finally, remember that it’s fair game for your interviewers to ask about anything on your resume. So, if there’s a project you worked on a while ago that’s listed, be sure you’re prepared to answer questions about or discuss it.

Practice answering questions out loud. Practice coding. Practice explaining technical topics out loud. Be prepared to say “I don’t know.” This will all make the actual interview much easier.

95.0.2.2 Avoid Giving a Salary Number

Sometimes HR or others will ask you what salary you’re looking for. Never volunteer your current salary or what you’re looking to make. If this number you offer is lower than what they intended to offer you, you may be getting a lower salary than you would have otherwise. If you’re asked to give a salary number say that you’re interested in learning about the position, the company, and responsibilities of the job and would rather discuss salary later. If you’re asked again, you can always offer a very big range based on industry standards but state that you’re really most interested in making sure the fit is right for you and would rather consider the entire compensation package rather than salary alone.

Avoid giving a salary

95.0.2.3 Get Knowledge

In addition to practicing your responses and practicing how to avoid giving a salary number if asked, you also need to gain even more knowledge about the company with which you’re interviewing. You probably learned a bit when deciding to apply to the job, but now is the time to go much deeper. Learn as much as you can about what the company does from their website. Search other websites (such as Glassdoor) to see what others have to say about the company and about working at the company (For example, information from hundreds of individuals who have interviewed for data science positions at Airbnb can be found here.)

In addition to company knowledge about the company, you also want to know as much about the people you’ll be meeting with as possible. Check out their profiles on the company website, look at their Twitters, check their GitHub accounts, look for presentations they’ve given. Learn as much as you can about what each person does and have different questions ready for each individual. These questions can be about their experience at the company or about that individual’s work – if you listen to a presentation someone gave and have a question, you can ask that question!

Learn about the company & people

95.0.2.4 Ask Questions

In your research about the company and its employees you should start to gather a list of questions that you want answers to on the day of the interview. These questions can discuss more technical aspects of the position, such as details of how work is done at the company (i.e.”How is code shared?” or “What languages are used by the team?” “When something goes wrong, how is it handled?”) and how projects are managed (i.e “Who assigns projects? How are they assigned?” or “How will my performance be evaluated?”). Alternatively, they could be questions about quality of life and work culture aimed at getting a better understanding of how much vacation time comes with the job, how often people work late or on the weekends, and whether or not working from home is an option.

For a more complete list of questions one could ask at an interview, check out Julia Evans’ list here.

95.0.3 The Day of the Interview

Once you’ve practiced answering questions and have a number of questions you’re interested in getting answered about the position and company, you’re almost ready for the big day! When it comes to the interview day, your goal should be to learn as much about them as they’re learning about you. Ultimately, the position should be a good fit for both of you.

95.0.3.1 Dress

Deciding what to wear for a data science interview is not as straightforward as it is for other positions, where it’s often expected interviewees wear a suit. For data science positions, you likely do not have to wear a suit. That said, it’s always better to be overdressed than underdressed, so if you’re unsure, wear something more formal rather than less.

Ideally, you’d be able to ask HR (or the person you first chatted with at the company) how applicants typically dress for interviews at their company. They probably get that question frequently and will likely be very helpful. If they say jeans are ok for interviews, they probably mean it. It’s up to you at that point to then decide what to wear.

Ultimately, you want to put your best foot forward, so if they say casual is fine, believe them, but maybe go one step above jeans. Slacks of some sort (or a skirt or dress, if you’re more comfortable) may be the safest bet. Clothing should be clean and ironed if necessary. If they say casual, you likely do not need a tie, unless that’s what you’re most comfortable in!

At the end of the day, you want to be comfortable and look professional in whatever you wear. So, only wear clothing that you’re comfortable in and that makes you feel good!

Feel good in what you’re in

95.0.3.2 One-on-one Interviews

After the initial phone call(s) and once you’re interviewing in person, you’ll likely have one or more one-on-one interviews. In these interviews, the person interviewing you will likely explain a little about the company, the position, and/or themselves before trying to gauge your background, your technical capabilities, and fit for the position. They’ll ask you questions and should give you time to ask them questions as well. In your questions, you should demonstrate that you have knowledge of the company and have done your homework, but should also get answers to everything you still want to know about the company and position.

95.0.3.3 Technical Assessment

While technical questions will be asked in one-on-one interviews, there should be some coding required during a data science interview. This may require live-coding where another person will sit with you and watch you code or it may be a take-home analysis. Regardless of the format, this is where you want to show off your technical skills! Live-coding can be intimidating, but do your best to relax and just complete the task at hand. As for take-home analyses, we’ll spend more time discussing the details of these in the next lesson. While these may seem daunting, it’s an important part of a data science interview. In fact, if the interview process doesn’t require you to code at all, that may be a red flag that the position is maybe not exactly what you thought it was.

Coding required

95.0.3.4 Communication

In addition to learning about your background, interests, and technical skills, data science positions often require a lot of written and oral communication. As such, the interview may require you to generate a report or presentation using the results from the take-home analysis you did. Or, they may ask you to give a presentation on some of your past work. For this, prepare as much as possible. Practice your presentation if you’re given time to prepare at home. Proofread your report carefully before sending it back to the company. Know that this is an important part of their assessment of you and do your best to communicate your analysis and findings

Effective communication

95.0.3.5 The End of the Interview

At the end of your interview day (or two days), you’ll likely be exhausted. Your brain will be mostly used up and you’ll be excited about the position (if all went well!) but ready to go home. This is all normal. But, one piece of information you’ll want before leaving is what the next steps are. You’ll want to know whether or not you should expect to hear from them within the next two days, the next week, or if you should expect it to be longer than that. Get this information. If they don’t tell you, it’s ok to ask! It will bring you piece of mind during the waiting after the interview!.

Next steps

95.0.4 After The Interview

So, you’ve had the interview and now you’re waiting to see if you’ll get an offer. During this time, you have more to do than just wait. This is a time for self-reflection. If they offer you a position, do you want it? Is this somewhere you want to work? Will this be a good fit? Are you excited about the position and company? These are all important questions to ask yourself about the position before an offer or a rejection comes.

95.0.4.1 Rejection

While we’re on the topic, rejection is normal. If you get rejected from a position or from many positions, know that data science is incredibly competitive. Everyone gets rejections. They aren’t fun, especially if they come from a company and position that was really interesting and exciting to you, but know that they are normal. If you are emailed a rejection, handle it appropriately. It’s ok to express disappointment “I was excited at the prospect of working with you all so I’m sorry to hear that” but always thank them for their time and consideration.

Rejection

95.0.4.2 The Offer

However, it’s not all gloom and doom! Sometimes, there’s a job offer at the end of the waiting game. In these cases, the offer may come by either phone or email. However it comes, always respond with excitement and thanking the individual for providing you with the offer. Never accept right away. If the offer comes on the phone verbally, always ask for the full offer in writing. And, after being given the full offer, always say that you need time to review it. This will give you time to think about it fully and in detail. Additionally, this will give you time to negotiate.

Job Offer

If, after this conversation, you realize you’re missing some details in the offer (health insurance, start date, etc.) you can ask for those details to have all the possible information you may need before responding to the offer.

95.0.4.3 Negotiations

Once you have all the information you need to make a decision, it’s time for negotiations. While some people enjoy this stage, many people don’t. So, if you’re uncomfortable negotiating, know that you’re not alone and then negotiate anyway.

Negotiate

Tech companies anticipate negotiations. It is generally possible to get a 5-10% salary increase from the initial offer. Additionally, if stock options or a signing bonus are possibilities, these are also negotiable. Beyond money, there may be life benefits you’re interested in. Maybe you need to leave early on Fridays or want an additional week in vacation. These are all the types of things you can ask for during negotiations. That said, you should think hard about what you actually would want or need in order to accept their offer. If you ask for more salary and the ability to work from home once a week and they give both to you, there is an expectation that you’ll accept the offer. It would be in bad taste to come back with a new list of demands after they’ve already given you everything you initially asked for. Of course, you don’t have to accept at this point, but only negotiate for a position you’re actually considering accepting.

At the end of the negotiations process, if you accept, you’ll have a new job at a new company! Congratulations! It’s a lot of work trying to get a job in data science and the road will often be filled with a lot of rejection. But, when it’s successful, you can end up in a position that is incredibly exciting and fulfilling!

95.0.5 Summary

In this lesson, we’ve covered a lot about interviewing for a data science position. Some of the tips discussed are general interviewing guidelines while other are specific to data science positions. However, despite all the information in this lesson, we’ve only touched on the tip of the iceberg. In order to learn more about interviews, check out and read the information in the links below. And, good luck in your job search!