Тренировочное frontend-собеседование с подробным разбором ответов кандидата по веб-основам, JavaScript, TypeScript и React. Включает live coding TypeScript-задачи, code review Todo-приложения и финальную обратную связь.
Это тренировочное собеседование frontend-разработчика Александра на уровень junior+/middle-, где проверяют его опыт и знания Next.js, веб-платформы, JavaScript, TypeScript, React и Redux. Кандидат рассказывает о переходе от вёрстки к React-разработке, текущем стеке TypeScript, React и Next.js, а затем решает типовую TypeScript-задачу и разбирает код Todo-приложения. В финальном разговоре интервьюер даёт свою субъективную обратную связь: база кандидата сильнее в React и JavaScript, а углубления требуют TypeScript, инженерные основы, проектирование и командное взаимодействие.
Подготовить связное объяснение загрузки веб-страницы: DNS и HTTP на базовом уровне, HTML/CSS/JS-ресурсы в DevTools Network, отличие REST API от HTTP-протокола и смысл status codes.
Повторить семантический HTML и accessibility: назначение тегов, клавиатурную навигацию, контрастность и доступность для пользователей с нарушениями зрения.
Отработать JavaScript-вопросы о типах, неявном приведении, == и ===, var/let/const, ссылочных значениях, замыканиях, this в стрелочных функциях и очередях Event Loop.
Для TypeScript нужно уверенно объяснять его роль поверх JavaScript, транспиляцию в JavaScript, union/intersection, utility types, keyof и generics; практическая задача в видео — типизировать выбор указанного ключа из объектов массива.
По React стоит уметь объяснить Virtual DOM, правила и назначение useState/useEffect/useRef, различие useEffect и useLayoutEffect, Context и Redux, а также запрос из компонента с состояниями loading, data и error.
На code review обращать внимание не только на логику: debounce поиска, лишний state, именование, типы props, ключи списков, консистентность с конвенциями проекта и уместность использования индекса как key.