4 ms·
As an interviewer I can tell you are absolutely missing the point. Why would I ever want to hire a developer without seeing them perform? And since being able
by twawaaay 4y ago
As an interviewer I can tell you are absolutely missing the point.
Why would I ever want to hire a developer without seeing them perform? And since being able to program a small piece of code to specification is such a basic, important part of development, why would it be bad for me to verify if you can do it?
If your friends are so good developers, why would they have a problem reasoning around a relatively simple, toy problem? Is it possible that your evaluation of your friends' prowess is biased?
Why do you think dealing with problems under pressure is not a valuable skill?
Why do you think leetcode questions are supposed to tell about quality of code that the candidate will produce? Is it possible that you just don't understand what leetcode is for?
It all seems to me like students complaining that the exam was hard. IT DOES NOT MATTER if the exam was hard. What matters is if you were better than other students. (And even that does not matter, because in the long run it only matters if you have learned something useful.)
So what is the point here? I think people just complain too much rather than focus on figuring out how to succeed.
Leetcode questions are supposed to tell me:
- Can the candidate understand the question? Can they think about the problem analytically? (Somehow there are a lot of people that can have nice conversation but they fail when they are supposed to apply hygiene to their thinking.)
- Can they follow instruction? (I explain the rules of the task and am interested in seeing if the person is able to follow basic instruction)
- Can they program? (I met a lot of people over the years who are able to fake their way through the process EXCEPT for when they have to actually write some code. For example they learned standard library by rote but do not have ability to use those functions when needed.)
- Can they plan? Are they organised? (A lot of people just do stuff at random that might work for very small change but will utterly fail for any larger task. Good developer inevitably have some kind of plan and organisation.)
- Can they work with somebody else on the problem? (Some people don't know how to work with others even when offered help.)
- Do they understand what the program they wrote is doing? (MOST people do not know if their program works or not or what it does. They need to run the program to be able to tell. All best developers I ever worked with can tell what the program will do before they run it. Any person that can't do this is destined to be creating huge number of bugs as they mindlessly retry code until it works in the process leaving every bug that did not stop it from working in their test environment.)
- Are they intelligent (enough)? (Leetcode is sort of intelligence test. You typically need to be at least at some intelligence level to solve the problem.)
The problem with leetcode is all those interviewers that do not understand how to use it as a tool to learn things about the interviewee. And that frequently is because they want to get information that you can't easily from leetcode.
So what you can't learn from leetcode question?
- Will they write nice code? You can't learn this because writing nice code is ability to adhere to the body of code you are already working with. Everybody's programming style is different and even best style might still be incomprehensible to a person that is not used to it.
- Knowledge. Do not ask stupid questions like how to transform a binary tree in a certain way because they only thing you are testing for is whether the candidate is lucky to know the answer to your problem.
- Can they solve complex problems? Do not give complex problems on interview. It is just too noisy and luck-driven. Perfect question is just complex enough to be novel and present some (but not too much) challenge to the candidate but not complex enough to run the risk of running out of time for a reasonable candidate.
- Kaze404 4y ago> I think people just complain too much rather than focus on figuring out how to succeed. This is a great example of what the top comment in this thread describes.
- Bootvis 4y agoI think you make good points. I also think that Leetcode problems are not good for this (at least for most companies) simply because the problems are too hard and require preparation or luck. Some of the algo's that are being asked took quite some time to initially develop, e.g. Maximum subarray problem. In my opinion it would be better to ask something a lot simpler, should still give you this information.
- twawaaay 4y agoIn general this is a mistake of interviewer asking question they would not be able to answer themselves. It is super easy to get this wrong. A problem seems much easier when you know the solution. Also, as interviewer you don't want to make mistake of comparing the candidate's knowledge to your experiences -- the candidate might be completely fine but just happened to have different experience from yours and did not meet the same problems as you. I have a small set of problems which I honed over the years. Some of them are problems which I got when I applied, which makes it easier for me to understand how it is when you are on the other side. Every single problem I have solved in every way I can imagine so that when I interview the candidate I can focus on the other stuff that I care about. I have developed understanding of where the candidates get stuck and for what reasons and how to best provide hints so that I can keep the session productive. When the candidate is stuck for a long time I tend to view this as my failure (nothing is happening == I am not learning anything) unless the candidate is really bad. What I am trying to say is that preparing good problems for coding interview is a hard task and badly prepared problems are probably why so many leetcode interviews are frustrating and inefficient.
- game_the0ry 4y ago> As an interviewer I can tell you are absolutely missing the point. As an interviewee, I would not want to work with you. You lack full conviction in your beliefs - you literally had to create a throw away account bc you knew you were going to get downvoted.