Hacker News new | ask | show | jobs
by imbusy111 569 days ago
Just to give some balance here, I'll state a seemingly unpopular opinion.

Personally, I have not had issues doing complex coding questions in interviews, or at work. And it becomes clear pretty quickly on the job, when your co-worker has weak computer science fundamentals. Reasoning from first principles is a very powerful technique.

3 comments

The issue for me is that even if you have strong computer science fundamentals and lots of experience most of the time you won't be able to come up with an advanced optimized algorithm (that took years of research) on the spot, which is what is often required in these kind of interviews. Even if you manage the average kid that grinded leetcode for years will appear a better candidate than you, maybe he really is, but that's unlikely on the day-to-day job. In the end it's just about who grinds more, obviously if somebody is really weak on the basics it shows immediately without having to go through the hops, fizzbuzz is enough.
To be fair, while grinding shows opportunity of having enough time. It also shows determination and grit. I have determination and grit in other areas of life, but when it comes to leetcoding, I find it hard to have it.

I find it much more easily to have grit when it comes to dating/romance. I already feel it, it's a few orders of magnitude higher, at least on an emotional level that is. The strong motivator there is the rebellious belief/thought of "I won't be ignored! I deserve love too!" (I think everyone does). It's a trauma (little t) response. I'm married nowadays because of that drive, I'm currently reading the 7 Principles To Make Marriage Work.

But leetcode? In a good week, I do like 5 problems.

You are just justifying pointless time wasting on Leetcode questions as "grit".. There is a world of difference between perusing deeper connections with a potential life-long partners than doing Leetcode..

I mean if it works for you and you enjoy doing it, great but don't pretend it's for a higher purpose. It just sounds like Kool-Aid.

We don't demand surgeons to grind Leetcode for their interviews, nor we ask lawyers to solve trick gotcha questions.

Other industries recognize and value professional experience and are able to determine a candidate's quality with sane interview processes.

Partially agree, partially disagree. Won’t get into it.

I enjoyed your comment though! It’s food for thought

People complain about having to reinvent major discoveries in interviews, but in my experience this is very rare. The overwhelming majority of coding questions are more advanced versions of fizzbuzz, which merely require reapplication of common techniques. It is very frustrating as an interviewer if nobody can solve your questions, so the questions used will evolve to things that the typical competent applicant usually solves.
To give some more balance, I've met coworkers who have strong CS fundamental skills and are Leetcode BEASTS, but are terrible engineers.
To give some balance; I’ve worked with people strong in CS that suck as people and have no ability to help with product.

Experience is not equally distributed given any context. Well rounded people overall have been the best to work with.

Optimizing for a single variable is a very powerful technique of the stupid.

It's a bit of a strawman argument - I'm not aware of any company that hires purely based on leetcode results; they typically also include interviews focused on product/design skills and "culture fit".
Sure, the FAANGs and other companies aren't exclusively hiring based on time-constrained leetcode performance, but they are extremely biased towards it.

The coding sessions are pass/fail, you need to get to some type of solution that works. If you get most of the way there and were maybe just slow, it doesn't matter, you will not be hired.

On the other hand, companies are very flexible on system design and background sessions.

This lopsided process allows LC superstars to get through despite glaring deficiencies once they are involved in day-to-day work.