hihrinterview

Подготовка к собеседованию

Собеседование на программиста: вопросы, ответы и разбор

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

Пройдите собеседование с ИИ по этой профессии

ИИ задаст вопросы по роли «Программист», выслушает ответы голосом и покажет, где не хватило фактов. Первый персональный разбор бесплатно, без регистрации.

Пройти собеседование с ИИ

Должность подставится автоматически. Резюме и описание вакансии можно не загружать.

Как обычно проходит встреча

Этапы собеседования и их длительность1Разговор с рекрутёром20 до 30 минутСверяют стек, уровень,ожидания по деньгам и форматуработы. Технических вопросов2Техническая секция60 до 90 минутВопросы по языку иинструментам, задача на живоекодирование, иногда разбор3Проектирование и разговор…60 минутНа позициях выше начальногопросят спроектировать сервис иобсуждают компромиссы. Плюс
Типичный порядок встреч на позицию «Программист». В небольших компаниях первые два этапа часто объединяют в один разговор.
  • Разговор с рекрутёром20 до 30 минут

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

  • Техническая секция60 до 90 минут

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

  • Проектирование и разговор с командой60 минут

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

Что на самом деле оценивают

Ход мысли вслух

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

Уточнение требований

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

Честность про незнание

Признать «не знаю, но рассуждал бы так» это сильный ответ. Попытка убедительно выдумать это провал доверия.

Понимание своего кода

По прошлым проектам спрашивают, почему выбрано именно так и что бы вы поменяли сейчас. Ответ «так было принято» звучит слабо.

Вопросы и разбор ответов

1Расскажите про задачу, которая оказалась сложнее, чем выглядела.

Что проверяют. Реальный опыт и глубина участия. Заготовленные истории про переписывание всего с нуля видно сразу.

Слабый ответ

«Была сложная задача, я разобрался и всё заработало». Ни сути проблемы, ни решения, ни вашей роли.

Сильный ответ

«Форма отправляла заказ дважды при медленной сети. Воспроизвести локально не получалось, поймал по логам: пользователи нажимали кнопку повторно, а защиты от повторной отправки не было. Сделал блокировку кнопки на время запроса и, что важнее, ключ идемпотентности на стороне сервера, потому что клиентская защита не спасает при повторе запроса. Задним числом стоило начать с сервера, я потерял день на клиентской части».

2Как вы будете решать задачу, если не знаете подхода?

Что проверяют. Поведение в тупике, самая частая ситуация в реальной работе.

Слабый ответ

«Погуглю» как единственный ответ. Или молчание в ожидании подсказки.

Сильный ответ

«Сначала свожу задачу к тому, что понимаю: решаю упрощённый случай, даже неоптимально, чтобы был рабочий вариант. Проговариваю вслух, что именно непонятно, потому что часто на этом и находится решение. Смотрю, встречалась ли похожая задача в проекте. Если через разумное время не двигаюсь, иду к коллеге с конкретным вопросом и с тем, что уже попробовал, а не с общим «не получается»».

3Вам дали задачу, но требования противоречивы. Ваши действия?

Что проверяют. Не начнёте ли вы писать код по догадкам.

Слабый ответ

«Сделаю, как понял, потом переделаем». Самый дорогой путь: переделка обычно стоит дороже вопроса.

Сильный ответ

«Иду к постановщику с конкретными вариантами, а не с вопросом «что делать». Формулирую: если понимать так, получится вот это поведение, если иначе, вот это, какой вариант нужен. Фиксирую ответ письменно в задаче. Если постановщик недоступен, реализую наиболее вероятный вариант так, чтобы его было дёшево изменить, и явно помечаю это допущение».

4Что вы делаете, чтобы ваш код не сломал то, что уже работает?

Что проверяют. Отношение к качеству и понимание, что программист отвечает не только за новую функцию.

Слабый ответ

«Проверяю вручную перед сдачей». На проекте больше пары человек этого не хватает.

Сильный ответ

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

5Чем отличается ваш код сейчас от того, что вы писали год назад?

