HR-блог про IT рекрутинг от ИТ Кадрового агентства

Вопросы для собеседования Фронтендера

Вопросы для собеседования

Узнайте, как подготовиться к собеседованию с Frontend Developer, и узнайте о примерных вопросах по подбору персонала!

В задачи Frontend Developer входит, вкратце, подготовка тех элементов браузерного приложения или веб-сайта, которые конечные пользователи будут видеть и использовать ежедневно.
Таким образом, речь идет об общем макете веб-сайта, использовании API-интерфейсов, выпущенных бэкэнд-разработчиком, а также о том, чтобы приложение было разборчивым и эффективным, внедрении лучших практик в области пользовательского интерфейса и UX и уходе за приложением. правильно отрисовывать его интерфейс вне зависимости от того, будет ли он отображаться на десктопе, планшете или смартфоне. В отличие от Backend-разработчика, Frontend-разработчик отвечает за то, что видит конечный пользователь и как он взаимодействует с приложением, поэтому он может реально наблюдать за результатами своей работы на постоянной основе.
Важным элементом работы Frontend Developer также может быть тестирование, например A/B-тесты, где эффективность двух альтернативных решений проверяется «в продакшене», благодаря чему можно отслеживать поведение и активность пользователей и, на основе на их активность, принимать решения по улучшению фронтенда.

Интервью

В целом собеседование на позицию Frontend Developer может немного отличаться от собеседования по другим специализациям. Конечно, мы можем ожидать такие элементы, как общие вопросы для проверки soft skills кандидата, вопросы о мотивации, подходе к работе и планах на будущее.
На первом этапе рекрутер будет проверять не только то, что говорит кандидат, но и как, тем самым проверяя его коммуникативные навыки и умение четко доносить свои мысли. На следующих этапах обсуждение более технических тем, тесно связанных с фронтенд-дизайном.
В случае с Frontend Developer гораздо большую роль во время разговора будет играть портфолио. Если в случае с другими специализациями предоставление рекрутеру набора ранее разработанных проектов необязательно (хотя это очень хорошее свидетельство кандидата), то в случае с фронтендом это в основном обязательный элемент. Это, пожалуй, единственный способ для рекрутера проверить такие ключевые элементы фронтенд-компетентности, как подход к уже упомянутым UI и UX, общее чувство эстетики или умение проектировать понятные и отзывчивые интерфейсы.
И как лучше всего подготовить портфолио из уже разработанных проектов веб-сайтов и приложений? Конечно же, в виде еще одного сайта, который сам по себе станет отличным полем для хвастовства кандидата. Не забывайте демонстрировать свое портфолио в отраслевых и социальных сетях, особенно в LinkedIn.
Рекрутеры также ценят саму активность в социальных сетях и профилях, которые наиболее полно информируют о знании кандидатами индивидуальных навыков, языков или фреймворков. Сегодня профиль на LI — это в основном витрина кандидата, поэтому стоит убедиться, что он представлен соответствующим образом.

Ключевые вопросы

