Yeah, 'cause language issues and library specifics are far more interesting than dry algorithms.
This seems bass-ackwards. Library specifics, and to a certain degree language issues, are exceedingly amenable to recourse to documentation. An understanding of algorithms, less so.
I don't mean to knock algo questions, especially not complexity and data structures.
I do think language and library fundamentals get overlooked, for the very reasons you mention: yes you can google pass-by-value and consult docs about a TreeSet ... but the good programmers don't, they already know when/how/why and don't forget it after a year of doing something else.
For sufficiently fundamental fundamentals, I'd agree. I'd certainly include pass-by-value vs. -reference vs. -name in that. I strongly dispute the notion that good programmers don't consult library docs. Library surface area is huge, particularly in batteries-included languages. One should know well the areas they use, but there will be plenty outside that, especially if they're moving between many languages.
This seems bass-ackwards. Library specifics, and to a certain degree language issues, are exceedingly amenable to recourse to documentation. An understanding of algorithms, less so.