Все просто, чуть более чем очень. Нужно понимать, как можно решить задачу (в вашем случае это программирование) и знать, как пользоваться инструментом (в вашем случае это язык) для ее решения. Решений и инструментов может быть больше одного. Также решения могут зависеть и от инструментов, то есть зная, как решить с одним инструментом у вас не будет знаний, как решить с другим, более того, третий инструмент может решать задачу совершенно другим способом, а четвертый - бессилен.
Декомпозировали.
Берем понравившуюся вакансию, по которой желаем работать. Придумываем себе аналогичные задания из пункта обязанностей. Для решения заданий используем инструменты из пункта требований. Развлечение со сборниками задач вам могут ничем и не помочь в том, с чем вы собираетесь работать. Зато развлечетесь.
Ave!