В данном выпуске Антон пройдет собеседование на middle frontend разработчика.
Если вы хотите пройти отсобеседование, заполните форму https://forms.gle/o69DSx9QsZciPYYB8
Поддержать проект: https://www.patreon.com/otsobes
---
Чат: https://t.me/otsobes_chat
Канал c новостями: https://t.me/otsobes
Наш канал с подкастом и всяким интересным: https://www.youtube.com/channel/UCHi9UA5DGntIg6ZxHN3l7nA
Твиттер: https://twitter.com/lazy_frontender
---
"Отсобеседование" это в шоу в котором кандидат пытается пройти собеседование на позицию фронтенд разработчика. Ему нужно продемонстрировать знание технологий и понимание подходов во фронтенде. Здесь будут уточняющие вопросы на глубину понимания, но не будет алгоритмических задач и лайвкодинга. В конце кандидат получит вердикт с резюме его слабых и сильных сторон.
---
00:00 Начало
00:00:23 Знакомство
00:03:35 Самая интересная задача которую приходилось решать?
00:04:35 Что тебе интересно во фронтенде?
00:05:40 Какие у тебя планы на ближайшие 5 лет?
JS
00:06:30 Какие есть типы переменных?
00:07:30 Зачем нужна блочная область видимости если уже есть функциональная?
00:08:15 Что такое hoisting?
00:10:00 Что такое прототипы и прототипное наследование?
00:11:50 Чем ООП в JS отличается от ООП в других языках?
00:13:00 В чем заключается отличие классов в JS от классов в других языках?
00:16:40 Как бы ты добавлял статический метод в prototype?
00:17:05 Как сделать какое либо свойство объекта неизменяемым?
00:18:55 Что такое event loop и как мы его используем?
HTML
00:26:15 В чем отличие атрибутов от свойств в HTML тегах?
00:27:30 Как получается так что на всех элементах есть одни теже свойства(class, id, etc)
00:30:10 В чем отличие .getElementsByClassName от .querySelectrorAll?
Git
00:32:55 Зачем нужна система контроля версий?
00:36:25 Что такое gitflow?
00:42:05 Что такое merge и rebase, в чем отличие друг от друга?
00:46:10 Как наши изменения попадают в ветку?
00:48:50 Как можно заставить git что-то забыть?
00:49:35 Как можно переименовать коммит?
00:52:55 В чем отличие amend от squash?
00:54:05 Что такое cherry-pick?
00:55:20 Что такое семантические коммиты?
00:58:10 Что ты знаешь про semantic version?
Оптимизация
01:01:00 Как мы можем оптимизировать отрисовку?
01:02:20 Зачем вообще что то оптимизировать?
01:03:20 Способы оптимизации
01:07:30 Что такое force layout и почему это плохо?
01:08:25 Как мы будем через JS анимировать что либо?
01:14:10 Утечки памяти, что это такое и почему плохо?
01:15:00 Как происходит процесс утечки?
01:15:30 Что за сборщик мусора?
01:16:05 Мы можем повлиять на сборку мусора?
01:16:45 Как исправить утечку памяти?
Компонентный подход
01:20:25 Что такое компонент?
01:21:50 Зачем мы разбиваем код на компоненты?
01:25:30 Какие есть способы общения между компонентами?
01:32:30 Как определить что состояние является глобальным?
01:34:35 Зачем нам нужен менеджер состояния?
01:35:50 Почему нельзя использовать контекст в качестве хранилища состояния?
01:37:45 Почему React не реактивный? :)
01:44:38 Двустороннее и однонаправленное связывание данных?
01:48:10 Заключение