Как эффективнее всего улучшать уровень знаний js к Middle-овскому?
Всё это очень абстрактно. У нас Java-разработчики с 8-летним опытом знали меньше матёрых мидлов с 2-3 годами разработки. Собеседование - это лотерея. Где-то 80%-90% на learnjs и на Senior'a прокатят))
Тут уж лучше профиль на github, это как-то надёжнее. Зашёл, посмотрел, какая проблема была, с помощью каких технологий решал и тд.
PS: Кстати "прототипы, call, apply, bind, каррирование" не так часто и применяются. А под "глубоким пониманием js" подразумевается, что вы понимаете, как это реализовано под капотом очередного js-фреймворка.
js бояться — в собес не ходить ©
прочитай эти два учебника и перевари их:
Дэвид Флэнаган - JavaScript. Подробное руководство
Крокфорд - JavaScript. Сильные стороны
— это самый что ни на есть мидл