#16 Собеседование Senior Frontend разработчика из Mail.ru
Выпуск публичного интервью на Senior Frontend: практический опыт кандидата, архитектура frontend-приложений и фундаментальные вопросы JavaScript. Участники подробно спорят о CSS-изоляции, state management и dependency injection.
- Опубликовано на YouTube:
- Просмотры на YouTube: 46,9 тыс.
- Лайки на YouTube: 1,1 тыс.
Таймлайн
Коротко о видео
Публичное техническое интервью с Александром — frontend-разработчиком Mail.ru, работающим над Юлой, — охватывает его переход из Java в frontend, опыт поддержки e-commerce-проекта и предпочтения в инженерной работе. Основная часть посвящена StackBlitz, изоляции CSS, Atomic CSS и Tailwind CSS, менеджерам состояния и разделению бизнес-логики с представлением. В технической секции обсуждают замыкания, контекст и bind, event loop, задачи и микрозадачи, а затем ООП, инкапсуляцию и dependency injection. В финале интервьюеры высказывают мнение, что Александр справился с этим публичным собеседованием; это не утверждение о найме или оффере.
Затронутые темы
Что взять на заметку
- При оздоровлении legacy e-commerce-проекта Александр начал с компонентного подхода, Storybook и unit-тестов: это помогло разбить монолитную верстку на независимо проверяемые компоненты.
- Компонент должен как можно меньше знать о внешнем мире: не задавать собственное позиционирование и внешние отступы, не зависеть от глобальных стилей; такие зависимости хорошо проявляются в Storybook и тестах.
- StackBlitz, по мнению участников, особенно полезен для обучения, быстрого прототипирования и запуска Node.js-проектов без локальной установки, но не обязательно заменяет локальную разработку с Docker и полноценными окружениями.
- BEM задаёт методологию проектирования интерфейса, но сам по себе не гарантирует уникальность имён классов; CSS Modules дают техническую изоляцию через преобразование имён при сборке.
- Atomic CSS и Tailwind CSS участники связывают с сильной дизайн-системой: подход снижает произвольность стилей, но при прямом использовании utility-классов может ухудшать читаемость и DX.
- Менеджер состояния оправдан для действительно общего состояния, кэша и оркестрации загрузок; локальную логику страницы разумнее оставлять в компонентах, хуках или отдельных функциях.
- При подготовке к JavaScript-вопросам стоит уметь объяснить event loop: обработчики Promise попадают в очередь микрозадач, которая выполняется до перехода к следующей задаче, а бесконечная цепочка микрозадач способна блокировать интерфейс.