Data Science Interview Preparation Series: Perspective shift

Rohit Arora
7 min readAug 21, 2022

--

This image is taken from Unsplash

Going through the interview process is not an easy thing. And having knowledge or intuition about the subject is not enough to crack the company you want. After giving numerous interviews and getting feedback from them, I can see that it requires substantially more effort and strategy than I had previously estimated. This series is going to be a technical one, but I think a minor prerequisite is required for my fellow Data Science aspirants or people looking for a job in this or any related field.

My journey till now in the form of inner dialogue and realizations:

The image is taken from Unsplash

Inner dialogue: IN | Realisation: RE

IN: I have taken Machine learning and Deep learning classes during my master's degree, so my basics are clear. I have done a few projects, but it's been a while, and I did not put them on GitHub.

RE: I realize that I have no credibility online 🥴

IN: There is no point in revisiting those projects and building them over again. It's better that I take up a few courses on Coursera and Udacity. And this time, go through all concepts, make proper notes, and put all the projects on GitHub to improve my online presence and build a decent portfolio.

RE: I ended up doing two Nano degrees from Udacity. I did some decent projects, all properly documented and uploaded on my GitHub. Updated my resume and LinkedIn. 😉

IN: I think this is enough credibility, and I think I'm ready now and should start applying for jobs. “Oooo, this company looks good; I'll keep this company for later and start with the companies I do not like. Naaa, this company’s pay is too low; I'll give the interview for this one just for practice.”

RE: I applied for around 40 companies and got a call back from around 5 of them, but this was also not enough to break me out of my delusion.

IN: Ok, I have 5 opportunities! let me take it as 5 mock interviews for the one big company I want to get into. I already have all the ML algo’s and models pinned down(not really XD). I just have to go through my projects and build a proper narrative for them, and then I am good to go.

RE: I scheduled my interviews in increasing order of pay, starting from the lowest paying company and ending with the highest paying one. All I would say is that I got humbled quickly 😆. I got rejected in the third round of the lowest paying company for the role of Jr. Data scientist. And that week just kept getting better(i think you know what I mean). But now I knew what I had to work on.

IN: Okay, I’m decent with live coding rounds, and take-home assignments are also no big deal. I can solve the panda's questions, manipulate data, and build models. But when it comes to the theory aspect of the interview, for all the five interviews I gave, I knew about the model, where, and how to use it, but I was missing out on the intricacies of each of the models. By completing the Nanodegree, I have done the breadth-first search, and now I know what all concepts are there and have a brief idea of how things work, but now it's time for a depth-first search.

The correct way to tackle the interview phase:

From the above dialogues and realizations, it would seem that there is no point in taking up courses, and it's better to skip that phase and directly jump to reading concepts in depth and blindly start giving interviews. I would say that's not a good idea. And here is why: I agree getting a job is a numbers game initially, but it's more intuitive than you think. Schedule your interviews in the very beginning not to get a job but to get a reality check of where you stand and to detect your weaknesses. Take some time and work on those weaknesses and further build on your strengths and then schedule the interviews to get a reality check again. This is how you calibrate with the world outside. But before all of this, you need to have a holistic idea of what's ahead of you, and you get the big picture through those courses.

This is what my current process looks like:

If we look at the courses from this new perspective we got in the above paragraph, the best way to absorb the material of the courses is by parsing through them multiple times. Here is how I’m doing it:

  1. Before applying for the interviews, select the courses you want to do, look at the average time to complete the course(given in the details section for every course) and make sure you complete the first parse in 1/3 to 1/2 of the average time mentioned. Skim through the material and complete the projects along with it. Most courses have extra reading material and exercises that are not useful for the first parse.
  2. Start scheduling your interviews and get feedback on your current preparation and when you have a concrete idea of your weaknesses, take some time to work on them.
  3. This is when you do the second parse of the courses you took, go through the extra reading material, and make proper notes for every model and algorithm you come across. This is when you start appreciating the intricacies you did not even notice in your first parse. And this is where I’m at right now. And I feel this is the phase every good Data scientist has gone through, and every aspiring Data scientist needs to go through.

You get the job you deserve!

After this point, you just have to keep at it and repeat the above process again and again until you get a job. But keep in mind the main point is not getting the job but being good at the field of Data Science, being curious about the data you are working on, and building a genuine interest in the concepts you are learning about. Along with this, keep yourself grounded by giving interviews. And eventually, your interest in the subject and the skillset you develop will get you the job you deserve.

Why this Data Science Interview preparation series?

I am currently in the middle of the second parse of the material I have consumed related to Machine learning, deep learning, and Data science. The also means I am already done with BFS, and now it's time for DFS. And I’m enjoying it! Even though I am going through the content for the second time, not a day has passed that I haven't learned anything new! And I’m sure you guys have heard about The Feynman Technique. I want to improve further my understanding of the topics I am strengthening (+i think I’m getting fond of writing, too :p)

So my goal for this series is to cover all the machine learning models, and concepts that I feel are important for becoming a better Data scientist and also give back to the community I’m a part of! I have already started summarizing the articles that I read. Here is the Twitter channel where I convert those articles into threads. Go check it out!!

What can you expect from each article in this series?

The next article in this series is going to be about Naive Bayes. Here is the preparation I have done for that:

  1. Gather the important questions asked in interviews regarding Naive Bayes.
  2. Read articles that answer those questions, summarize them in a crisper format, and give links to the articles for better understanding.
  3. Also, if a basic prerequisite is required to answer a certain question, write a Twitter thread and mention it in the article. This helps the article stay concise without missing out on important concepts. For example, Naive Bayes is a generative model, but if you do not know what generative models are, I have already written a thread covering the basics of it.

Why Twitter thread, and why not something else?

I know the thread format seems a little restrictive but trust me, it's a very efficient and concise way to gain knowledge in your free time. Here is why I say this. To be the best at your craft, you must be obsessed with it; the greats breathe, eat, and sleep their craft. And I agree nobody is born great; their situations and circumstances have molded them, or should I say, and their perspective towards those circumstances has made them who they are.

What I'm trying to get at is that you can cultivate the obsession and curiosity required to become Legendary. But that will not happen if you are scatterbrained and consume all sorts of stuff in your downtime/free time. You have to replace your social media(mindless Instagram/Twitter feed) scroll time with useful content that is related to your craft! And what better way to do it than through consuming byte-sized content in the form of Twitter threads!! It's like a summary, and it helps you warm up to the actual knowledge you would consume. It's a hack that will let you grow even in your downtime.

That's it for this article!! And I hope all of the above points are enough to set your sails in the right direction. You will find the link for the next article at the start and end of this article(I'll edit it and put it in when it's done).

And if you need a little more convincing on the usefulness of consuming knowledge through Twitter threads, Link to my 🔥master thread🔥, a collection of all the DS, ML, and python threads I have written till now.

--

--