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

20 вопросов, которые нужно задать веб-разработчику на собеседовании

Вопросы для собеседования
В наши дни Интернет — это тесная толпа. На данный момент во всемирной паутине размещено более 1,74 миллиарда веб -сайтов. Создание веб-страниц и приложений, которые людям понравится читать и к которым они будут возвращаться, непростая задача, особенно когда посетители решают, нравится ли им веб-сайт, в первые 50 миллисекунд его использования. Успех веб-проекта во многом зависит от квалификации веб-разработчика, которого вы наняли для его создания. Вот почему владельцы бизнеса должны серьезно относиться к процессу собеседования с кандидатами.
В этом посте мы рассмотрим 20 технических и нетехнических вопросов для интервью с веб-разработчиками, которые позволят вам быстро и безошибочно определить, подходит ли человек перед вами для команды.

10 нетехнических вопросов для интервью веб-разработчикам

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

1. За какими блогами, информационными бюллетенями или веб-сайтами вы следите?

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

2. Вы одиночка или работаете в команде?

Этот вопрос позволяет найти кандидатов, соответствующих культуре вашего проекта. Некоторые менеджеры команд ищут независимых начинающих, которые не задают много вопросов на собеседовании веб-разработчикам и полностью сосредоточены на прогулке, а не просто на разговорах.
С другой стороны, есть владельцы бизнеса, которые предпочитают динамичную рабочую среду, основанную на дискуссиях. Если это ваш случай, лучше найти разработчика, который любит мозговой штурм, сеансы обратной связи и общение между коллегами.

3. Вам удобно писать HTML с нуля?

Вопреки тому, что говорится в большинстве образцов резюме веб-разработчика, в последнее время не так просто найти программиста, который может писать чистый HTML-код без использования сторонних инструментов.
Хотя кодирование с нуля не является навыком, который современный веб-программист использует во всех повседневных задачах, вы должны убедиться, что кандидат независим и ему не всегда нужны вспомогательные технологии для создания веб-проектов.
Каковы способы проверить знание HTML разработчика? Самый простой — попросить кандидата написать схему воображаемого веб-сайта. Следите за отсутствующими тегами и атрибутами в коде, который сдает разработчик.

4. Что вы знаете о W3C?

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

5. Какие навыки вы хотели бы улучшить на работе?

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

6. Какие веб-сайты вы бы отнесли к «хорошо разработанным» и почему?

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

7. Понимание сокращений

Хотя большинству разработчиков не нравятся теоретические вопросы из учебников, упущение основ — характерная черта программиста-любителя.
Когда вы просите программиста объяснить, что означают технические сокращения, не вдавайтесь слишком глубоко. Вот несколько обязательных понятий, которые вы можете попросить кандидата расшифровать.
  • АЛГОЛ – алгоритмический язык.
  • CLI — интерфейс командной строки
  • HTML — язык гипертекстовой разметки
  • SPA – одностраничное приложение
  • CSS — каскадные таблицы стилей.

8. Какой браузер вы используете?

В идеале вы хотите найти кандидата, который ответит на этот вопрос «все» или «много». Хотя иметь избранное и личные предпочтения — это нормально, программист должен хорошо разбираться в деталях кросс-браузерной совместимости.
Дополнительный совет: при обсуждении кросс-браузерной оптимизации узнайте, установил ли кандидат какие-либо панели инструментов (спойлер: «да» — это тот ответ, который вам нужен).

9. Дайте мне знать, насколько вы взволнованы следующими задачами:

Попросите кандидата оценить свое желание участвовать в рабочих процессах от 1 до 5 (или по другой шкале). Таким образом, у вас будет четкое понимание того, в каких задачах будущий сотрудник хочет и не хочет участвовать.
Вот несколько примеров процессов, которые собеседование может представить кандидату:
  • Написание внешнего кода.
  • Написание внутреннего кода.
  • Планирование и разработка стратегии.
  • Предоставление клиентам или конечным пользователям технической поддержки.
  • Оптимизируйте проект под разные браузеры/устройства
  • Принятие решений, связанных с дизайном.

10. Каковы масштабы предпочитаемых вами проектов?

При поиске полнофункционального веб-разработчика стремитесь найти профессионала, чей опыт работы наиболее близок к проекту, который вы создаете.
Например, если вы планируете масштабную платформу, идеальный кандидат должен знать, как справляться с проектами с большим трафиком.
С другой стороны, разработчикам, имеющим опыт создания небольших продуктов, не составит труда настроить Apache или оптимизировать SQL-запросы.

10 технических вопросов для интервью по веб-разработке

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

1. Используете ли вы AJAX в своих проектах? Если да, то почему?

