The real use-case for algorithm knowledge at Google isn't implementing standard libraries, it's in distributed computing. Okay, you know how to implement a shortest-path algorithm. Do you know how to implement a shortest-path algorithm when the data is spread over 10,000 computers? How about when paths become blocked by traffic jams or accidents? Could you adapt it so you can update that shortest-path in real-time as weights changed?
In these cases, most of your head-space is focused on the problem, which isn't written down anywhere other than PM's requirements doc. It's pretty critical that you understand the algorithm really well, because if you have to look it up you're going to have to unload all the messy problem-domain stuff that's in your brain.
In these cases, most of your head-space is focused on the problem, which isn't written down anywhere other than PM's requirements doc. It's pretty critical that you understand the algorithm really well, because if you have to look it up you're going to have to unload all the messy problem-domain stuff that's in your brain.