Skip to content
loading...

re: Are algorithms, complexity & data structures still relevant? VIEW POST

FULL DISCUSSION
 

Like most things, the devil is in the details. So my opinion would be heavily based upon what the question "are algorithms, complexity, and data-structures still relevant?" means.

If it means knowing when to use a List vs a Map vs a Tree, then yes! That is a core concept that applies to pretty much every type of programming. I wouldn't include questions about them in an interview though, unless it was a new-grad/no-prior-experience.

If it means implementing a Red-Black Tree, or performing an amortized analysis of an algorithm, then probably not! The vast majority of devs will never need to apply this knowledge. And this is not a result of 'technology getting faster so you don't need to worry about performance'. It is a matter of 'technology has improved in various ways that we need to think about performance differently'. Knowledge about algorithms and data-structures was the most important subject to know in a world where all the data was in memory and processed in a single-thread. With the advancements in distributed & cloud computing, network latency & bandwidth, multi-core & hyper-threading, etc, what you really need to know about these days is caching, paging, parallelism, sharding, and indexing. When I read about people here interviewing for a Front-end JS position and they're asked questions about implementing a double-linked-list it just makes me want to flip the metaphorical table...

 
code of conduct - report abuse