Что спрашивают на собеседованиях

Фронтенд

Джун

Общее

  • Портфолио - готовые мини-проекты
  • Git (commit, branch, checkout, pull request, merge)
  • DevTools
  • Debugging
  • Тестовое задание
  • Принципы DRY, KISS, YAGNI

Верстка

  • Верстка макетов
  • Препроцессор SCSS
  • Анимации
  • UI фреймворки

JavaScript

  • Типы данных и их отличия
  • Структуры данных и методы работы с ними, иммутабельность
  • Хранение по ссылке
  • Замыкание, область видимости, контекст
  • Функции высшего порядка, рекурсия
  • Поднятие (hoisting)
  • DOM, события, всплытие, перехват
  • Асинхронная работа, event loop, промисы (и их методы)
  • Знание фреймоврков (React || Vue)
  • NodeJS (понимание работы npm/yarn)

Взаимодействие с сервером

  • CRUD операции
  • REST API, GraphQL
  • Авторизация

Миддл

Общее

  • Опыт работы, список достижений, набор использованных инструментов
  • Git (rebase, cherry-pick)
  • DevTools
  • Debugging
  • Unit-тесты
  • Тестовое задание (возможно, но необязательно)
  • SOLID-принципы (теория и практика)
  • Clean code принципы

Верстка

  • Верстка макетов (Pixel perfect)
  • Семантическая верстка
  • БЭМ
  • Сложные анимации (библиотеки анимаций)
  • Темизация UI фреймворков
  • Accessibility принципы

JavaScript

  • Строгая типизация (TypeScript)
  • ООП vs функциональное программирование
  • Знание фреймоврков (React, Vue) - роутинг, стейт-менеджеры и их отличия, SSR
  • StoryBook
  • Системы сборки и их настройка (Webpack, ESbuild)
  • Настройка линтеров и других инструментов
  • NodeJS (создание утилит)

Взаимодействие с сервером

  • Кэширование сетевых запросов
  • PWA
  • WebRTC

Senior

Общее

  • Опыт полного цикла создания приложений
  • Архитектура приложения
  • Безопасность приложений
  • Владение командной строкой Linux
  • Docker
  • Владение еще одним языком программирования

JavaScript

  • Service Workers
  • Реактивное программирование
  • Выбор фреймворка в зависимости от проекта
  • Оптимизация производительности приложения
  • Визуализация данных (напр. D3.js)
  • Стейт-машины
  • Владение разными видами тестирования FE-приложений
  • Организация работы монорепозиториев
  • AST

Взаимодействие с сервером

  • Облачные сервисы (AWS, Azure, GCP)
  • Лямбда функции (serverless functions)
  • Headless CMS