Ok I’ve never personally picked out the questions, but I’ve spent the majority of a year purely studying on Leetcode and websites like Leetcode to interview.
- It’s so much harder to memorize pure lines of code and the accompanying question for over 600 questions on Leetcode than to just learn the concepts and patterns behind them. Not to mention, it would be pretty incredible if you memorized all 600 questions/answers and didn’t gain actual knowledge of understanding algorithms.
- Whiteboard Coding is never just about the final result of the code. If so, it wouldn’t take 30+ minutes to conduct them. It’s about seeing how people think, how you come up to the conclusion of that code. Unless you’re an incredible actor/liar, it would be impossible to predetermine the interaction between you and the interviewer and pretend like you’re thinking about it and just start writing code, or worse, just don’t say anything and start writing. I’m sure thats a red flag.
- If by chance you are lucky and they ask you a question you’ve seen before (which has happened to me, which I told my interviewer I’ve seen this question while preparing and he still had me solve it), a slight modification, rephrasing, or follow up could destroy you. i.e.
- Write a level order traversal of a binary tree (Assume, I memorized a iterative solution). Ok now write recursively, and in zig-zag order, and a N-ary tree instead. What will you do now?
- Print all the permutations of a string (Assume I memorized a solution that modifies the string). Actually, I wanted it to not modify the string.
- Leetcode is not a replacement for actually interviewing. Leetcode doesn’t really check for memory complexity. The only way you truly understand a solution with a memory requirement is by understanding the code yourself. Leetcode doesn’t check for questions like the testing and scalability of your code, but you better believe you’ll get asked about it.
- It’s like problems from school, Whats the point of getting examples if we just memorize the examples and not really understand the process? You fail, obviously, even if few of the questions are exactly the same. And, again, it’s really not possible to memorize every calculus question ever asked.
- Firms know that people study for interviews. They tell you to study for interviews. For the most part, whatever resource you’re using to prepare, they know about it and most likely have things and mechanisms in place to handle people who try to take the “short cut” way into an offer.
At the end of the day, the organizations you’re referring to do a ton of research on what makes competent engineers, and having a strong background in Algorithms is one of them. If someone can actually memorize every solution on Leetcode or GeeksForGeeks effectively enough to perform well in an interview, they are probably pretty competent in their own right.