A number of websites, called online judges, have been created in recent years that propose problems, accept solutions, and judge them automatically. These problems typically emphasize development of an algorithm that quickly finds a solution to a given problem. These are good practice for everyone who is interested in programming.
These problems are also directly useful in training for the ACM ICPC, a worldwide programming contest that has been around since 1977, and the IOI, a similar contest in existence since 1989. Additionally, coding interviews are becoming more and more common for tech companies and involve having a prospective employee solve a series of problems in a given time frame. Such problems are often very similar to those on the online judge sites. Additionally, having a good result on these sites can be useful to put on resumes or during the interview process as well.
Some websites that offer online coding challenges and judging are as follows: