Практику рекомендую. Cтавишь себе задачу и выполняешь, разбираясь по ходу с возникающими проблемами через гугл и stackoverflow
Это если комплексно, а если по частям, то:
Для JS прекрасно заходит
https://www.codewars.com/, поднимаешься там до 2кю пользуясь всё тем же гуглом, документацией и stackoverflow (не ответы на вопросы гуглишь, конечно, а как решить проблему котору не понимаешь) и будешь в шоколаде
Для вёрстки окромя всяких тамм книг и статей самое прекрасное упражнение это найти что-то хорошо имплементированное и не заглядывая в код сделать так же, а потом сравнить
Потом остаётся пройтись по
learn.js.ru, прочитать Флэнагана и готов прекрасный джуниор, который **** по губам проведёт "синиорам" который обычно таскаются по собеседованиям