Campus Interviews in India: My personal thoughts

Ajeet Ganga
5 min readSep 14, 2020

All ideas and thoughts are purely personal musing and NOT anything else.

I was called to talk to IIT-D for the interview guidance and I figured I best write down what I have to say instead of wing it on the fly tomorrow. So this is basically my notes for talk that will be be happening in few hours from now. So looks like Im winging it a night before.

I have been taking campus interviews for quite a few years now. Many years in Seattle and Bay Area at top colleges, and now in India for last couple of years. I promise you bay area was not to name drop, but to share that I have fortunate to be on east coast, west coast, bangalore and in Hyderabad, in information technology industry, and there is one common theme across all of them; Good talent is very rare, and that corporations are mostly sum total of all the people working for it.

Even before I would jump into what we are looking for during the interview, I would like to touch upon two tangential but important tangential concepts.

Purpose of companies existence

I don’t know really. But for sure the purpose is fulfilled via some solution that is delivered to customers probably in ways better than others companies.

Every great company solves a real world problem or must be advancing frontiers of Maths and theoretical physics.

The mythical man month problem

The second one is ‘The mythical man month” which loosely interpreting says, you can’t just add more manpower to get a project done faster. The lesson for me, for my engineering teams is that there is some optimal number of people I can have on a given size project, beyond which I will just slow down the project.

The Conclusion

We want to create impact, move the needle of change in real world, and help solve the real world problems with as few people as possible, because otherwise we are just slowing ourselves.

This thinking of A. Help solve customer problems B. With as few people as possible is probably central tenet of every hiring philosophy most companies have around here. Everything we do during hiring is but reflection of this tenet.

I will let you in on one secret. Each one of you here is fairly qualified for internship. So what we actually do is try to choose few among you, who are capable of getting things done, who are interested in solving the same problem as our company is working on, and will have a good time doing so.

Gatekeeper function

Due to our limited resources, we use CGPA and test scores as a gatekeeper function. If there are ties, we use external coding competition such as ICPC.

Now understand that once you pass this Gatekeeper bar, it doesn't matter who first and who is second. Like when you get into a train, it doesn’t matter who entered the train first.

We then have three rounds

  1. Problem solving round
  2. Coding round
  3. HM + Bar raiser round

Problem solving round

We ask one or two problems which are generally more difficult in ‘getting solution for’ than the verbose coding that needs it.

Scoring criteria depends upon if you understood the problem, if you asked the right question, if you were stuck (and that is ok) how you received a hint, if you solved the problem correctly AND can explain how it works, and optimize the solution whenever it makes sense.

We really assume here that you not only know basics such as how to derive Big-O for an algorithm. Not like give me just 10 minutes to derive that, but more like, wake me up in the middle of night and I can tell you in 5 seconds kind. It should be at level of reflex not at level of google search and a book reference.

Ability to reason, about why you arrived at the solution is very important. We are NOT talking about Ramanujan conjectures, which may be too difficult for us to understand. Otherwise we are reasonable in understanding your thought process as to how you arrived at the solution. Practice that too.

Coding round

We , as expected, have problems which test your ability to translate an algorithm into code. Sometimes problems such as quick sort and search in sorted twisted array is gnarly to implement. Not that we will be asking that, something more difficult.

I won’t dig deeper on this as all of you know the proof of the pie is in eating. But if you can’t get the code working, atleast have proper modularization which would allow others to understand how close you were to the solution. It matters.

HM + Bar raiser round

In the software industry, perhaps the most underrated skill is communication. Not because we will going on lecture circuits, but “Software is a team more of a team sport.” There are no lone wolf programmers churning out linux kernels and git anymore. Era of Linus Torvalds of the world is probably over. The importance of communication is even more important,

“Bolnyaraache bore viktaat, naahi tar tarbooj pan vikat naahit.”

If you sell, small things get sold, else no one will buy even large unnoticed things.

In the hiring manager/bar raiser round, if you have made it to that, we know you are a good problem solver and a good programmer. Then we are basically checking if you would enjoy the company of people you will be working with, and if you will have good time doing so.

It is very important to be able to communicate what you did so far in your previous project and the surroundings and context of the work. STAR is a great format to represent it. It stands for situation task action and result.

Communication is not fluency in english. It is your mastery of message that you want to deliver. Language is an important medium, but it is not all.

It is completely ok to use broken english, we don’t expect perfection there. Be clear in what you want to communicate, rest of it is matter of practice.

Conclusion

Practice communication as much as coding.
We are flexible. Feel free to be accomodated.

Learn also from the interview that what kind of work you will be getting, will you be solving a problem that will go to production, what you will learn from the internship.

--

--