technical interview prep Tag Archives - 足球竞彩网 Assembly Blog

3 Tips for Preparing for a Data Science Interview

By

Hello intrepid data scientist! First off, I’d like to congratulate you; you’re likely reading this post because you’re preparing to interview for a data science job. This means I’ll assume that: (a) you’re the type of person that researches ways to improve and level up in your career, and (b) you’re reached the interview stage ¡ª congrats!

As a data science instructor, I’m often asked for advice on how to prepare for a data science interview. In response, I usually bring up three major themes. You need to:

1. Have a background that includes sufficient knowledge of the field of data science to fulfill the job¡¯s tasks.

2. Have implemented that knowledge in some way that the community recognizes.

3. Be able to convince your interviewer of your knowledge and abilities.

1. Knowledge of Data Science

I’ve taken part in interviewing many data scientists and have also been interviewed. Through being on both sides of the table, I’ve seen that there are usually three-ish areas of knowledge that an interviewer is looking for: prerequisite knowledge of data science at large, which includes: mathematics[1], coding[2], databases[3], and the ability to communicate findings and insights[4]; knowledge of the company and its vertical; and knowledge of the tech stack of that company.

If you’re reading this article with a fairly long time horizon and not trying to cram, then you can prepare ahead of time with the knowledge of data science at large by taking a look at this blog post which has a long list of curated resources. If you are reading this and trying to prepare for a data science interview on a short time horizon, this article and this article have a list of questions with answers to get you in the zone.

Knowledge of the company is going to come from research of that company. Read up on the company and if you have time, find second and third degree connections through LinkedIn or people you know and reach out. As a 足球竞彩网 Assembly alum, I¡¯ve found it incredibly helpful to go to a company¡¯s LinkedIn page, check out who the fellow alumni are, and connect through a LinkedIn message or offering to buy them coffee. Reading up on the company usually takes the form of doing research about the company itself (founding principles, place in the market, investment stage, etc.), but it also takes the form of looking up who you¡¯d be working alongside if you started working there. What does the data team look like? Are there data engineers or other data scientists?[5]

During a data science interview, your background will likely speak to your knowledge of the vertical you¡¯re applying to. In the absence of that, some portfolio projects are a great second option to show your domain expertise.

Thomas Hughes, Manager of Data Science and Machine Learning at Etsy, shared this bit of advice on striking a balance between generalized skills, specific skills, and knowledge in a vertical:

¡°Companies who do not have much experience in data work generally look for candidates who specialize in their industry vertical. Since they don’t know what they’re looking for, they often will say, ¡®I’m looking for someone who has solved problems similar to my problems, which I’m assuming means they have to be coming from my industry.¡¯

More mature companies, with experience in the data space, recognize that many of the techniques are applicable across industries and don’t require industry specific knowledge, and furthermore, someone who’s deeply trained in a specific technique often adds more value than someone who’s just familiar with an industry vertical.¡±

Theodore Villacorta, Executive Director of Analytics at Warner Brothers, shared with me that, ¡°regarding vertical, your background matters less; it¡¯s more about skills to get data from a database and how you can perform with it.¡±

Lastly, you need to be fairly well versed in the tech stack that the company primarily uses. Villacorta offers: ¡°Since knowledge of one of the two main open source languages is a strong requisite, along with the ability to use the corresponding SQL packages for those languages, it might be a great idea to showcase those in a portfolio piece. Most organizations have some form of SQL database.¡± At minimum, be prepared to answer questions about any tech stack that the company uses within the realm of data science and especially be prepared to answer questions about any tech that your resume lists. I usually like to do two things in preparation, to get an idea of what¡¯s being used: first, I¡¯ll head to stackshare.io and see if the company is listed. Second, I¡¯ll look at the skills that current employees list on LinkedIn.

2. 足球竞彩网 Recognition

The second piece is the community piece, especially if you have plenty of time before the data science interview. 足球竞彩网 is purposefully a fairly amorphous term here. You can attend in-person events like meetups or conferences, or you can also have a community of coworkers, or a community of social media followers. I suggest laying the groundwork naturally. Networking can feel uncomfortable, but finding people you genuinely like being around in this field is usually pretty easy (didn¡¯t anyone tell you that data scientists are the coolest people in any room?). If you don¡¯t find a community that you¡¯re into, try building one: set up a talk featuring other data scientists. Think like a starfish here, not a spider. You¡¯re trying to create interactions and connections that continue to build new interactions in your absence; not interactions and connections that fall into a void once you¡¯re no longer making them happen.

3. Convince Your Interviewer

In your data science interview, you need to convince the interviewer of your capabilities of both areas above. Interviewers are looking to make sure that you¡¯re someone that generally fits into the puzzle board of other employees that make up the company culture. Show them that you¡¯re great at the community thing through past coworkers or your involvement in open source projects online, engagements with people on Twitter, your writing style on blog posts, and the like. As Villacorta mentions, ¡°For everyone, regardless of how cross functional of a role, I think it¡¯s important to find someone who has an ability to collaborate, share resources¡­I¡¯ll usually ask behavioral questions like ¡®tell me a time when¡­¡¯ in order to get a sense of a candidate¡¯s abilities in this area.¡±

Hughes explains, ¡°Senior level positions generally need to be providing leadership and influence over non-technical stakeholders. So they need experience explaining how the work they and their team is doing is valuable in non-technical ways.¡± Demonstrating your knowledge in an interview comes down to staying open. You¡¯ve done the studying, now just get out of your own way.

