11 ms·
Why is it a joke? It is like any other sport or Olympiad, it involves solving faster, accurately and potentially of problems you haven't seen before. There is
by actuator 4y ago
Why is it a joke?
It is like any other sport or Olympiad, it involves solving faster, accurately and potentially of problems you haven't seen before. There is no direct correlation between competitive programming like CodeJam/ICPC and leetcode. They don't target the same audience at all. I couldn't get to the top of these but I do admire people who do, they are some of the absolutely brilliant people I have worked with. I have seen how they employ their rapid understanding, breaking down and debugging skills in real world programming as well.
Coming to this argument about even algo/DS interviews, could you suggest an algorithmic interview replacement, that is not time consuming, is objective, language agnostic and scales well with the size of a company? It is not like these companies are not having past experience, system design interviews. They do have them as well but they cover subset of what all you would want to check.
I would have expected to read more reasonable opinion on HN.
- musicale 4y ago> There is no direct correlation between competitive programming like CodeJam/ICPC and leetcode What is the difference that you see between these sorts of algorithm puzzle contests? Is there some reason that people who are good at one contest would be bad at another, similar contest?
- actuator 4y agoThe main difference is the audience of both is different. Leetcode works like this. Company A is asking these 100 questions with this frequency; let me solve these questions so that when I encounter these in the interview I can solve them then. The whole premise of Leetcode is on giving a question bank to what is already being asked. The aim is to clear the base bar a company has set.
- noisenotsignal 4y agoIt makes sense why someone who is good at LC via pattern recognition might not be as good at competitive programming. However, it’s not clear why the reverse would be true. Surely someone good at solving unencountered algorithmic problems would be good at LC?
- favre49 4y agoYou're right, it's true - if you're good at competitive coding you'll be good at LC. But that's incidental. You don't even need to be a Div 1 competitor on (say) Codeforces to be great at LC - the bar is incredibly low. Just being average is more than good enough at interviews. Serious competitive programmers aim to solve problems much harder than Leetcode. Just look at some older ICPC and Codejam problems. There are some people who basically just do competitive programming to be good for interviews, but they don't get very far - not even to div 1. They reach whatever bar is necessary to clear an interview and quit immediately. The people who seriously compete to go for ICPC World Finals or to get far in CodeJam, they aren't really concerned with interviews.
- rfoo 4y agoThat's right. I'm an okay-ish competitive programmer (around 2400 on Codeforces). I haven't played competitive programming for years (though being semi-active in the community, for problem setting etc) and last I tried I can still randomly draw a LeetCode hard, consistently solve in 10-15 minutes max. The problem is LeetCode is SO BORING for anyone ever tried competitive programming so people usually won't do it at all.
- junofan 4y agoIt’s super weird seeing people who maybe aren’t into puzzles use pattern matching strategies they developed by practicing leetcode.
- musicale 4y ago> problems you haven't seen before Having seen similar problems really helps though.
- actuator 4y agoYes, it does. Just likes it helps in Maths or Physics Olympiad or any other ranked entrance examinations. Patterns are there in most real world problems as well, the more you have tackled before, the easier it is for one to see a pattern. Just like any sport as well
- adam_arthur 4y agoDepends what you’re hiring for. Firstly the interview should be structured with an aim to maximize correlation between success on the interview and success on the job. If you’re not thinking along these lines you aren’t even playing the game. For most startups, the right criteria to screen for is pace and quality of code, plus work ethic. You can ask a relatively easy coding problem, whether it be algorithmic/data structure, or more real world, that 99% of people will be able to solve, but still apply a high bar for what’s considered passing. Can they code the obvious solution quickly and effortlessly? I dont care at all if you’re able to produce a solution, I care about the path to that solution. Screening for the straight arbitrary algorithmic/design diagram problems has hordes of people who have trained to the test. At scale hiring these people may work through selecting for people with decent work ethic to grind problems, but you’re not going to get consistently great people this way. Lots of false negatives and positives. Having hired over 100 engineers in the bay area, judging by coding competency first was always more effective than judging based on quick shot leetcode/algorithmic aptitude. You can easily grind canned algorithms to pass a leetcode style interview, but you can’t fake coding proficiency. If you’re hiring for DB or ML developers, obviously theory is more important. But 90+% of you are not
- actuator 4y agoFor startups I agree, they should definitely customize their interview rather than copying big tech pattern. The kind of interview you describe is something Stripe also does, but I have seen even this resulting in non objective selection criterias. Like one Stripe employee told me that they prefer if someone uses a map rather than iterating on a list, as it is cleaner. While I agree with the sentiment; I don't think it is a good filter to add in the interview.
- slantedview 4y agoCan you elaborate on the distinction between coding competency and leetcoding? I agree with you that leetcode is terrible but I don’t quite follow how your suggestion is very different in practice.
- mFixman 4y ago
- ekianjo 4y agoAnd just like any other sport it has virtually no usefulness in real life
- markeibes 4y agoYeah who needs well-being, a healthy back or cardiovascular health anyway?
- bjdkdkdkor 4y agoYou don’t need to compete for those benefits.
- notimetorelax 4y agoSome find motivation in competition.
- jdkdkdkd 4y ago[flagged]
- zepolen 4y agoIronic since competitive athletes are usually the ones with issues later in life from pushing their body too far, not to mention the mental stress.
- nailer 4y agoI think one of you is defining ‘sport’ as in competitive sport and the other is defining it as exercise.
- mFixman 4y agoJust like sport coding competitions are fun :-)
- nailer 4y ago> Coming to this argument about even algo/DS interviews, could you suggest an algorithmic interview replacement, that is not time consuming, is objective, language agnostic and scales well with the size of a company? Why are you presuming an algorithmic interview? How many engineering jobs depend on being able to memorise algorithms? If you mean suggesting an engineering interview: sure. Give someone a task and 40 minutes to build it. Leave them alone. Come back and go through the solution together.
- smohare 4y ago[dead]
- pclmulqdq 4y agoI am not a big fan of them because the sport has converged on the idea that the competition should be about quickly producing code for problems that map to algorithms fairly trivially once you parse the structure of the problem. Top-level competitive programmers have libraries of functions and algorithms that they copy-paste from, and so the end result is more like a spelling bee than anything else. Personally, I would be a much bigger fan of competitive programming if at least one of these were true: 1. The problems at high level programming competitions were harder and maybe mapped more to real-world programming problems. Think of the IMO or the Putnam exam in "competitive math." The "Olympiad" of programming today consists of 5-10 problems that top-level competitors can solve in ~10 minutes each by reading the problem and mapping it to a known algorithm. Speed of typing and information retrieval from your algorithm library is the primary skill here. 2. The scoring method was something other than speed of production of code. Performance of the code is an easy alternative, but also not a great one unless you want to force everyone to use C++ or Rust. Using an objective function of some sort (based on the problem) would be an interesting method, but harder to write questions for. It is very easy to see the link between leetcode and competitive programming. The problem structure is basically the same, and the big difference is that the leetcode problems that people give in interviews are easier. The problem-solving skills involved are the same. Also, I can't suggest an interviewing method for you that has all those properties, because one doesn't exist. You aren't going to find one interviewing method that works the same for a cloud provider, a CRUD SaaS startup, and a game studio. This isn't something you can just cargo cult, you have to design it for your own situation. My inclination would be to cut the 5 leetcode interviews from your circuit and put that time into a single 2-3 hour take-home project that has some relevance to your company plus a 1-hour code/design review interview. Alternatively, give a candidate a bunch of small code snippets and ask them to debug the code. Finally, if you want an IQ test (which is what I suspect hiring based on "spelling bee" competitions like competitive programming and leetcode is really about), you can add a Wonderlic test (or one of their competitors) to your interview circuit - a lot of hedge funds do it, and I honestly didn't hate it when I interviewed with a few of them.
- cod1r 4y ago> Top-level competitive programmers have libraries of functions and algorithms that they copy-paste from, and so the end result is more like a spelling bee than anything else. I don't think you've kept up with or watched any "top-level" competitive programmer solve problems. Saying all competitive programmers do is copy-paste is like saying all programmers do is google.
- nonethewiser 4y ago> It is like any other sport Do you consider competitive programming a sport?
- aflag 4y agoIf playing Fortnite and sc2 are considered sports, why not?
- GTP 4y agoWell, if we now consider videogames a form of sport called esports, I don't see why we can't do the same for competitive programming. But I think OP was referring more about the competitive side, regardless of whether it qualifies as a sport or not.