После введения и общей части наступает время следующего этапа собеседования, на котором будут проверяться конкретные технические компетенции. Как к нему подготовиться? Несомненно потребуются знания JavaScript, HTML и CSS . Без него сегодня сложно представить работу Frontend Developer, и, вероятно, именно JS, а возможно, еще HTML5 и CSS будут предметом некоторых вопросов при наборе. Конечно, это не конец — в ходе беседы вы также должны продемонстрировать знание одной из самых популярных библиотек и фреймворков для фронтенда:
  • Angular — бесплатный фреймворк с открытым исходным кодом, созданный в результате переписывания фреймворка AngularJS на TypeScript. Сегодня он более популярен, чем оригинал, и существенно от него отличается — вместо скоупов здесь используется иерархия компонентов, также Angular допускает большую модуляризацию приложения. Также рекомендуется писать код на TypeScript, а не на JavaScript, и, таким образом, использовать статическую типизацию и аннотации типов. Фреймворк будет хорошо работать при создании SPA, поддерживает RESTful API, предлагает двустороннюю привязку данных или внедрение зависимостей.
  • React.js — в то время как Angular разрабатывается под эгидой Google, React — результат работы разработчиков Facebook. В настоящее время он используется многими крупнейшими веб-сайтами в мире, во главе с Netflix. Характерной особенностью React является виртуальный DOM (VDOM), где разработчик сначала объявляет целевое состояние интерфейса, которое хранится в памяти, а затем фреймворк сам сравнивает DOM с VDOM. Еще одним отличием является Javascript XML (JSX), полезный формат, позволяющий встраивать фрагменты HTML и XML в код JavaScript.
  • Vue.js — фреймворк, работающий по модели MVVM, был основан на AngularJS и должен был стать его урезанной версией. В итоге функций обработки состояния или управления маршрутизацией мы здесь не увидим, но их можно добавить благодаря отдельным библиотекам. Как и React, этот фреймворк часто выбирают для создания SPA или одностраничных приложений. Важной особенностью является декларативный рендеринг, позволяющий описывать элементы в HTML на основе состояния JS и механизм, позволяющий обновлять DOM на основе изменений в JavaScript.
  • Svelte — написанный на TypeScript и набирающий популярность инструмент, генерирующий код, манипулирующий DOM. Следовательно, это не фреймворк сам по себе, что может напрямую выражаться в сокращении времени загрузки отдельных компонентов и уменьшении количества загружаемых с сервера файлов, необходимых для корректного отображения интерфейса приложения. Важным преимуществом является компилятор, который обрабатывает код в браузере пользователя при сборке приложения.
  • jQuery — JS-библиотека, популярность которой с каждым годом снижается, но ее знание может оказаться полезным при работе со старыми проектами. Благодаря большому количеству встроенных функций и большой библиотеке дополнений позволяет упростить манипуляции с элементами в HTML и DOM, внедрить на сайт готовые эффектные анимации и упростить работу с AJAX. Сила jQuery не только в облегчении работы программиста, но и в широкой совместимости.

Вопросы по подбору персонала

Чаще всего последним этапом собеседования являются рекрутинговые вопросы. Они могут потребовать как краткого ответа, так и более описательного объяснения проблемы.
Кроме того, вопросы также могут отличаться из-за специфики технологии, а базовый набор может быть расширен конкретными вопросами, связанными, например, с React.

Что такое ДОМ?

DOM, или Document Object Model, — одно из ключевых понятий в работе фронтенд-разработчика. DOM представляет собой структуру и иерархию всех элементов HTML и XML, составляющих документ: теги, атрибуты и информацию о том, как они связаны друг с другом. DOM был стандартизирован организацией W3C, что позволило определять классы и интерфейсы и управлять узлами, на которые ссылается JavaScript. Дерево DOM играет ключевую роль в отрисовке интерфейсов браузерными движками

Что такое события, отправленные сервером?

Отправленные сервером события — это API, который позволяет пересылать запросы в отношениях сервер-клиент, где клиент следует понимать как приложение. API, в отличие от WebSockets, допускает одностороннюю отправку сообщений, чаще всего сообщений о конкретных событиях, например, об изменениях на бэкенде или статусе (окончании) обработки элементов данных.

Что такое CORS?

CORS — это аббревиатура от Cross-Origin Resource Sharing, которая представляет собой механизм, позволяющий отправлять HTTP-запросы с одного веб-сайта на другой в обход механизмов безопасности в браузерах. CORS использует заголовок, в котором вы можете определить «безопасные» адреса и отправить запрос, который не будет заблокирован.

Что это XMLHttpRequest?

Это запрос, который обеспечивает асинхронную связь между клиентом и сервером. Он позволяет отправлять данные на сервер в фоновом режиме, запрашивать данные с сервера и получать данные с сервера, а также обновлять данные без необходимости обновления всей страницы.

Что такое файл манифеста в HTML5?

