PlaceKode with Raahat Gupta placed at Quantiphi

Uthaan IIITM
Uthaan
Published in
11 min readFeb 13, 2021

Machine Learning is still an expanding domain. Many students get confused about interview preparation for an exclusive Machine Learning based opening. To solve your queries, Uthaan, the official journalism and recreational club of ABV- Indian Institute of Information Technology and Management, Gwalior, is back with another episode of PlaceKode. In this interview, we have with us, Raahat Gupta, a true enthusiast in machine learning and data science. He has a full-time offer from Quantiphi and was an intern with RedHat. On this episode, we bring to you excerpts of a conversation with him.

Firstly, congratulations on being placed in such a reputed company. How did you feel after getting the offer letter?

In short, it feels fantastic. Initially, when we do not get an offer, there is a desire to prove ourselves, which was fulfilled. Overall, it was a feeling beyond words.

Could you walk us through the machine learning interview process? Moreover, how were the interviewers? Were they helping you to come up with the solution?

The key to excelling in such an interview would be to make it more like a discussion.

Red Hat was an off-campus opportunity. We had an online round, and after that, we had three rounds of interviews. They were scheduled as one interview per week. So, it was a simple process.

Quantiphi was an on-campus drive. We had an online round on day one and two rounds the next day. The results got published at the end of the second day itself.

Overall, the general thing which I realized is that most machine learning interviews start with the resume. They give you the first few minutes to explain the projects you mentioned in your resume. It is your place to shine, and it’s better to start with the higher-level overview of your projects, and then go deeper into the technical details if the interviewer cross-questions. For my first few interviews, I had four projects mentioned in the resume, which I believe is the sufficient amount one can go forward with.

If you’ve mentioned deep learning in your resume, generally the interviewers will go deeper into the basics of neural networks. Apart from the details of the model itself, they’ll also ask questions about what kind of loss function you’ve used, activation functions, optimizers, vanishing/exploding gradients, regularizes, etc. Thus, one should have a good grasp of these concepts.

Another area which is asked frequently, especially if you’ve done any kind of classification task, includes questions on confusion matrix, precision, recall, ROC, strategies for imbalanced data, etc. These concepts can get pretty confusing, so make sure not to neglect them while preparing for interviews.

Most interviewers that I’ve faced are supportive. If you are stuck at a problem, you get a local hint there. So your confidence gets boosted. Just grab those hints, and you are good to go!

How would you rate your confidence and preparation on the day of the interview? What was the week before the interview? Did you have a checklist for your last-minute preparation?

My confidence fluctuates generally. As any interview begins, I get pretty nervous. It’s only after a few minutes into the interview that I start to feel more relaxed. The more the interview takes the shape of a discussion, rather than an interrogation, the more comfortable I feel.

Generally, I don’t make any last-minute checklist. I don’t even do last-minute study for the semester exams! I feel it does more harm to you than good. Moreover, when you’re preparing for an interview, you don’t want to cram everything. Instead, your goal should be to retain everything in your mind for longer.

With that said, I do prefer going through my resume an hour or so before the interview; it gives you a good starting point for the interview.

Do you have any other prior internship experience Which you’d like to share with us?

Yes, I did one internship in the summer of 2020 for a startup named ‘Fynd’. It’s an e-commerce platform based in Mumbai. I found it an excellent place to start my career mainly because it has a fantastic machine learning department. Furthermore, they were primarily working with cutting edge technology. The most important thing about working in any startup is that they gave you the freedom to implement new things. I was given complete ownership of my project and was actively involved in decision making.

Moreover, I also gained experience in engineering as real-world machine learning projects are being deployed there. The kind of tools used and challenges faced were different from anything I’ve done before. Some of them include deploying a machine learning model, making it more scalable, using docker and Kubernetes, etc.

Another internship that you mentioned is at Red Hat, which is a multinational company. What, in your experience, is the primary working difference between a startup and an MNC?

In my opinion, a startup is less-structured. Yes, you get a lot of freedom and ownership of your projects, but sometimes you hit roadblocks, and you have to figure it out themselves. Generally, startups do not have rigid hierarchies, which can be especially beneficial to you as an intern.

