Data Science #2.2 Interviewing - The Tech Screen

So let's set a few things straight before we have too many false assumptions:

I'm coming for you, tech screen!
(1) I am no genius. There are actually many things I don't know or understand as well as others. For example, my boyfriend sometimes goes to a cross-bike clinic on Thursday called CXPX. I can't wrap my head around this name, so I call it "CXBX" or "CPBX" or "CXXP". Really, it's not that hard and I just can't get it.

*However, I am a reasonably intelligent person. Please don't assume that because I smile and brush my hair that I don't understand Physics or C++. Ugh.

(2) The following works for me, it may not work for you. Try to hear what I'm saying and adapt it to your own needs. There can't be 10,000 Lo's out there, the world would be messy and collapse.

Now... the dreaded tech screen. This is what people agonize over for months and spend hours upon hours working practice problems for, trying to 'guess' what their interviewer will ask them. If you're trying to be a software engineer, your tech screen is going to involve things like "white board code a binary search tree". You need to know the basic 20ish potential interview questions (basic SQL queries, write a merge sort, write a quick sort, build a linked list class, etc.) Google 'hacker rank' and poke around for a few minutes, you'll get a good sense.

However, this is about data science, which [SECRET] isn't actually about coding. It's about solving problems, sometimes using code but sometimes using math. What does a data science tech screen look like? ANYTHING. It's about being on your toes and working through problems you probably don't know the answer to (woo! I love having people watch me struggle! Esp when my future depends on it!). Here are some sample *real* questions I've gotten and I'm going to talk about how I approached them:

(1) You have 10 Mb of storage space on your computer but need to sort a 50 Gb list. Please write code on that there white board to show us how to do this (great question!). 

Questions ON

In the span of 45 minutes, I really muddled my way through this problem. Ultimately, I wrote pseudo code doing a bubble sort which I told them was awful and I would never actually implement under any circumstance. The trick was that we needed to take 10 Mb of data at a time, sort it, and then merge it together. I knew this was what needed to be done, but I was struggling on how to effectively implement this (interview stress!).

In this case, I relied heavily on the interviewer to guide me where to go. I would ask the two gentleman judging me if they wanted me to proceed even though my method was cumbersome. Often, they would perk up and be like "You're right, this isn't the best way. Can you think of another way to store ordered data?" and eventually we'd cobble together something beautiful. The trick was not giving up, not getting frustrated, and speaking coherently despite my internal panic ("GAH I'm failing again").

(2) Select all rows and columns from Table A using SQL 

This is literally just Select * from Table A. I actually had to ask the interviewer to repeat the question because it was so easy. I pretty much just stated the answer here (confidently...) and then we immediately went on to the next question (like an iota harder). The goal here was he was trying to warm me up and ask me incrementally harder questions until I messed up (I think Query 6 I lost the game. Shucks). 

(3) What is the probability it is raining outside if 3 of your friends say it's raining outside and there's a 25% chance it's raining and a 30% chance each of your friends are lying to you? 

This is not an easy Bayesian Probability Problem (if it is for you, great. Let the rest of us wallow in our ineptitude). I identified it pretty quickly as being a Bayes problem with probability but then floundered on how to get P(B|A) and P(B) [got P(A) like it was my job!]. Once again, being methodical and leaning on the interviewer for help goes a long way when you're faced with a problem you don't know. Ultimately I got the right answer, but I probably took 4x longer than I was supposed to. They just want to spend some time with you and see how you'd go about solving a problem.

(4) I'm having this problem at work right now, how would you solve it? 

What an awesome question, really. By asking me this, my (potentially future) co-worker got to see what it would be like to work with me on a day-to-day basis. He had a tough problem, and I was able to help him solve it (incrementally) in a unique approach he hadn't considered by the end of the interview. That's a win for him (hey! I made progress on this problem!), a win for me (hey! A question I can answer!) , and a win for both of us - we know we can work well together now. This kind of problem requires on-the-spot creativity, but it's really a test for how you'll perform day to day.

(5) We need a way to detect Fake products, how would you do this (using Machine Learning, this was implicit although not explicitly said). 

Another awesome and involved problem during a tech screen. This entire interview consisted of answering this question with increasingly specific edge cases and/or things to consider. We had coderpad opened, and I was writing pseudo Python code to address unique situations ("what if the product is an artificial tree? How then do you determine if the product is fake?"). This interview was a ton of fun, I was genuinely excited to write the code and come up with a working prediction model that combined machine learning and NLP (natural language processing). I told the interviewer at the end: "Wow, this was great. This was an excellent problem - is this what your day to day work is like?". Huge selling point.

