CodingBat is a free site of live coding problems to build coding skill in Java (and Python).
Ranked in these QuestionsQuestion Ranking
Pros
Pro Singular focused excersises
Each exercise chapter focuses on a characteristics such as, arrays, strings, logic, recursion etc. This is useful as it does not overload the beginner nor the expert, as they get the chance to sharpen their skills.
Pro Can be used to practice TDD (Test Driver Development)
By providing an array of tests that either pass or don't, the learner can focus on making each test pass in turn, until all become green.
Pro Contains all necessary documentation to get started
There is a page with a basic explanation for each chapter.
Pro Each submitted solution is checked against an array of tests
Pro The text editor is basic and provides no context-assistance
By providing feedback only after compilation, the user has to pay attention to the language syntax from the beginning. This, in contrast to most modern IDEs, helps to build awareness and good habits.
Pro Contains many basic problems, organized in various categories
The user can track their progress in solving a problem via Progress Graphs that show green tests and errors over time.
Cons
Con It does not provide a Getting Started guide
Thus the learning curve could be steep for the complete beginner. Even though there is plenty documentation, it takes some initiative (and time) to study it and get started.