Then MNC is a big company, everything is laid out for you, and sometimes it is helpful that someone has figured out things for you. Moreover, you get to meet people from different geographical locales which is an experience that most startups cannot provide.

Since your interest lies in the machine learning domain, can you share your journey as a machine learning enthusiast? How did you start with it, and what all did you aim for?

I started machine learning in my second year of college. It was something that I always wanted to do something different. I started with Kaggle, where I came across various competitions, and one of them was this titanic competition.

https://www.kaggle.com/c/titanic

It is the best first challenge for you to dive into Machine Learning.

And when you talk about my journey, it wasn’t smooth in any way. There were times when I started with a course or a book, and gave up half-way, either because I wasn’t able to understand things or I had hit a roadblock. But in hindsight, these challenges helped me be the kind of person I am today.

Honestly, when I was learning all this in my second or third year, I didn’t have many aims for it regarding placements. I just went with the flow. And that’s what made me develop an interest in this field.

Could you please tell us about the online resource you used and how To gain maximum leverage out of it?

So that depends from person to person, some people like university courses, while others go for blog posts. Personally, I prefer books, and I can recommend some from where you can start :

1. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, by Aurélien Géron

This book covers almost all machine learning concepts in the most beginner-friendly and hands-on way. Personally, I started reading this only during my interview preparation when I had some knowledge of these underlying concepts, but you can read this as a beginner also. The concepts are explained beautifully well, with ample illustrations and code snippets. The only thing is you need to be patient, as it’s quite long. If I had to point to a good book, then this would be the one as it helped me a lot.

2. Deep Learning with Python, by François Chollet

It’s an excellent book that covers deep learning. It explains concepts using a deep learning library called Keras so that anyone can understand, even if they have no prior knowledge of machine learning. It is brief but goes into great details whenever required. Some of the projects I mention in my resume are from this book itself.

3. The 100 Page Machine Learning Book, by Andriy Burkov

Actually, it’s more than 100 pages long. It’s a concise book, and it mentions lots of concepts in brief. I wouldn’t say this book is beginner-friendly, but definitely an excellent resource for revision.

Students can also refer to:

Andrew ng deep learning specialization

Deep Learning by deeplearning.ai

3blue1brown’s series on neural networks

https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi

Stanford courses for deep learning.

Deep Learning | Stanford Online

Full-Stack Deep Learning Boot Camp.

https://fullstackdeeplearning.com/

There’s a common belief that to ace in machine learning, one has to be good in mathematics. What’s your opinion on it?

Machine learning is a perfect example of applied mathematics. Like, in school or college, you learn this mathematical concept of Linear Algebra and Calculus. All these concepts help you at some point in machine learning. More critical are the intuitions, what intuitions you’ve gathered from all these concepts.

Also, the more research-oriented your role is, the more critical the mathematical concept. Suppose you’re applying for a research internship at an institution or foreign university. In that case, mathematics plays a more significant part, but as your role shifts away from researching and engineering aspects, the mathematical aspects downturn.

Also I would say different statistical concepts are sometimes used in machine learning also, so don’t shy away from learning those!

Do we have to be specialized in one field like vision or NLP? What are some other areas that one might look into?

An interviewer once told me that the knowledge has to be T-shaped, which means you should have the breadth of expertise in various topics, and there should be one particular topic where you know things in-depth. Keeping this in mind, I recommend that one should learn the basics of both computer vision and NLP, and at least one project is to be done in both. After that, it’s your choice which branch you want to pick and go deeper. I did the same for computer vision. You can be flexible and knowledgeable about both fields, and if given time, you can learn the one area you don’t have depth knowledge about.

Apart from that, most people think that you work only in these two fields in machine learning. It’s nothing like that. Some other areas are underrated, and people don’t talk about much. One of them is tabular data, time-series data and telemetry.

How would you describe the importance given to coding questions in machine learning interviews?

When you apply for a company, there’s always a coding test which acts as a first screening point. Apart from that, interviews depend on person to person, what they ask. The most important thing is when you’re asked a coding question, they see your potential and thought process. You should be able to understand the problem and explain the solution.

