Я читал лекции, форум, смотрел видео java rush, в том числе интервью с разработчиками, истории устройства на работу. Рекомендуют изучать фреймворки, базы данных, bash. Но ни разу не встретил рекомендации учить алгоритмы. Мне, как "плюсовику", это странно. Или все уже реализовано в библиотечных функциях Java и прикладному программисту важнее именно изучать язык и дополнительные библиотеки?