Файл манифеста — это файл, содержащий списки ресурсов, подлежащих кэшированию. Благодаря этому вы можете сознательно указывать определенные элементы таким образом, чтобы это приводило к более быстрой загрузке приложения или, например, когда элемент необходимо часто обновлять, также сигнализировать об этом. В файлах манифеста есть три типа (разделов) объектов: те, которые должны кэшироваться (CACHE Manifest), те, которые всегда загружаются (Network), резервные файлы, которые должны кэшироваться в случае сбоя приложения (Fallback).

В чем разница между display: noneи visibility: hidden?

Оба атрибута используются для скрытия элементов на странице. Однако на практике они работают по-разному. В то время как атрибут visible: hidden на самом деле только скрывает элемент, а тег отображается и для него будет зарезервировано видимое пространство, в случае display: none он вообще не будет отображаться на странице, и для него не будет места. , хотя с ним по-прежнему можно будет взаимодействовать через DOM.

В чем разница между стрелочной функцией и обычной функцией в JS?

Это функции с более коротким синтаксисом, использующие знак =>(отсюда и название). Кроме того, стрелочные функции не имеют этого отдельно, они используют контекст выполнения функции.

В чем разница между синхронным и асинхронным кодом?

В случае синхронного кода мы имеем дело с ситуацией, когда задачи выполняются последовательно, одна за другой и одна за другой. Противоположным является асинхронный код, который позволяет выполнять множество задач параллельно. В случае с фронтендом и JavaScript можно определять асинхронные функции, а также использовать промисы, о чем подробнее можно прочитать здесь .

Что такое CSS Grid?

Сетки CSS можно считать духовными преемниками таблиц, но они предлагают гораздо больше возможностей. С их помощью можно разделить вид на строки и столбцы, а затем, используя обычную нумерацию отдельных ячеек, определить диапазон прорисовки элемента. На практике для определения размеров и выравнивания объектов в HTML достаточно ввести DIV:
<div class="kontener"><div class="one">Jeden</div><div class="two">Dwa</div>
</div>
А в CSS назначьте их определенным ячейкам сетки:
.kontener {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
  grid-auto-rows: minmax(100px, auto);
}
.one {
  grid-column: 1 / 3;
  grid-row: 1;

}
.two {
  grid-column: 2 / 4;
  grid-row: 1 / 3;

В чем разница между CSS Grid и Flexbox?

Как мы уже установили, Grid создает двумерную сетку, состоящую из столбцов и строк. В случае флексбоксов используется отдельный подход, т.е. подход к расположению и выравниванию объектов на странице, где они появляются в одном «измерении»: по горизонтали или по вертикали.

Что такое препроцессоры?

Препроцессоры в CSS, такие как SASS или LESS, — это инструменты, расширяющие возможности CSS. CSS изначально сохраняется в файл, обычно с расширением SCSS, а затем «компилируется» в файл CSS. Препроцессоры позволяют далеко идущую автоматизировать работу со стилями, позволяют использовать передовой опыт за счет автоматической реализации DRY и даже позволяют использовать логику в CSS.

Что такое селектор атрибутов?

Это возможность назначать стили селектору, представленному в премьере CSS 3, не на основе имени или класса, а на основе его атрибутов HTML. Таким образом, селектор атрибутов можно применять ко всем объектам в документе, которые имеют, например, определенные размеры или ссылки, ведущие даже к определенным адресам.

Как определяется функция высшего порядка?

Функция высшего порядка — это функция, которая принимает другие функции в качестве параметров или функция, результатом которой также является функция. Примером функции высшего порядка является карта, которая возвращает список с результатами функции для всех элементов в заданном списке.
Наше агентство по подбору ИТ-персонала предлагает вам найти квалифицированных разработчиков за срок менее 2 недель. Свяжитесь с нами прямо сейчас, чтобы узнать подробнее о возможностях расширения вашего будущего проекта. Мы обеспечиваем подбор лучших кандидатов по разумной цене. За 10 лет работы в этой сфере мы успешно заполнили свыше 5500 вакансий и сформировали 25+ команд с нуля. Проверьте отзывы от наших клиентов об агентстве и убедитесь в нашей компетентности! Если требуются дополнительные рекомендации, пишите нам в Telegram.