Что проверяют. Растёте ли вы и способны ли критически смотреть на себя.

Слабый ответ

«Стал писать быстрее и знаю больше библиотек». Количественный рост без изменения подхода.

Сильный ответ

«Раньше старался сразу написать универсально, на все случаи. Сейчас пишу простое решение под текущую задачу и усложняю, только когда появился второй реальный случай: универсальность на будущее почти всегда оказывалась не тем, что понадобилось. Ещё стал больше писать в названиях и в структуре, а не в комментариях: комментарии устаревают, а имя переменной читают всегда».

6На ревью ваш код раскритиковали. Как отреагируете?

Что проверяют. Совместимость с командой, часто решающий фактор при равных навыках.

Слабый ответ

«Объясню, что мой вариант лучше» или молча всё переделать без понимания.

Сильный ответ

«Разделяю замечания на две группы. Где ревьюер прав или это вопрос принятого в команде стиля, просто исправляю без спора. Где не согласен, спрашиваю причину: часто за замечанием стоит контекст, которого я не знал. Если после объяснения остаюсь при своём, аргументирую конкретикой, а не вкусом. Затягивать спор в комментариях не стоит, быстрее обсудить голосом за пять минут».

Как построить ответ, чтобы его засчитали

Четыре части сильного ответа: ситуация, задача, действия, результат1СитуацияГде это было и чтопроисходило2ЗадачаЧто нужно было сделатьи почему это былотрудно3ДействияЧто сделали лично вы,а не команда4РезультатЧем закончилось,желательно числомБез четвёртой части ответ звучит как рассказ. С ней это доказательство.
Порядок, в котором ответ звучит убедительно. Работает для любого вопроса про опыт, включая вопросы для роли «Программист».

Репетиция самопрезентации

Проверьте, как ваши ответы звучат вслух

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

Проверить свои ответы бесплатно

Ошибки, которые чаще всего стоят оффера

  • Решать задачу молча, не проговаривая ход мысли
  • Начинать писать код, не уточнив условия и крайние случаи
  • Выдумывать ответ вместо признания незнания
  • Приписывать себе командный результат в рассказе о проекте
  • Критиковать код и решения прошлой команды
  • Не задать ни одного вопроса про процессы, ревью и тестирование

Свои факты, которые стоит вспомнить заранее

Большая часть провальных ответов это не незнание, а невозможность вспомнить конкретику под давлением. Выпишите это до встречи.

  • Стек и уровень владения по каждому пункту, честно
  • Один проект, который можете разобрать по деталям и обосновать решения
  • Размер команды и ваша роль в ней
  • Один случай, когда вы ошиблись и как это исправили
  • Ссылки на код или проекты, если они открыты

Чек-лист перед встречей

  • Перечитать собственный код полугодовой давности и подготовиться его объяснить
  • Порешать задачи вслух, проговаривая рассуждение, а не про себя
  • Подготовить рассказ про сложную задачу по схеме: проблема, попытки, решение, вывод
  • Проверить оборудование и связь, если собеседование удалённое
  • Приготовить вопросы: как устроено ревью, есть ли тесты, как попадает задача в работу

Пройдите собеседование с ИИ по этой профессии

ИИ задаст вопросы по роли «Программист», выслушает ответы голосом и покажет, где не хватило фактов. Первый персональный разбор бесплатно, без регистрации.

Пройти собеседование с ИИ

Должность подставится автоматически. Резюме и описание вакансии можно не загружать.

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

Что делать, если не решил задачу на живом кодировании?

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

Нужно ли готовиться к алгоритмам?

Зависит от компании. В крупных продуктовых компаниях алгоритмическая секция обычно есть, в небольших командах чаще дают практическую задачу по стеку. Уточните формат у рекрутёра заранее, это нормальный вопрос и он экономит недели подготовки не в ту сторону.

Как отвечать про зарплату на техническом собеседовании?

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

Собеседования на смежные должности

Как подготовлен этот материал

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

Материал обновлён 20.08.2026. Разбор основан на типовой практике найма и не содержит гарантий по результату конкретного собеседования.