Here, you can start with a brute force solution and then move towards a more optimized approach. If your understanding and thought process are clear, then even if you get stuck, the interviewers may help you out and give you hints. Coding questions are not as essential in machine learning as in other aspects of software engineering, but it’s not that you can be utterly devoid of it.

Machine learning engineering and research are two terms often interchanged by the masses. So can you please tell us, what is the difference between them?

Many people who are starting machine learning don’t know that this is divided into two aspects: research and engineering. The main difference lies in your goals, how obstinate are you towards your projects, the basic algorithms are the same. Still, when you go for machine learning research, your principal aim is to extend the previous study, which is already done, you have to make the results even better than the previous ones while publishing. And the significant aspects of engineering are adapting the products mentioned above. These are different worlds: machine learning research and engineering. But sometimes, it gets overlapped.

So when you start, you begin with basic algorithms that are common for all of these. for example, if you for machine learning projects focus on research. Essentially you have to generate novelty learning by reading the previous research papers or some literature survey, or some documents which you think might acknowledge and include novelty.

In the engineering aspect, you go for an internship, and it depends upon the company. Some of the companies do a model-building part, which is a subpart of the entire process. Others are also concerned about deploying and building applications and scalable applications.

Do you believe that there is a disparity in the number of opportunities for students interested in software development and those in data science and machine learning?

I don’t think there is any disparity in the number of opportunities. It’s only that machine learning is a new and evolving field (for instance, neural networks were shown to have a great advantage over classical approaches only in early 2010s) and various companies are in different stages of trying to incorporate machine learning into their workflows, that students may believe there is a dearth of opportunities. But I can tell that it’s not, it is a new and challenging field but that’s what makes it exciting. If you’re willing to go the extra mile, then it’s a very rewarding career choice.

If someone aims for a data scientist role, what are the things they should highlight in their resume? Moreover, what kind of relevant side projects would look good when added to the CV?

So one project I did was called “Neural Style Transfer”. You might have used the Prisma app, which uses this algorithm to generate its unique stylized images. Here, we are given two images: one content image, usually an image depicting a clear object (eg: a portrait or a selfie), and a style image, which depicts a clear artistic or photographic style (eg: Starry Night by Vincent van Gogh). The task is to create a third image which is a combination of these two images, i.e., it should clearly depict the object in the content image, but it should feel like Van Gogh himself drew it! This is a great project as it goes beyond the traditional image classification and object detection fields, and involves the definition of a custom loss function.

The second project which I did was the one-shot verification of offline signatures. Another project was on a content-based movie recommender system. Put only those projects on your resume for which you can hold a conversation describing the details with the interviewer.

What role do communication skills play in the interview, and how can one improve them?

Communication skills are fundamental. They are not subjective. The interviewer focuses more on your knowledge about how much in-depth knowledge you have and how much you explored. It will leave an impact only when you explain it well.

It’s not only for an interview but also when you will be presenting results for the company. Good communication skills help a lot. To improve these presentation skills, one needs to practice them.

I recommend using the “Rubber Duck Debugging” method. It is based on the concept that “the best way to learn something is by teaching it” by doing this, you will know where exactly you are lagging.

Any any tips you would like to give to the budding data scientist of our college?

One thing which I will highly recommend is Study Groups. Even if you are stuck on a problem, there will be someone to teach. Alternatively, if the other person needs your help, you will teach and understand that concept better.

The second thing is to prepare your notes and keep revising it again and again. If you are reading a blog post, bookmark it like it to use it when needed.

Data Science is advancing day by day. It becomes essential to keep yourself updated with the latest technologies. You can follow some subreddits (r/datascience, r/learnmachinelearning, r/cscareerquestions) and some AI researchers on Twitter to keep yourself in the loop.

Interviewed by Aaditya Pratap Singh and Anamika Mallick

Coordinated by Shambhavi Shandilya

--

--

Uthaan IIITM
Uthaan
Editor for

Uthaan is the Journalism and Recreational Club of Atal Bihari Vajpayee Indian Institute of Information Technology and Management (IIITM) Gwalior.