Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Studies show that one of the most effective interviewing tools is a test for general mental ability: https://www.semanticscholar.org/paper/The-validity-and-utili...

Now, IQ tests are of dubious legality, at least in the US, but algorithmic coding questions basically get you an IQ test crossed with a programming skill check: win-win.

All the ire about how you don't actually invert binary trees or whatnot during your real job are rather missing the point.



Sorry, I've had both my kids go through the WISC-V "IQ" test in the last few years and there's no single "intelligence" number that comes out of that that would be meaningful for employment. It measures all sorts of things and you can be off the charts high in one kind of mental / reasoning skill while being average or below average in others and yet that still might tell you nothing about how well someone writes code at a job.

Most of us aren't doing intense mathematical reasoning stuff at work. Sometimes we have to, but most of the time the actual amount of novel algorithm stuff being done pales in comparison to "synthesize this knowledge from 10 different sources and evaluate the best way to integrate that into a reasonable solution."

I don't think coding tests are a good substitute for that, and an IQ test would not give you a clear answer there either.


Studies have general mental ability tests as comparable to work sample tests for predicting job performance.

That people are guessing that it wouldn't work is irrelevant, when we have evidence that it does.


Bingo! I like how all these arm-chair HNers who have never run a successful company or built a public-facing product used by millions suddenly are experts at how to build a successful company.

Yeah, you know how Search serves 4 Billion people or people created Chrome or gmail in their 20% free time?

Because they could leet code and not use Stack Overflow as a crutch.

Sure, not all companies need leet code. But someone who can leet code has demonstrated skills that has proven to be correlated with creating Trillion $$$ companies.

Now go back to developing your CRUD app used by 20 internal users (because they are forced to) and let companies who are successful continue to use their successful methods


Nah man, nice try, but you're wrong. I worked at Google on at least one of the codebases you're talking about, and I can tell you that the "skills" that most Google interviews test for are almost never applied there. Certainly not in an "on the spot" format either.

Most of the work @ Google, especially on an established codebase like Chromium (my experience), is about slow incremental engineering in very small bits and pieces doing mostly really mundane administrative things. And when there's 'core algorithm' type stuff to do, there's plenty of time and space to stop, consider, read the literature, and move on from there. Nobody is going to put a gun to your head and put you on a clock and then score your results like in an interview.

Most of the intractable difficult problems at Google are more "how to get there from here" and organizational; how can I pile up this series of code reviews over months to get to this final destination where this system is cleaned up or more efficient or this feature implemented/implementable.

Google's use of algorithm testing in the coding interview is simply a result of the fact that they have hundreds of thousands of applicants and need a way to filter in some repeatable and measurable fashion.

And it's worth pointing out that the interview process @ Google goes through a whole series of metrics & calibration towards that effort. It's not just "could solve this problem", it's "solve this problem according to interviewer X's satisfaction, but we've calibrated interviewer X's scores at level N, so adjust according to that" and so on. There's an attempt to be scientific about it.

Most other companies applying "leetcode" are not doing that, they often simply have a highly reductionist mental model of what "software engineering" is, which IMHO doesn't accord with the reality of the profession.

Are you lucky to work at a company that gets thousands of resumes from seemingly qualified people a day? Probably not.


I don't think we really need to go that far.

But suffice to say, I think algorithmic interviews are a decent filtering tool for recruitment, and I haven't heard of anything better (though some other methods may be comparable for overall utility, but just measure different things).


The people that invented Google search werent leetcoders. The people that maintain it are




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: