Better to study a new language or statistics / big data. Rather, the most important skill you have day to day is your ability to concentrate & get stuff done. & the ability to take a big problem and turn it into manageable smaller tasks.
I think the focus on algorithms can be an underhanded way to prefer young, fresh out of school applicants. Those with good academic track records and with fresh mitochondria that can be utilized for great coding results.
This is exactly the thought that came to mind when I started reading this chain, and I'm happy you hit on it. This is definitely part of that elusive ageism that we keep hearing about in SV.
I was one of them; I participated in my school's ACM ICPC [0] teams. Just knowing the algorithms wasn't enough; we had to know what problems they applied to and how to quickly and effectively code them, often with a translation layer for the required inputs and outputs. This was hours of practice every week, and I suspect the top teams are a combination of natural talent and even more practice than I put in.
Even just four years later, I would read through the packet of problems for the year and feel out of practice. I would read problems and recognize that, once I could have coded it within a half hour, but not anymore. I have traded having deep knowledge of problems with the daily practice of "engineering in the real world", and I would not even want to have it another way.
I'm fairly certain I could study for a few weeks and ace the tests. I'm unfortunately also very resistant to doing useless work.
When the first interaction with a company involves requiring me to do useless work to prove my commitment (and everyone in the company has passed that hurdle) I very much doubt that I would be... how shall I put it... a good 'culture fit.'