Как поднять эффективность обучения?
Hackerrank имеет смысл задрачивать, если ты планируешь проходить собеседования с кодом в скором времени. На первых парах тебе важно писать много разного кода. Какой-то пет проект или набор небольших проектов.
Добрый день.
Попробуйте поработать с различными библиотеками. Например, напишите парсер при помощи jsoup. Попробуйте написать некий универсальный тул для экспорта данных в xlsx | csv (Apache POI). Изучите apache common langs, apache common collections и др. распространенные библиотеки. Можете глянуть на lombok.
Придумайте себе идеи для pet проектов. Например, телефонная книга (javafx), консольное приложение (jcommander) и т.д. 
Решать задачи на hackerrank прикольно и в принципе, можно потратить время на них. В частности, Java, SQL, Problem Solving. Но как отметил коллега, подобные сайты нужны больше при трудоустройстве. 
Попробуйте изучить jdbc, поработать с БД. Вот, сайт sql-ex.ru решите задачи по SQL.
Ну и не останавливайтесь на достигнутом, развивайтесь дальше. Мне например, для прибавления уверенности в себе помогли фриланс биржи. Я писал различные простые парсеры и ботов. Как бы и денежки есть и прикольно видеть результат своих трудов.