6 ms·
This. Do not try and do the problems from scratch. All you will end up doing is frustrating yourself for hours and taking far longer to get through the material
by rcarr 3y ago
This. Do not try and do the problems from scratch. All you will end up doing is frustrating yourself for hours and taking far longer to get through the material than you need to. You wouldn't do this in any other field e.g you wouldn't jump into a Linear Algebra textbook with no prior experience and expect to be able to solve all of the problems without first reading the chapters. Don't expect to be able to do that with coding interview patterns either. I'd recommend NeetCode but there's also Algomonster as well.
https://neetcode.io/ https://neetcode.io/
https://algo.monster/ https://algo.monster/
- b20000 3y agoyou just confirmed you don’t need any actual skill and just learn the solutions by heart to get hired
- Stephen_0xFF 3y agoI’d agree with you if someone somehow managed to memorize all the problems line by line, but that isn’t the case. You’ve memorized how to build an array in your language of choice. You’ve memorized the patterns that require an array. You might’ve also picked up some techniques for splicing it. When I see a master working, be it in woodworking, art, or engineering, everything is second nature. Years of seeing what worked and what doesn’t and they make it look effortlessly — almost like they memorized it all. By all means, if the problem can be easily solved by DFS, but you want to be creative, try something else. If it was really creative, the interviewers will be sure to talk you up and you’ll beat out the “code monkey” that used DFS. If you invented some new type of search, I’ll look out for your paper on it. If you found a new way to hire and cut candidates only leaving the creative geniuses, I’m all ears.
- hnfong 3y agoIf learning how to solve problems by reading a book is "memorizing solutions by heart" then yes, that's how most people do things. Look, as much as you might want to believe you (and everyone else in the industry) are geniuses, the fact is that we memorize a lot of stuff that were painstakingly invented or discovered by great minds in the past. If that is "don't need any actual skill" according to your dictionary, then so be it.
- b20000 3y agoengineering is about creativity and practice and not about memorizing standard solutions. leetcode does not test the skills that matter.
- isbvhodnvemrwvn 3y agoGenerously assuming software engineering is engineering - so you think that mechanical engineers or civil engineers don't reuse solutions 99.99% of the time?
- pillefitz 3y agoPattern recognition is pretty much at the core of creative work in an engineering context, of which memorizing existing patterns is the first half.
- b20000 3y agoif you just need to apply standard patterns than you are not actually inventing but just doing code monkey stuff, and you can’t really call that engineering
- dgunay 3y agoI wouldn't call constantly inventing new technology the only thing that qualifies as "engineering". It's about solving the problem under the given constraints. Sometimes that means evaluating existing solutions and determining that the problem is not novel and can be solved either in whole or in part with off the shelf software or textbook algorithms. The fact that this is the majority of business problems these days doesn't mean that no engineering is happening. IMO what actually is "not engineering" are the emotional, gut driven processes behind the software at some companies. No due diligence is done, requirements are scant, novelty frameworks are used, testing is a joke, etc. Anything resembling engineering is usually an accident in such places. I'm not saying process light environments are "not doing it right", I mean places that do nearly everything in an arbitrary, cargo-culted fashion.
- 3y ago
- deleted 3y ago[deleted]
- losteric 3y agoThat's a disingenuous take. It's extremely unlikely you'll get asked any of these specific questions, but very likely you'll be asked something in the general space. Core knowledge extrapolates... to learn system design, one studies the design of "solved" systems, thus learning to solve for new design problems. If a company is asking leetcode questions verbatim, they probably don't care so much about that part of the interview anyway
- b20000 3y agoi have been a software engineer for 20 years and never had to implement any of this stuff myself in my career. the last time i did was in my master’s program in CS. in contrast i’ve had to implement custom memory allocators and many other non trivial algorithms which cannot be implemented in 10 minutes but take days to design and implement.