(no title)
deadcore | 3 years ago
In the defence of LeetCode-style questions, I do think they work, and very well may I add - with the caveat you have the throughput of candidate to make it work well? Their ability to filter out 'those who can't code' in an efficient manor while sacrificing a small amount where it filters out 'those who can code' greatly out weighs the alternatives. The alternatives needing to fit into a 1 hour timebox, be objective while also favouring the positive cases (I think I got that the right way round).
My two cents would be more around the way in which they are conducted; in my experience I've found conflict with the interviewer more then the process itself - with interviewers in my past lacking.... empathy (may not be the right word) for the person on the other end of the screen/table feeling flustered, nervous or down right stupid that they're struggling to solve a simple fizz-buzz/reverse string problem, leads to a snowball effect and pilling onto that can effect the candidate in quite a spectacular way. Best interviewer I've had asked if I was alright and got me a glass of water, props to that guy!
I dunno - I've just come to terms with having to learn how to play the game, even if I find that part of the game really hard and to some parts unfair. Such is life
andrewingram|3 years ago
I've failed more than my fair share of these challenges, but never (being subjective here) because I wasn't actually capable of (1) solving the problem or (2) doing the job. My take here is that I _may_ have been unqualified for these roles, but that the interview failed to actually uncover it, due to spending all the available time on low signal exercises.
wiseowise|3 years ago
Statistically that’s irrelevant, as they optimize for “do not let through rotten apple”, rather than “find good apple”.
nonameiguess|3 years ago
The problem comes when smaller companies that don't have the same high rate of new applicants use the same process and then complain they can't find anyone.
quickthrower2|3 years ago
Kranar|3 years ago
The problem is that the total number of candidates who apply for the position, Z, is significantly higher than X + Y by a very very large margin, and I mean orders and orders of magnitude. For every position I post I get on the order of 600-1000 applicants in a matter of a week, even though I'm only looking to hire maybe 2-3 people. Of those 1000 applicants, 80% of them are simply unqualified, and that's being really really generous just for the sake of argument (I'd wager the figure is closer to 90-95%). So once again just for the sake of argument that means 200 of them are qualified, and I'm hiring three, which means any process I choose whatsoever will filter out a minimum of 197 out of the 200 qualified people, no matter what I do.
Given that calculus, it's better for me to focus on making sure that I filter out the 800 people who are simply unqualified for the position even if that means I end up filtering some of the 200 good developers, because I have no choice but to filter out at least 197 of the good developers anyways no matter what, whereas I do have a choice about filtering out the 800 bad ones.
valenterry|3 years ago
But did you consider the number of qualified candidates that did not even apply because they know there will be leetcode questions?
dormo|3 years ago
The code part was a small existing codebase simulating the system in said design document. You you are given three tasks, and explicitly told you are not expected to complete all of them. I ended up using virtually all of the time (70 minutes) completing the first two tasks, and using my remaining minutes writing comments about how I'd complete the third task. When that was complete, I was given 15 minutes or so to describe what I would do if I was given another 15 minutes of time to work on the project.
My only real complains were that the time limit added some pressure (that I was able to manage reasonably) and that the grading process is opaque. I know a human grades it according to a rubric, but I don't see any of my results. The company I was interviewing for just said "Everything looks great, we're moving you forward to the next stage of the interview process".
The code didn't involve writing any fancy algorithms, but instead getting to know a (very small) existing codebase and understanding how to use it to add functionality. This is much more realistic a gauge of how good of an employee you are than how well you can implement a search algorithm from memory.