4 ms·
Most engineers never implement any of those classic CS algorithms or data structures manually since everything is in the libraries these days. Therefore they're
by tx 19y ago
Most engineers never implement any of those classic CS algorithms or data structures manually since everything is in the libraries these days. Therefore they're in the same boat as you: general knowledge and a couple of books under a hand to look things up. All they (and you) have to do is to refresh their knowledge since college years.
I've never implemented a linked list since graduation, nor I sorted anything manually using quick sort. Moreover, I never had to generate permutations of anything, nevertheless those are the same damn questions they keep asking on interviews. I wonder why: it only makes sense for fresh graduates, because it's the only reliable way to compare then against each other.
- csmajorfive 19y agoIt's also one of the better ways to reliably compare people against each other for the type of intelligence and problem solving skills that programming requires.
- henning 19y agoI have used the Aho-Corasick and Boyer-Moore algorithms the Google presenter guy mentioned many times, at least a dozen, in 10 months of employment. I have also implemented a fulltext indexing system because we have total NIH syndrome, which involved working with suffix trees, inverted indexes, and other classic undergrad information retrieval material. You don't have to know everything; you need to know enough to know what you don't know, and where to look to get what you need to get the job done. Like, I just start with Wikipedia, usually. What you need when you actually get the job is a separate concern from what you need to get the job in the first place, though.