Упор делаю на решение задач, изучение алгоритмов и структур данных. Но правильно ли это?
Нет, знание алгоритмов сортировок, видов деревьев и методов обхода графов вряд ли повысят вашу ценность как фронтенд-разработчика, но в целом эти знания лишними не будут, это такие фундаментальные штуки, о которых знают те, кто учился в ВУЗах и не знают те, кто учился по видокурсам. Иногда на собеседованиях такое любят спрашивать, но не уверен что на позицию фронтендера и не уверен, что джунов. Но, повторюсь, ВУЗовские ребята такое должны знать - это часть программы. Но это не то, на что надо тратить год жизни.
Каким по вашему мнению должен быть супер-джун фронтенд, чтобы он явно выделялся из толпы других джунов?
Фронтенд или не фронтенд - не важно, любой суперджун это человек, который без двух трех недель +-миддл, способный решать задачи бизнеса. Чтобы уметь решать реальные задачи - надо решать задачи, а не алгоритмы обхода графов на бэйсике пилить) Если на работу не можете устроиться - попроситесь на пол/четверть ставки, за еду, да вообще бесплатно, лишь бы принимать участие в реальном проекте, какие-то мелкие задачки берите себе. Или возьмите себе реальный проект и запилите его самостоятельно полностью. Время от времени просите более компетентных разработчиков о код ревью. В общем - делайте то, что нужно будет делать на работе, а вузовские знания должны быть просто приятным дополнением в виде теоретической базы. Сделаете за год 2-3 небольших проекта, или один крупный, это и будет вашим опытом, который будет отличать других ребят, которые хотят устроиться джунами. У вас будет серьезное преимущество, ведь сейчас столько людей пытаются устроиться джунами после пары месяцев видекурсов.