48 ms·
I 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 algo
by pclmulqdq 4y ago
I 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.
- pclmulqdq 4y agoI think that if your job is to program quickly (which is the case for some subset of professional programmers), most of your job is to figure out what to Google, and then putting together your search results. That is roughly the same for competitive programming, at least for the times I have tried it and the people I have watched do it. About half the time is spent thinking about what to pull off the shelf, and the remaining half of the time is putting it inside your solution template (which you have pre-made to save time during the competition).
- vs0999 4y agoI think you have some delusions about competitive programming. Now lets debunk them. If you looked at the Putnam results this year, a good amount in the top 50 were competitive programmers (let alone top 500 which was filled with names on Codeforces). This is just America and Canada which aren't the strongest countries in the world when it comes to competitive programming. There is a significant amount of medalists in IMO who won gold medals at IOI. Now 1) is definitely true. In the last ICPC, no team could solve D (including the winning team consisting of an IMO gold medalist, despite 19 tries). Here is another example of a tough problem. It was so difficult that the solution to this problem was a published math paper! https://codeforces.com/blog/entry/109707#comment-977862 https://codeforces.com/blog/entry/109707#comment-977862 Now to debunk copying and pasting library code. Take a look at this blog. https://codeforces.com/blog/entry/112021 https://codeforces.com/blog/entry/112021 If you think just using some library code is competitive programming that takes 10 minutes to solve and mapping to some well known algorithm you most likely have never done it to any serious extent. In that case, provide more informed opinions then saying it is the same as leetcode.