4 ms·
Same goes for problems in data structures and algorithms (read: hackerrank / leetcode problems) Some people will recognize patterns pretty fast, while others m
by TrackerFF 5y ago
Same goes for problems in data structures and algorithms (read: hackerrank / leetcode problems)
Some people will recognize patterns pretty fast, while others must solve literally hundreds of different problems, before becoming comfortable with the concepts.
People always seem amazed and baffled that some candidates can practically walk into white-board interviews unprepared, other than what they learned / did in their DS&A classes in college, and nail the interviews, while others have to basically prep 6-12 months before passing the same interview.
- sjg007 5y agoThe big issue is understanding what the problem is asking. Once you get that the pattern is easy.
- foxes 5y agoI am not sure that is always true, there are plenty of problems that are easy to state, but finding the "pattern" can be out of reach. Eg Collatz conjecture? However there are obviously a subset of problems I guess that can be solved once you realise what they are asking.
- sjg007 5y agoAre you suggesting that the Collatz conjecture is a valid interview question?
- rejectedandsad 5y agoIt is, it’s a fairly standard warmup interview problem. https://leetcode.com/discuss/interview-question/489169/Google-or-Phone-or-Decode-String-and-Collatz-Conjecture https://leetcode.com/discuss/interview-question/489169/Googl...
- foxes 5y agoProving it no one has any ideas, but generating the sequence given the input is definitely an interview style question.
- deleted 5y ago[deleted]
- mrtksn 5y agoI think the pattern recognition happens once the concept “clicks”. At some point you build a machine in your brain that automates and simulates some mechanics and your role shrinks into feeding the machine with the relevant information. Then it’s easy, you can imagine what will happen just by looking at the problem. I believe the trick is to properly understand the low level basics, explore edge cases and play with the machine as you build it. Many people will try to learn the basics of the highest level possible, then proceed to master methods and cases without deeply understanding the subject. They cannot compete with the person doesn’t know too much but has very deep grasp on it, working the way from there.
- deleted 5y ago[deleted]
- rejectedandsad 5y agoI think a lot of this is simply just IQ. People like me can’t pass interviews easily, and it’s a fucking nightmare.
- tmule 5y agoI see why this has been downvoted, but agree with the premise that it’s not just about practice (whether you want to call this IQ is up to you). As they say, a good mathematician finds analogies, whereas a great one find analogies between analogies. It’s not at all evident to me that pattern recognition is trainable to a high degree.
- bakuninsbart 5y ago> It’s not at all evident to me that pattern recognition is trainable to a high degree. Wouldn't that mean that mathematicians do not actually improve during their careers outside of things like management and publishing?
- tmule 5y agoWell, there is the work of learning patterns, and then there’s the skill of matching patterns. In the mental model I have, the former yields improvements over time, while the latter probably declines with age. Of course, there’s also collaborations, strategizing (what to work on, when to call it quits, etc) that likely improves with time.
- IQunder130 5y agoThey improve at knowing mathematics, not raw pattern recognition ability.
- binarybanana 5y agoOf course a mathematician improves when gaining nowledge and understanding. The question is how fast that happens and how easily that can be applied in different contexts or how hard it is to even recognize when which fact might be relevant for solving a problem. Knowing something like conformal geometry algebra is useless if possible use cases don't become obvious unless you're just following some form of instructions by someone who does. I wouldn't say this is a hard rule though as a fresh, unbiased mind can also lead one down an overlooked path with surprising results.
- jalino23 5y agodoes doing leetcode on a daily basis help with help my long term memory to have a toolkit of problems solved? or will I just forget what I learned from leetcode? if so what can I do to retain my leetcode knowledge. I just started this week not for an interview but to actually improve my long term memory of algorithms, data structure knowledge so I don't have to google everytime I wanna implement something. and hopefully to improve my reading speed when reading code
- ddlutz 5y agoOne big problem is the breadth of problems. Most people don't work with graphs, binary trees, dynamic programming, dozens of other algorithms and data structures you don't use ever daily.
- antimora 5y agoI don't that's true at all. Studying for algorithm interviews are like memorizing integral solution formulas (if you recall from your calculus class). You have study, memorize and be ready to apply solutions. Algorithm interviews are not knowing general techniques, like for example knowing how to solve algebra equations. The reason why people have to study for algorithm interviews is because people interviewing use similar algorithm problems found in the practice sessions.
- smiths1999 5y agoI disagree. Studying algorithms and data structures is not at all like memorizing integral solution formulas. People who are good at these types of problems generally do the same steps: 1. What is the class of problem I am dealing with? (e.g., solution uses a stack, queue, heap, etc.) 2. What is the likely complexity of the solution? Knowing, or at least having a guess, to these two questions greatly simplifies the approach. You do the exact same thing with solving integrals (e.g., is this an integration by parts question? is it a substitution question? etc.) and the same for physics, chemistry, etc. With algorithms, once you've done enough and have a very good mental model, you will start making translations between problems. That is, given problem A, you are able to map it to problem B which is easy to solve using some technique you know.
- deleted 5y ago[deleted]