Что должен знать frontend стажер в 2025? | Front-end собеседование
Учебное frontend-собеседование с начинающим разработчиком Тимуром. Разбираются вопросы по JavaScript, CSS, React, API, инфраструктуре pet-проектов и Git.
Тимур проходит учебное техническое собеседование на frontend-позицию: сначала рассказывает, что изучает frontend с лета, сделал несколько pet-проектов на JavaScript, TypeScript и React. Интервьюер проверяет JavaScript, асинхронность и Event Loop, DOM-события, CSS, React, работу с API, основы backend, сборки, Docker и Git. В ответах кандидата видны базовые знания, но также пробелы в Promise.race, обработке ошибок, React Hooks, инструментах сборки и операциях Git; интервьюер по ходу уточняет отдельные темы.
Нужно уверенно объяснять типы JavaScript, различие `==` и `===`, `null` и `undefined`, а также шаблонные литералы.
Для асинхронности стоит подготовить различия между `Promise`, `then`/`catch`/`finally`, `async`/`await`, `Promise.all`, `Promise.race`, очередями microtask и macrotask.
Нужно различать `preventDefault`, всплытие событий и делегирование; отдельно знать, что Error Boundary в React показывает запасной UI при ошибках рендера.
По React требуется практическое понимание контролируемых и неконтролируемых полей, `useState`, `useEffect`, `useRef`, ключей списков, props drilling, Context и state-менеджеров.
Для оптимизации React важно связывать `useCallback`, `useMemo` и `React.memo` с конкретной причиной лишних ререндеров, а не называть их без примера.
По CSS полезно подготовить BEM, CSS Modules, `box-sizing: border-box`, data-атрибуты, media queries, `transform`, стилизацию форм и применение CSS-переменных.
На pet-проекте стоит уметь рассказать о запросах, обработке 401/403/404 через Axios interceptor, кэшировании в React Query, code splitting, Docker, а также разнице между rebase и merge.