As a beginner in Java, I would like to know where I'm learning things (correctly), where I'm learning things incorrectly, and what I should learn next. I find I learn best by being given problems I can't immediately solve, and I need to do some research/learning to work out the best solution, then go onto the next problem. I then repeat the old questions once in a while until they have entered my long term memory.
Questions on Stack Overflow are useful in this respect, however they are not ordered in terms of difficulty and many of them are about a specific implementation of some feature.
Please reply with questions (and suitable answers) to this question that would be useful to any person trying to improve their knowledge and experience in Java. I'm sure that many Stack Overflow questions already posted would be suitable answers, in which case just reply with the question and the link to the original question. Also include the level of difficulty: low, medium, high (maybe include low-medium and medium-high in there as well).