Hacker News new | ask | show | jobs
by catchmrbharath 3632 days ago
I had this view when I was interviewing for internships during this quarter. I have spent working and interviewing at a couple of places, before I came to pursue my masters and I believed people valued coming up with the solution on the spot.

I interviewed at atleast 10 places for internships and every single of them asked one of the questions from either leetcode or cracking the coding interview. I found none of them cared whether I am thinking on my feet for a solution or not. As long as you can reproduce the answers to the questions in a nice manner, you got selected. None of my interviewers were trying to understand / empathize how difficult it is to come up with a solution really quickly when you have not seen the problem before.

The thing I learnt through the ordeal is 1. Nobody cares whether you are thinking on your feet or not. 2. You need a month of preparation going into these sort of interviews.

4 comments

>>I found none of them cared whether I am thinking on my feet for a solution or not.

There are section of people among programmers who give away tens of hours of time per week on sites of the likes you mentioned, these people have no other hobbies, hardly do any other productive or creative work, have no real social circle and generally spend all the time of their life in 'karma hunger' kind of a pursuit for points in solving some thousand people like themselves already solved.

Now they have to justify all mega massive wastage of time by at least making it look some kind of an intellectually superior activity which other people are incapable of. They might as well fail a few people in the interviews to get some consolation for that kind of wastage of time.

Everytime I see people spending scores of time on these leetcode kind of sites, I'm reminded of exams in India, where students just sit down and mind numbingly practice several years of question papers in hopes of finding similar questions or sometimes the same questions with minor modifications in exams. Finally you get students who barely know anything at all but pass the exams with high marks.

I've heard a school of thought that being good at those games is actually a yellow flag because you get conditioned to code fast, not well.

That said, I love those games, so screw that. I just don't confuse them for being a gauge of someone's professional value. They probably correlate some with intelligence, but that's only one piece of the puzzle and probably not the most important piece for the grand majority of hires. Communication, work ethic, and creativity are probably more what I'd look for there.

My guess is a team made up mostly of "just above average" people would probably coordinate and communicate better than a team of "genius programmers" anyway. So there's a bar, but from there it's not as simple as smarter is better.

I wish I could upvote this more than once!
> I believed people valued coming up with the solution on the spot.

So I 100% agree with this. Being intuitively clever and being able to apply what you know is intrinsically valuable:

Think of the extreme, imagine someone who is unable to apply something they've learnt unless it's exactly in the context they learnt it.

That said, I think it's often underestimated how valuable prep is. Some people even get a bit salty over it, people who are unwilling to "jump through the hoops".

As a teacher, I've seen all kinds of people, people who need absolutely nothing to figure out things on their own, whose limit is only their imagination. On the other hand, there are bright people who need a bit of guidance but are nonetheless otherwise very brilliant.

We are the sum of our experiences. How we've arrived at our present is completely unrelated to other people's. Some people have had parents who are scientific, other people were hacking consoles/linux/coding since they were 10. Other people got bored with their careers and decided to try something new in their late 20s.

Who's to say a month of prep is too much or too little to get ready for an interview.

Though, to the people who want to derive everything on the spot, I'd ask:

"how did you figure out how to start a fire?"

"when did you derive differential calculus?"

"how old were you when you solved the schrodinger equation?"

My point is, "solving something on the fly" is a misnomer. Without a doubt, it takes intelligence to apply a combination of tricks to a new problem in an unfamiliar context. But trying to come up with a solution when you've never seen the trick is a completely different ballgame, and its worth trying to see the picture from a different perspective.

Is the interview process flawed? Well that's an entirely different question ..

I am not talking about inventing data structures or an algorithm on the spot. It takes some amount of time to find the right data structure and the algorithm. I felt that the interviewers are not ready to give that time.

Say you have not seen a particular dynamic programming problem. It takes some time to get to the fact that there is a recursive solution to it, and then apply DP to it.

For a person who has seen that problem, it doesn't take a lot of time to write the code. While interviewing, you are compared to that person. Nobody takes that extra effort to actually appreciate somebody who thought about the problem and answered it.

For a tech industry that prides itself in hiring the best / most talented, this is ironic.

The thing is, that Amazon/Facebook/Google are in the unique position of having too many applicants, not too few.

This is by no means vindicating their process, merely shedding some light on it. A bit like case studies and consulting...

Edit: though on that note, a good case study will extract / give a candidate the opportunity the opportunity to demonstrate key competencies aligned with consulting, much as in the same way solving some algorithm on the spot is a reasonable proxy for being a good googler. The only problem is it has a high false negative rate...

They've got an absolute shit-ton of recruiters out there manufacturing those candidates. I've never done an on-site Google interview (never the right timing) but they hit me up once a year trying to drum up interest. And then every one of those drummed-up interview loops takes time from their engineers who could be working on stuff.

They could probably do better for themselves as businesses with an interview process that looked for skills that are necessary to get the job done (not white board big-o olympics) and sufficient to get the job done (not white board big-o olympics).

That's a shame. When someone sails through something I gave them, I usually kick myself for giving them a crappy or cliched problem and assume they've probably solved it previously. In that situation I absolutely am trying to figure out if they at least understand the answer so I'm looking for them to talk through, etc.

Coding on the board is a broken process anyway (just one I rarely have the influence to redefine wholly) but coding on the board as a "closed" interview question is downright stupid. You learn absolutely nothing relevant about the candidate, and they learn absolutely nothing about you. I'm sorry to find out that was the bulk of your experience.

FWIW, once you get enough experience to pick and choose, that would be a bad smell for me interviewing at a company. If I feel like there's no rapport and I'm just getting grilled in an interview past the initial tech screen, I will and have stopped the process myself. Life's too short to be a cog.

This was my experience for new grad roles. The "we're grading the person, not the answer" is normally bullshit.