5 ms·
I have always seen LeetCode problems as effectively hazing rituals in a job interview setting. A high pressure interview situation simply won’t bring out peak p
by waythenewsgoes 2y ago
I have always seen LeetCode problems as effectively hazing rituals in a job interview setting. A high pressure interview situation simply won’t bring out peak problem-solving capabilities in many people. At best you get some superficial insight into someone’s problem solving methodology, but at worst you filter out otherwise excellent fits for not being able to solve an ultimately inconsequential problem under pressure.
LeetCode questions as interview questions are mostly theater. Most people who do well on these aren’t actually “solving them” on the fly from scratch. They just happen to have seen the exact same problem before and retake the steps they’ve memorized to get to the answer. Testing whether or not someone can regurgitate the solution they have memorized to a math problem doesn’t tell you much about how they will perform in a truly novel non-contrived constraint problem scenario, which is generally what most dev work entails.
Perhaps if you are working at Bespoke Algorithms ‘R Us, benchmarking this would have more value to your org, but for most dev roles at most companies it is hard to see it as more than a compliance exercise, or maybe even as a tool to weed out those with families that can’t devote the hours/day to LC memorization.
- erik_seaberg 2y agoI don't try to add any pressure, but going on call will require some resilience from each team member.
- waythenewsgoes 2y agoAs long as you don’t wake me at 3AM to rotate a red-black tree, or find the median of two sorted arrays we should be good
- ihumanable 2y agoExactly this. As someone that’s served as an oncall engineer for years now, the skills you need to operate a cluster are completely different from the things leetcode tests for.
- Ekaros 2y agoI must remember to ask how many times those problems happen in company's code base in next interview. Or whatever they ask. And if it is more than one, ask if they have libraries for it... You know good development practises and all.
- karmakurtisaani 2y agoBeing a smartass typically goes down well in interviews.
- OnionBlender 2y agoI was looking at the Meta interview guide and it says: > Let us know if you’ve seen the problem previously and also: > In your tech screen, you’ll be asked to solve two problems in roughly 35 minutes. Practice coding solutions to medium and hard problems in less than 15 minutes each to help you be ready for the constraints during the interview. The only way I could solve two problems in 35 minutes is if I've seen them before or it is a variation of a problem I've seen before.
- argentum47 2y ago> Let us know if you’ve seen the problem previously. It was one thing to practice this for hours, and now I have to tell them, yeah I saw this problem, so given me something that I never solved, and have a 50-50 chance of win. So working at Meta would be like, oh we need an Auth layer, but we have already seen an Auth layer being used, So lets scrape that, and build a new one, but then we are not going to look the spec or the problems from before, because we want to do the same things again.
- willio58 2y ago> Let us know if you’ve seen the problem previously Or just say “I’ve seen this one before” until they get to one you actually have seen before and ace it. Leetcode is a joke. I’ve hired a dozen or so high quality candidates using a short 2-3 hour take-home. It shows us more than leetcode ever could. And sometimes people take it places I could have never imagined, these are people we move quickly on and they are the highest performers in the org.
- novok 2y agopeople would usually ask for what the 'trick' is and you won't be able to give the correct answer if you lie like that
- wakawaka28 2y agoA lot of the kinds of questions you'd want to skip have no trick. Also, presumably, if the question is to be swapped then they will not demand a full answer before doing the swap. I think it's stupid to try to judge if someone has seen the question before. The only time it's wrong to have seen the question before is if someone tipped you off to that specific company's questions. I think that most people are not good enough at writing reasonable questions to attempt it. For that matter they are not good at picking reasonable questions for an interview out of a collection of problems either. People often choose problems that are excessively difficult, ambiguous, or even impossible to answer.
- ipnon 2y agoAt a certain point companies prefer employees who can memorize lots of trivial information and perform at a high level while being constantly monitored for adequate performance. Leetcode pop quizzes are excellent tests for this within an hour: POSIWID.[0] Should you work at these companies? Is this kind of employee optimal for company performance at an any given company size? I don’t have these answers. [0] https://en.wikipedia.org/wiki/The_purpose_of_a_system_is_what_it_does https://en.wikipedia.org/wiki/The_purpose_of_a_system_is_wha...
- novok 2y agoMy POSIWID guess is reducing market liquidity and dev pay by reducing competition for staff. These companies have been caught for it before. Even though I was pretty close in getting these processes reformed at my previous big tech company and nobody hinted at that. At this point I think it's a self perpetuating system, like medical residency sleep deprivation or 'accrediation', which incidentally makes changing hospitals a 6 month BS process for any doctor. A certain segment of engineers voraciously and autistically defend the leetcode interview since they were selected by it and probably like competitive coding and they are exhausting to deal with. The sane reformers eventually give up and leave them to their empire of dirt since nobody gets promoted for changing these things in big tech companies.
- jongjong 2y agoYes pressure affects people differently. Under stress, my communication skills and creativity improves but my mathematical thinking and problem solving abilities decline (slow down). Creativity gets in the way of leetcode... Leetcode requires focus; you need to recall only the most relevant techniques for the problem, if you're being too creative and see too many possible solutions and you try to identify the most optimal one, it will slow you down and you will run out of time. I tend to do better if the problems are more difficult with more time given. I'm built for solving difficult problems without hard time constraints. I'm bad at solving easy problems within limited time slots.
- GuB-42 2y agoThe thing is, all these arguments can apply to any test you do during an interview. It is always under pressure, and it will always be incomplete. You will never know for sure before you actually hire the candidate. If the interview for a coding job doesn't involve actual coding, how do you know that the candidate can code? What you may get are people who are just really good at selling themselves. Maybe a good fit for the sales department, but not so much for the technical position you are hiring for. LeetCode is not perfect, but no test is. As for the "memorization" aspect. You can certainly memorize solutions. But you can't just memorize every character of every solution and regurgitate it perfectly. You will need to make some generalizations, just to fit everything into your brain, and as you type it back, you will probably misremember something, and have to fix the bug or bridge the gap. Those are useful, real life coding skills.
- eesmith 2y agoDo not let the perfect obstruct the useful. A FizzBuzz coding test - which is also imperfect - will weed out those who cannot code, and without the false negatives from LeetCode. Programming is far more than writing code. Do you test their documentation skill? Their ability to work with others? To fix someone else's code? To identify and resolve ambiguities in the spec? To estimate development time? Is the additional time needed for a LeetCode test over a FizzBuzz test worth the time taken from evaluating these other factors?
- GuB-42 2y agoI actually never did LeetCode interviews, but I did some competitive programming, same idea. And it tests more useful skills than FizzBuzz. I wouldn't recommend hard questions, as they usually require techniques that are not very useful for most jobs and that you have to specifically train for (ex: dynamic programming). But for easy to medium questions, in my experience, the bottleneck is usually misunderstanding the problem, and simple bugs like typos, off-by-one, reversed conditions, etc... Understanding of the problem relates the the ability to read a spec correctly, and the ability to identify and resolve ambiguities is related. And if you can fix your own bugs, it also helps when fixing others. Of course, it doesn't test everything, particularly not teamwork (I mean, it is similar to competitive programming, the opposite of teamwork), but it was never meant to, other parts of the interview can do that. As for documentation, I think writing skills are important and undervalued. I mean it in the traditional sense, like writing novels. We could have candidates write essays, but like LeetCode, people will complain. I will, because I suck at this, but I understand the value. By the way, I find that LLMs help a lot for this, language models, are, after all, really good at language, especially technical writing that is more formal than creative writing. Of course, the LLM require guidance, but once it gets the technical part right, I find the writing is pretty solid.