How to ace the Technical Project Discussion Round

Maghavgoyal
5 min readApr 30, 2020

--

As with a brute force approach, you are sure to cover all the cases but at a cost of taking a larger period of time, while preparing for your projects and the kind of interviewers you can get, this approach will definitely be worth your time.

I am going to discuss this approach with respect to a ‘mentor-mentee recommendation system’ project that I had built. Just to give you a little idea, this project was aimed to do a two-way matching between mentors( college seniors ) and the mentees ( college juniors )of the same college.

After attending interviews of the top tech. companies, I can assure you that it works. Well, atleast it worked for me.

First step:

Take out the keywords from the description of the project that you have written in your CV. Mine includes the below mentioned ones:

  1. Machine Learning
  2. Hybrid Recommender Systems
  3. Matching (of mentors & mentees)
  4. Front-End
  5. APIs
  6. Python

In case the company uses a crawler, keywords come in handy for getting shortlisted but make sure you understand each one of them.

Second step:

The questions that you are going to be asked will obviously depend on the interviewer but your task remains to figure out the type of interviewers you can get, their area of expertise and the questions that they would want to ask.

The first step would make sense now.

You need to create a tree like structure for your project and branch them on the basis of the main skills that are relevant to your project. With every right move that takes you down in the tree, there is a specialization that the interviewer possesses with respect to your project and the question set changes accordingly.

Figure 1 is a tree-visualization of the brute force approach applied to my project.

Let’s do a simple level order traversal of a tree and understand what that certain type of interviewer might expect from you:

Interviewer Type 1 (NON-ML):

What is your project if we subtract the ML part from it?

I know this isn’t fair because I am talking about removing the core of your project but the interviewer can only test you on the skills that he knows by heart so you should be ready to answer questions on:

  1. Which language, framework or library did you use and why? What alternatives did you consider?

2. Which database did you use ( SQL vs NoSQL databases discussion maybe)?

3. Discussion on API calls and if you can code one.

4. How does a user login to the website and how do you store passwords?

5. If a lot of users sign up for it, how would you handle their data and requests?

A system design question with ML functionality can be asked too. This will be related to the work that your (future) company is doing.

Interviewer Type 2 :

This interview will be like a viva for a ML subject that you took in your college. All the standard questions will be asked here:

  1. Which data-set did you use? What is the size of it and what is the datatype of the columns?
  2. How did you clean the data? How did you handle the null values?
  3. How did you select the feature set? Did you perform basic data analytics before this? What trends did you notice after visualizations that your data didn’t show directly?
  4. What algorithms did you use? ( A comparison of different algorithms is expected here )
  5. Discussion on Supervised vs Unsupervised algorithms.
  6. What is K-cross validation?
  7. What kind of recommendations do you show to the client?
  8. What were the metrics that you used for evaluating the performance? (Accuracy,precision,recall,AUC-ROC curve)

Interviewer Type 3 :

This is where you need to have a deep understanding of your exact topic. In my case, it is a recommender system.

  1. Discussion on content based vs collaborative filtering based vs hybrid approaches of implementing a recommender system.
  2. What is a cold start problem? How did you handle this?
  3. Usually products are rated by customers, but how will you rate the skills of a mentor? Is the process automated ( Like Linkedin assessments ) or is it done manually by the team? For how long, are these ratings relevant?
  4. Are skills the only ratings measure you take into account to find a suitable mentor for a mentee? If not, what was the rating function?
  5. Questions can be asked on the prevalent recommendation systems that are up in the market right now.

Reddit- With time, the relevance of a post decrease

E-commerce sites- Up-votes, Average Rating(Does it show the real picture?) and role of comments

Netflix-Top 10 in India vs Recommended for you

6. What all matching algorithms did you use? ( Comparison of algorithms is a must )

7. Discussion on implicit and explicit feedback mechanisms.

8. Python based questions can also be asked here.

Interviewer Type 4 :

If you do not understand the mathematics behind the algorithms and treated them as a black box then you are just a spectator to a match. You can just hope that your team i.e your recommender system works fine and if it doesn’t, the team won’t call a spectator to correct it but rather find a coach for it so don’t waste any more time and grab a good resource to study about it.

  1. Discussion on the mathematics behind the algorithms. Either he can ask you about the components that you used in your project like Lagrange’s multipliers, matrix factorization etc or he might ask you generic concepts of mathematics subjects that are used in ML.

2. On what assumptions does your algorithm work? Did you need them for the current use case too? What parameters tweaking did you make in the algorithm and why?

Ending Note

I hope this article helps you in preparing for your technical roles in an efficient manner. If you feel that this technique works for you, do apply it and share this article with your peers.

Requesting Feedback: This is my first article on Medium, and it would be great if you could provide some feedback on it by commenting or connecting with me on Linkedin here.

--

--

Maghavgoyal

Incoming SDE at Shopee, Singapore| DTU’20 | Ex-Amex Intern