So here are some interesting links for all your coding needs.
Let’s begin with Peter Kofler aka the Code Cop, who collected a categorised collection of exercises in his Code Katas page.
Then, look into a collection of algorithms for practice, on the truly extensive and well structured HackerRank site.
Then, check out this categorised collection of exercises that goes under the name of Kata-Log and truly rocks.
Then, with cute cats posing in the sidebar, there’s codekata.com with explanations on the objectives of every kata.
Then, here’s a site bursting with real world problems suited for learning and practicing TDD under TDD Problems.
Then, there’s the amazing Cyber Dojo site for practicing code katas in a browser without any setup or somesuch.
Then, we also have another online great site, the Coders Dojo for reading up on and trying out code katas.
Then, there is the Trivia Game in various languages by J. B. Rainsberger and a bunch of Refactoring Katas by Emily Bache.
Then, there’s this site, full of Architectural Katas that look so tempting I can barely wait to try some of them.
Then, there is the original collection of Code Katas from Dave ‘PragProg’ Thomas that advises on How to Become a Better Developer.
Then, there is a smallish but worthy collection of Code Katas on softwarecraftsmanship.org with screencasts.
As to programming competition problems, the UVa Online Judge site contains hundreds of problems for practice.
The CodinGame is where you can practice writing games, get it reviewed and possibly even get yourselves hired.
A genuine treasure trove is the problem archive of ACM ICPC aka ACM International Collegiate Programming Contest.
Last but not least, for your mathematical algorithm coding needs, there’s the invaluable Project Euler to delve into.
Did we miss any? Do let us know!