I have a pretty highly extensive background in development, I understand, can visualize and code from the top of my head any data structure. I understand running time complexity inside and out and can write proofs for them. I understand the space/time trade-offs in most data structures and have no problem talking about them.
But when it comes to solving a simple "algorithmic" questions in front of someone while being judged, I completely blank. I look at the question and the english words I am so used to seeing do not make any sense to me, it is a foreign language. My brain starts to think that the problems are somehow tricky and are more trickier than they truly are. I'm a mess and it isn't indicative of my actual programming skill, because behind a closed door I can easily solve these problems with some time. This has ruined a lot of my interviews and chances. I've lost all confidence.
Question: How does one improve their algorithmic thinking? Aside from reading books about it, I want to actually do it. Is there a comprehensive list of sites that provide algorithmic problems to solve?
Is this all about practice, practice, practice?