You can get used to anything

Did you pick up a theme on my answers to these five questions? I was initially scared or intimidated by almost every problem I got, but then calmed down and found my center as I started to solve the problem. By the end, I was excited to be in the interview answering the questions... maybe this is why I'm going to be a data scientist ;) You don't have to listen to my advice or you can say I was just lucky, but I've made it to the next stage of every interview or given a job offer off of the responses I gave above - even when I blatantly didn't know the answer.

Don't fear the tech screen - they aren't an intelligence check (that's your resume). Instead, they are an opportunity for you to shine and demonstrate how you communicate and solve problems. This isn't a math proof and you're not being graded on the thoroughness of your comments (usually...) - the goal of the interviewer is to get you to a place where you're struggling and then watch you make it through.



Anonymous said...


Mohana M said...

Excellent Sharing. You have done great job. I gathered lots of new information. . Devops Online Training | Data Science Online Training

Mohana M said...

Hi, I am really happy to found such a helpful and fascinating post that is written in well manner. Thanks for sharing such an informative post.R Programming Online Training | Hadoop Online Training

Lois Keller said...

Thanks Mohana! Much appreciated - stay tuned for more posts!

Logavani G said...

hi welcome to this blog. really you have post an informative blog. it will be really helpful to many peoples. thank you for sharing this blog.
java training in chennai

Logavani G said...

This is seriously good, you have really highlighted some of the great points one should know. Awesome work
Wonderful suggestions and guidance
selenium training in chennai

Lois Keller said...

Thanks Logavani, much appreciated!

isabellaJoseph said...

Hi admin,Your post was really good.It was easy to understand for me.Thank you so much for sharing.Keep in blogging.If want to switch over.... Dot Net Training in Chennai
Android Training in Chennai
Selenium Training in Chennai
Hadoop Training in Chennai

for IT the said...

I am technology Enthusiast. Your blog is really awesome, attractive and impressive. I like the way you think. it is very useful for Java SE & Java EE Learners. Your article adds best knowledge to our Java Online Training in India. or learn thru Java Online Training in India Students. or learn thru JavaScript Online Training in India. Appreciating the persistence you put into your blog and detailed information you provide. Kindly keep blogging.

Mani said...

your blog is really thanks to sharing.

Hadoop online Training | Informatica Online Training | ETL Testing Online Training

Mani said...

It was so good to read and useful to improve my knowledge as updated one. With thanks to share.

UNIX Shell scripting training in chennai | ORACLE apps finance training in chennai

ramesh lavudu said...

ScienceTraining in Hyderabad

Data Science Course Content
Data Science Interview Questions
Data Science Training in ameerpet
Data Science Online Training in Hyderabad

R@tK@K@ said...

Data Science training is the order of the day and business intelligence is getting a widespread importance. There are several institutes which provide Datascience certification training in pune.

Neelima said...

Thanks a lot very much for the high quality and results-oriented help. I won’t think twice to endorse your blog post to anybody who wants and needs support about this area. We provide Data science training real time Experts Data science Training

skill vidya said...
This comment has been removed by the author.
skill vidya said...

Thanks for sharing great article Datascience online training in hyderabad said...

The blog is so interactive and Informative , i Request you to write more blogs like this Data Science Online Training Hyderabad

Jabir Shaik said...

Nice and Very Informative post. As we all know that DataScience Became one of the best technology to analyze the real requirements for tech employers. Here we are offering an Advance level of DataScience Training by experts who are experienced and worked in top MNC's with 100% placement assistance. For more details visit Advanced DataScience Training Online

Abdul said...

Fantastic post. Absolutely good stuffs and keep it up! We offer Data Science online training with 100% job placement. Data Science Online Training

Anonymous said...

Nice Blog...
Data Science Training in Bangalore

Data Science Certification

bhargavi said...

thank you for posting this article.kindly share these kind of articles

ajay prakash said...

Thanks for splitting your comprehension with us. It’s really useful to me & I hope it helps the people who in need of this vital information
Aviation Academy in Chennai
Air hostess training in Chennai
Airport management courses in Chennai
Ground staff training in Chennai
Aviation Courses in Chennai
air hostess course fees structure in Chennai
Airline Courses in Chennai
Ground staff training in Chennai

prajwal said...

Great Information. Thank You Author, for sharing your valuable information about Machine Learning with us. People who are reading this blog can continue your knowledge which you gained with us and know how to apply this practically along with our Machine Learning Course

Unknown said...

Good Information. Thank You.