I like employing the beginner¡¯s mind here. Take every question in as though you¡¯re uncovering the answer alongside the interviewer. In other words, think of it kind of like an archeological dig, rather than a tennis match. When you get an interview question like, ¡°what¡¯s a P value?¡± you can respond with, ¡°are you curious about calculating and interpreting P values in the context of hypothesis testing in a project? Because I had a great project I worked on [insert teaser to a project here]¡­ or are you looking for a definition?¡± This gives your interviewer a ton more fodder to work with and opens you up to answer questions in the Situation, Task, Action, Results (STAR) format, especially as it relates to former projects and jobs.

Regardless of where you are in the interviewing process, know that there is a position and great fit for a company for you somewhere. I think it’s helpful to consider the process of interviewing through the lens of a company ¡ª they’ve been looking for you! Don¡¯t let your own ego get in the way of letting a genuine interaction take place during the data science interview. Interviews aren¡¯t something you¡¯re ¡°stuck with¡± having to put up with on your march towards another job. In fact, they can be incredibly rewarding moments to find new areas to learn about in this fascinating field we¡¯re in. Good luck, and let me know how it went!


[1] Stats questions are incredibly popular fodder for data science interviews. Linear Algebra is less often questioned in interviews, but more helpful on the job.

[2] You should be fluent in at least one of the two major open source languages: Python or R.

[3] Data lives in databases, unless it lives in dozens of Excel files on a Shared Drive. You don¡¯t want to work at places without a database though.

[4] This is actually really difficult to gauge in an interview because everyone gives candidates leeway for being nervous. Often you can pass this test by being affable and confident in your answer.  

[5] Note that if the answer to either of these questions is ¡°no¡±, then you¡¯re going to be playing both roles.

4 Tips for Preparing for a Coding Interview

By

If you’re applying for a software engineering position, chances are you’ll encounter some technical interview or coding challenge. For newer engineers applying for software programming roles, the coding interview is often the most terrifying part.

However, with a few interview preparation tips and things to consider, the technical interview will seem a lot less scary and will hopefully be a valuable learning opportunity during your job search. Let’s break down a few helpful tips:

1. Essential Hard Skills for a Coding Interview

Get in the habit of regularly doing code challenges. It’s a much more effective way to prepare for coding interview questions than trying to cram a bunch of studying in before the big day.

It’s important to schedule time each day to attempt at least one code challenge. You’ll get better at solving them, and you’ll also get better at outlining your process and speaking to it. A few great websites to help you practice code challenges in varying degrees of difficulty include LeetCode, Codewars, and AlgoExpert.

These code challenges help build the essential hard skills you need to perform well in a coding interview technically. If you’re applying for a mid-level position as a software engineer, you’ll want to feel pretty solid with these types of practice problems in your interview preparation. If you’re gearing up for your first technical interview as a junior engineer, you’ll want at least some exposure and practice with these.?

2. Prepare your Technical Interview with Strong Soft Skills

Coding challenges are important, but mastering them is only part of the preparation for coding interviews. Don’t overlook the significance of soft skills. During the interview process, including the technical coding interview, interviewers seek more than just coding abilities.

These other skills have to do with how well you communicate your thought process, collaborate, talk about the problem at hand, your leadership skills, your drive to learn, and generally speaking, how nice you are. Soft skills are often overlooked by candidates and can be deal breakers for a lot of coding interviews.

A company that’s worth applying to will want candidates that have strong soft skills, sometimes more so than hard skills, because they show how well a person can grow within the company and develop those hard skills over time. This is especially the case for junior software engineers.

When you practice your code challenges, see if you can buddy up with someone and take turns doing mock interview. Practice talking through the coding problem as you work, asking questions, giving each other hints here and there, and revealing your ability to lead, collaborate, and persevere through the coding test.

3. Acknowledge multiple solutions

The ideal candidate for an interviewer is not only skilled and a good fit for the company culture but also capable of defending their solution and considering alternative approaches. This demonstrates that they have a broader understanding beyond what they were taught or read online, and they recognize that there can be multiple solutions to a problem depending on the context.

As an interviewer, I value simplicity in a candidate’s solution because it allows for more discussion time. However, if a candidate can also propose alternative approaches and explain their choice, it’s a definite win.

For example, when tasked with designing a search function for a video streaming app, a candidate may opt for a quick but inefficient algorithm during the interview, while acknowledging a more suitable algorithm for real-world usage.

Speaking of algorithms…

4. Study your algorithms and data structures

This goes hand-in-hand with the hard skills but deserves its own section. You don’t need to be a master of computer science to ace a coding interview, but there are some standard algorithms and data structures that you should feel good about referencing, or at least mentioning and talking about. For instance:

  • How does a bubble sort work vs. a merge sort?
  • What’s the difference between a stack and a queue?
  • What’s a linked list? What about a hash table?

It’s likely that you¡¯ll be asked one algorithm question in a job interview, so becoming familiar with and being able to speak about them to a degree is a good thing. Cracking The Code Interview by Gayle Laakmann McDowell is a great book covering all of the essential algorithms, data structures, and how to implement and use them in sample code challenges.

The coding interview is an opportunity for you to not only show off your skills as an engineer, but also to demonstrate how well you work with others as a data scientist. It’s designed to simulate what it’s like to work with you on a team. So be yourself, study, know the programming language(s) and practice, take a deep breath, and crush that coding interview!