Если кандидат, у которого вы проводите собеседование, не очень хорошо общается, вы можете ухмыльнуться или пожать плечами на этот вопрос. Хотя вопрос сам по себе является базовым, он отлично подходит для проверки навыков программиста объяснять технические термины простым языком, а также показывает, насколько хорошо разработчик разбирается в основах.
AJAX означает асинхронный JavaScript и XML. Эта технология используется для создания более быстрых интерактивных веб-приложений и значительно повышает скорость работы приложений.

2. Определите разницу между функциональными и нефункциональными требованиями

Функциональные требования — это те, которые непосредственно относятся к функциям продукта (процессам, страницам и т. д.). С другой стороны, нефункциональные требования применимы к системе в целом, устанавливая контрольные показатели производительности, безопасности, доступности или масштабируемости.

3. Каков ваш опыт работы с SQL?

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

4. Опишите принцип работы алгоритма A*.

В веб-разработке алгоритм используется для обхода графов и поиска путей. Разработчики запускают алгоритм для оценки стоимости достижения узла B, начиная с узла A. Чтобы сгруппировать узлы в очереди и назначить оценку каждому из них, алгоритм A* использует формулу:
f(n) = g(n) + h(n)
В формуле g(n) — это стоимость достижения рассматриваемого узла, h(n) — эвристическая функция, а f(n) выражает узел с наименьшей оценочной стоимостью.
Алгоритм завершает свой путь, когда последний узел расширяется и обозначается как f(n).

5. Дайте определение и описание CORS

CORS (сокращение от совместного использования ресурсов между источниками) — это инструмент, который позволяет разработчикам запрашивать ресурсы из другого домена. Это мощный способ стимулировать обмен ресурсами, которые не имеют общего происхождения.
CORS поддерживает HTML5 и реализует XML HttpRequest для доступа к каталогам домена.
CORS открывает доступ к источникам, назначая им новые заголовки HTTP. Помимо стандартных тегов GET/POST, браузеры должны использовать ОПЦИИ HTTP. После получения запроса сервер делится с клиентом всеми доступными методами.

6. Что такое долгий опрос?

Длительный опрос — один из самых популярных шаблонов разработки веб-приложений. Он эмулирует отправку данных для установления соединения между сервером и клиентом. Когда оба активны, отправляется фактический запрос на отправку данных, и обмен завершается.
После закрытия обмена клиент создает обмен с нуля, повторно открывая цикл.
Убедитесь, что кандидат говорит пару слов о недостатках длинных опросов. Вот несколько соображений, которые веб-разработчик-фрилансер должен упомянуть при ответе на вопрос:
  • Невозможно отличить длинный запрос на опрос от других HTTP-запросов. Вот почему длительный опрос имеет тенденцию злоупотреблять системными ресурсами, что приводит к тайм-аутам соединения.
  • Максимальное количество подключений для длительного опроса зависит от браузера. Это означает, что на некоторых клиентах приложение может работать значительно медленнее, чем на других.
Хороший способ продолжить обсуждение продолжительного опроса — попросить кандидата предложить альтернативный вариант. Вместо этого разработчик должен предложить использовать WebSocket, так как это увеличивает количество взаимодействий между сервером и клиентом и повышает производительность веб-приложения.
Другой способ обойти длительный опрос — использовать вместо этого события DOM, отправленные сервером. Хотя переход на этот метод увеличивает количество взаимодействий, он не поддерживается некоторыми распространенными браузерами, такими как Internet Explorer.

7. Опишите разницу между протоколами без сохранения состояния и с сохранением состояния.

Ответ :
  • Протокол связи без сохранения состояния рассматривает запросы как независимые транзакции. Таким образом, не требуется сохранение сеанса от имени сервера или ответчика. HTTP является примером протокола без сохранения состояния, поскольку он не сохраняет информацию о пользователе при обработке запросов.
  • Протокол с отслеживанием состояния характеризуется фиксированным состоянием ответчика, что означает, что его идентификатор, данные сеанса, статус и другие свойства не меняются при большом количестве запросов. Серверы могут реализовывать протоколы с отслеживанием состояния различными способами. Наиболее распространенными являются настраиваемые заголовки, файлы cookie или формы.

8. Опишите разницу между POST и GET

Прежде чем углубляться в различия, кандидат должен упомянуть, что POST и GET — это методы, используемые для обработки HTTP-запросов.
Основная цель GET — загрузка данных, а POST — загрузка данных. Однако стоит отметить, что вы можете использовать GET для загрузки данных, а также для загрузки с помощью POST.

9. Почему разработчики предпочитают использовать HTTP/2 вместо HTTP 1,1?

Использование HTTP/2 повышает производительность веб-страницы или веб-приложения. Вот как протокол помогает веб-разработчикам уменьшить задержку:
  • Реализует push-уведомление сервера
  • Сжимает содержимое заголовков HTTP
  • Приоритет запросов
  • Поддерживает параллельную загрузку элементов без прерывания TCP-соединения.
  • Не имеет проблемы с блокировкой очереди, с которой столкнулись веб-разработчики в случае HTTP1/1.

10. Что такое MIME?

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