1. обычно подразумевается, что вы владеете фреймворком (
angular,
ember ) либо библиотекой типа
react или
vue ( плюс знакомы с их экосистемой ). Фреймворк предлагает все необходимые инструменты
"out of the box" для построения веб-приложения ( в этом плане новичку может быть легче ).
Библиотеки же сами из себя представляют инструмент для построения пользовательского интерфейса, а для построения полнофункционального приложения нужно будет обращаться к сторонним инструментам в рамкам экосистемы библиотеки (
но это не сложно ).
2. Всё что угодно. Учитывая, что джаваскрипт
ранится на сервере ( изоморфный джаваскрипт ) благодаря ноде. Вы можете стать фуллстек девелопером, зная всего один язык программирования.
3. Для верстальщика джаваскрипт нужен в основном на уровне
манипуляции с дом,
подключения тех или иных ванильных или не совсем
библиотек.
4. думаю,
минимум около полугода, чтобы стать джуниором.
p.s. знание английского на уровне
intermediate не помешает.