Собеседование pair programming: чего ожидать и как готовиться

Автор: Aaron Cao · Обновлено

Собеседование pair programming: чего ожидать и как готовиться
На собеседовании pair programming вы вместе с инженером пишете настоящий код — обычно в общем редакторе или в своей IDE с демонстрацией экрана, часто над небольшой фичей или багом в реалистичной кодовой базе. Интервьюеры оценивают умение работать в паре, коммуникацию и такие привычки, как тестирование, а не только то, довели ли вы задачу до конца.

На собеседовании pair programming вы вместе с инженером пишете настоящий код — обычно в общем редакторе или в своей IDE с демонстрацией экрана, часто над небольшой фичей или багом в реалистичной кодовой базе. Интервьюеры оценивают умение работать в паре, коммуникацию и такие привычки, как тестирование, а не только то, довели ли вы задачу до конца.

Чем собеседование pair programming отличается от кодингового теста?

Если вы готовились в основном с помощью алгоритмических головоломок, раунд pair programming может показаться непривычным. В этом разделе объясняется, чем он отличается и как это меняет вашу подготовку. Короткий ответ: вас оценивают как будущего члена команды, а не как решателя головоломок.

Сессия обычно проходит одним из трёх способов: общий редактор в браузере, ваша собственная IDE с демонстрацией экрана, либо продолжение уже выполненного тестового домашнего проекта. Задача чаще всего напоминает повседневную работу — например, добавить правило валидации, починить падающий тест или отрефакторить функцию. В некоторых компаниях меняются ролями, так что часть сессии вы проводите как «driver», который печатает код, а часть — как «navigator», который направляет.

Что оценивают интервьюеры?

  • Уточняющие вопросы. Уточняете ли вы требование и что значит «готово», прежде чем писать код.
  • Проговаривание мыслей вслух. Может ли напарник следить за вашим планом, не переспрашивая.
  • Постепенный прогресс. Небольшие рабочие шаги вместо одного крупного изменения в самом конце.
  • Тестирование. Пишете ли вы или запускаете тест, чтобы доказать, что изменение работает.
  • Чтение кода. Насколько быстро вы ориентируетесь в коде, который написали не вы.
  • Восприятие обратной связи. Как вы реагируете на подсказку или другую идею от напарника.

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

Как выглядит хорошая сессия pair programming?

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

Именно такой процесс — уточнение, тестирование в первую очередь, небольшие изменения и обсуждение дизайна — большинство раундов pair programming и стремятся увидеть.

Как готовиться и при чём здесь SubcueAI?

Позанимайтесь pair programming с другом над небольшой задачей в незнакомом репозитории и потренируйтесь проговаривать свои действия вслух. Заранее настройте окружение, если будете использовать собственную IDE: проект должен собираться, а тесты — проходить ещё до начала звонка. Инструмент для тренировочного собеседования помогает с разговорной частью — например, объяснением дизайнерского решения или прошлого проекта.

Будьте реалистичны насчёт live-инструментов в этом формате. Pair programming тесно связан с демонстрацией экрана, и всё, что вы показываете, видно напарнику; интервьюер тоже наблюдает, как вы пишете код в реальном времени. SubcueAI транскрибирует речь интервьюера и готовит черновики пунктов ответа во время обсуждаемых частей видеособеседования — из десктопного приложения или расширения браузера, без какого-либо бота в звонке. Само написание кода полностью на вас, а прокторинговые среды и устройства, управляемые компанией, не поддерживаются. Подробности настройки — на странице руководства.

Частые вопросы

Можно ли что-то искать во время собеседования pair programming?

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

Что делать, если я застрял на собеседовании pair programming?

Скажите, на чём именно вы застряли и что уже пробовали, а затем задайте конкретный вопрос. Pair programming задуман как совместная работа, поэтому умение задать хороший вопрос — тоже часть оценки.

Обязательно ли доводить задачу до конца?

Не всегда. Иногда задачи специально делают больше, чем позволяет время. Аккуратный, протестированный прогресс и чёткая коммуникация обычно важнее, чем выполнение всех требований.

Каким языком я буду пользоваться?

Это зависит от компании. Если задача использует реалистичную кодовую базу, язык обычно фиксирован; иначе вы, возможно, сможете выбрать сами. Проверьте приглашение и спросите у рекрутера, если это неясно.

Похожие вопросы

← Подробнее: Типы собеседований