3 ms·
Hold on, you can't call a linked list theoretical knowledge. It's a basic data structure used in tons of real world code, including this forum. And even then, t
by stefano 9y ago
Hold on, you can't call a linked list theoretical knowledge. It's a basic data structure used in tons of real world code, including this forum. And even then, theoretical knowledge does have an impact in the real world. People don't study and research theoretical subjects because they have nothing better to do, they do it because it has real world implications.
If you ignore the theory, you end up with sub-optimal software that only kinda works (who cares about studying the theory and actually verifying those pesky edge cases) and is slower than it should be (who cares about advanced data structures, just use arrays and hash tables everywhere).
- erikrothoff 9y agoYou'd be surprised to see the excellent code written by people who don't know basic data structure theory. Arrays/Objects in JavaScript, Hashes and Arrays in Ruby, Dicts and Lists in Python go all the way to fill the needs of that. At what point would you need the implementation details of any of these to write code?
- obstacle1 9y ago>At what point would you need the implementation details of any of these to write code? ...literally any time you are performing a computation on a collection of items and care even the least bit about performance? It sounds like your bar for what makes "excellent code" simply excludes performance issues completely. That's fine if you're talking about scrappy startup devs who move from MVP to MVP. But when it comes time to turn an MVP into an honest-to-goodness P, you can't totally ignore the efficiency of your code. And you can't write efficient code without understanding the basic strengths and weaknesses of the data structures your programming language implements.
- tiraralabasura 9y agoFailing to memorize how a linked list works and its advantages/disadvantages does not mean the developer will write sub-optimal software, as an experienced developer can easily find out which data structure would be optimal for any given problem by spending a couple of seconds/minutes googling. A 'technical interview' should not include asking these questions that everyone studied during their bachelor.