Вернуться в видеотекуСобеседование на Angular Frontend разработчика (Middle+/Senior)
Техническое интервью для Angular Frontend-разработчика с livecoding-задачами и подробным разбором JavaScript, Angular, веб-безопасности, CORS и рабочих практик.
- Направление
- Frontend
- Формат
- Техническое собеседование
- Компания
Промсвязьбанк- Длительность
- 1 ч 41 мин
Коротко о видео
Запись технического собеседования Angular Frontend-разработчика в Промсвязьбанк: кандидат решает несколько livecoding-задач и отвечает на вопросы по JavaScript, браузеру и Angular. В практической части разбирают выбор последних k заявок из двух отсортированных массивов, Two Sum и каррирование; интервьюер уточняет граничные случаи, сложность и недопустимость мутации входных массивов. Теоретическая часть охватывает Event Loop, сетевые протоколы, хранение данных в браузере, Angular, безопасность, CORS, тестирование, code review и Git.
Затронутые темы
Что взять на заметку
- Для выборки последних k элементов из двух отсортированных массивов стоит сравнивать элементы с концов массивов и двигать индексы, а не объединять и сортировать все данные; нужно обработать исчерпание одного массива и случай k больше общего числа элементов.
- Входные массивы в такой задаче не следует менять через pop(): повторное использование тех же данных даст другой результат. Альтернатива — копии либо отдельные индексы хвостовых элементов.
- Для задачи Two Sum кандидат предлагает хранить уже просмотренные значения в Map и на каждой итерации искать дополнение до целевой суммы.
- В задаче на каррирование обсуждаются замыкание, накопление аргументов между вызовами, свойство Function.length и запуск исходной функции, когда аргументов стало не меньше требуемого количества.
- На вопросах по Event Loop важно уметь объяснить порядок синхронного кода, macrotask- и microtask-очередей; рекурсивное создание microtask может блокировать работу браузера.
- Интервьюер отдельно исправляет смешение атрибутов cookie: Secure относится к передаче по HTTPS, а HttpOnly запрещает доступ к cookie из клиентского JavaScript.
- По Angular проверяют жизненный цикл, Default и OnPush change detection, иерархию инжекторов, ContentChildren и причины использовать DI вместо ручного создания зависимостей; кандидат называет тестируемость и низкую связанность.