Ever wonder how you really rank up versus other programmers? betterprogrammer.com is a great site to see how you really rank up versus other programmers. Currently, the site only offers a programming test for Java programmers.
The questions you'll find in the test are very similar to ones that high profile companies would ask during an interview. The questions range from determining if a string is an anagram to implementing a Queue with only using two Stacks.
The test itself involves a handful of questions that scale up in difficulty. For each question, they give you a short prompt and some subbed out methods. You're expected to copy the stubs into your IDE, code up your solution as fast as possible (while taking into account all corner cases you can think of), and paste it back into the site. Each question has a recommended duration that you should be able to meet and a maximum amount of time allowed for the question.
When I took the test, the questions ranged from 15 minutes (the easiest one), to an hour for the more challenging questions. At the end, you're sent your results via email. The site itself is used by several companies to gage programming skills, and the site is also used by programmers just trying to sharpen their skills a bit.
The only downfall of the site is its lack of info about how you did. You're only given a ranking of how well you scored versus everyone else that has taken the test (i.e., you scored better than 90 % of all the people who took the test). No info is given about what parts of the test you excelled on, what corner cases you didn't catch, or even if you got a question correct.
The beauty of the site is that you can take the test as many times as you want, with different questions each time. From what I have seen, the questions are great practice for anyone looking to improve his or her coding skills, regardless of the programming language.