Вопросы на собеседовании программиста: как готовиться
Знакомая история: вы знаете стек, годами пишете рабочий код, а на собеседовании начинаете плыть на простом вопросе, который вслух почему-то звучит совсем не так гладко, как в голове. Проблема здесь редко в знаниях. Проблема в том, что собеседование это отдельный навык, и он тренируется не чтением списков вопросов, а проговариванием ответов.
Второй частый сценарий: человек скачивает подборку «100 вопросов на собеседовании», читает её глазами, кивает («это знаю, это знаю») и приходит на созвон неподготовленным. Прочитать вопрос и суметь связно ответить на него вслух под давлением это разные умения. Ниже разберём, какие вопросы задают на самом деле, как готовиться системно и почему репетиция вслух даёт больше, чем ещё одна прочитанная статья.
Готовиться к собеседованию значит репетировать, а не читать
Собеседование это устный жанр. Вы отвечаете вслух, в реальном времени, когда на вас смотрят и оценивают, иногда перебивают уточняющим вопросом. Ни один из этих факторов не тренируется чтением. Можно знать ответ идеально и всё равно провалить формулировку: потерять мысль на середине, уйти в детали и забыть про суть, замолчать на десять секунд, которые кажутся минутой.
Отсюда главный принцип подготовки: всё, что вы собираетесь рассказать на собеседовании, нужно хотя бы раз произнести вслух заранее. Рассказ о себе, историю по каждому ключевому проекту, объяснение решения по типовому техническому вопросу. Первый раз всегда выходит рваным, и лучше, чтобы этот первый раз случился дома, а не перед нанимающим менеджером.
Из чего состоит техническое собеседование: пять типов вопросов
Почти любое собеседование разработчика собирается из пяти блоков. Их пропорции меняются от компании к компании, но набор устойчивый. Если понимать, что перед вами за тип вопроса, отвечать становится легче: у каждого своя логика.
«Расскажите о себе»
Открывающий вопрос почти всегда. Ошибка номер один: пересказ резюме с первого курса института. Интервьюеру нужен не таймлайн, а быстрая картина, зачем вы здесь и почему подходите. Рабочая структура на полторы минуты: кто вы и сколько лет в ключевой области, два-три проекта ближе всего к этой вакансии, что ищете сейчас и почему эта роль логична.
Этот ответ стоит написать заранее и проговорить до состояния, когда он звучит естественно, а не заучено. Он задаёт тон всему разговору и во многом определяет, какие вопросы вам зададут дальше: интервьюер цепляется за то, что вы сами вынесли вперёд.
Вопросы по прошлым проектам и опыту
Ядро собеседования для middle и senior. «Расскажите про самый сложный проект», «почему выбрали именно это решение», «что бы сделали иначе». Здесь проверяют не факты из резюме, а глубину: понимаете ли вы, почему система устроена так, а не иначе, видите ли компромиссы, отделяете ли своё от командного.
Готовиться к этому блоку удобнее всего через свои же проекты: возьмите 3–4 главных и по каждому проговорите контекст, вашу роль, ключевое техническое решение и его цену. Кстати, ровно эти истории потом ложатся в основу сильного сопроводительного письма и помогают на этапе, когда резюме уже прошло скрининг.
Технические вопросы по стеку
То, что чаще всего и называют «вопросами на техническом собеседовании»: как работает event loop, чем отличается процесс от потока, что происходит при запросе к базе, как устроен HTTP. Здесь важно не только знать ответ, но и уметь развернуть его на нужную глубину и честно сказать «не сталкивался», когда не сталкивались.
Ключевой лайфхак: готовьтесь по стеку из конкретной вакансии, а не по всему языку сразу. Если в требованиях React, TypeScript и REST, повторяйте их, а не спрашивайте себя про метаклассы, которых в вакансии нет. Разобрать вакансию на требования это та же работа, что и при адаптации резюме под вакансию: один разбор закрывает сразу два этапа.
Алгоритмы и live coding
Задача, которую нужно решить прямо в редакторе или на доске, проговаривая ход мысли. Пугает сильнее всего, но проверяется здесь не столько знание алгоритмов, сколько то, как вы рассуждаете: задаёте ли уточняющие вопросы, проговариваете ли решение до кода, оцениваете ли сложность.
В большинстве продуктовых и аутсорс-компаний РФ хватает уверенного среднего уровня: хеш-таблицы, два указателя, базовая оценка сложности, аккуратный SQL. Плотная алгоритмическая прокачка нужна точечно, под компании, где отдельный алгоритмический этап заявлен прямо. Главный навык тут снова устный: решать молча и решать, комментируя каждый шаг, это очень разный опыт.
Поведенческие вопросы
«Расскажите о конфликте в команде», «о своей крупной ошибке», «о ситуации, где пришлось спорить с менеджером». Поведенческое интервью проверяет не технику, а то, как вы работаете с людьми и с провалами. Универсальный каркас ответа: ситуация, ваши действия, результат и что вынесли. Без обвинения бывших коллег и без «идеальных» историй, где вы всегда правы.
Заранее заготовьте 3–4 реальные истории (конфликт, ошибка, сложное решение, помощь коллеге), которые можно подставить под большинство поведенческих вопросов. Проговорите их вслух: именно здесь чаще всего люди сыпятся, начиная оправдываться или уходя в бесконечные детали.
Примеры вопросов по ролям
Списки ниже не для зубрёжки, а чтобы прикинуть охват и найти пробелы. Отметьте те, на которые не можете ответить вслух связно за минуту, они и есть ваш план подготовки.
Frontend
- Как работает event loop, чем отличаются microtasks и macrotasks?
- Что такое замыкание и где вы его реально применяли?
- Как работает reconciliation в React, зачем нужны ключи в списках?
- Разница между
let,const,varи почему это важно на практике? - Как бы вы оптимизировали медленный рендер большого списка?
- Чем отличается CSR от SSR и когда что выбирать?
Backend и Python
- Чем процесс отличается от потока, что такое GIL и на что он влияет?
- Что происходит от ввода URL до ответа сервера?
- Как устроены индексы в базе, когда они не помогают?
- В чём разница между списком и кортежем, изменяемыми и неизменяемыми типами?
- Как бы вы спроектировали API для такой-то задачи (проектный вопрос)?
- Что такое идемпотентность и где она важна?
Junior
- Что такое ООП и его принципы своими словами?
- Разница между массивом и связным списком, когда что?
- Что вы делаете, когда застряли на задаче?
- Расскажите про свой пет-проект: что делает, почему такие технологии?
- Что такое Git и как вы работаете с ветками?
- Как вы проверяете, что ваш код работает?
Для джунов техническая глубина обычно ниже, но выше вес мотивации и обучаемости. Если пока мало опыта, отдельно проработайте истории про пет-проекты и учёбу: часто именно они решают на собеседовании джуна больше, чем ответ про сортировку.
Как готовиться системно: план на несколько дней
Хаотичная подготовка («почитаю что-нибудь про JS») не работает. Работает короткий план, привязанный к конкретной вакансии.
- Разберите вакансию на 5–7 требований. Выпишите ключевые технологии и обязанности из текста. Это ваша карта: готовимся под них, а не «вообще».
- Под каждое требование найдите пример из опыта. Где вы это делали, что за задача, какой результат. Эти примеры закрывают и вопросы по проектам, и половину технических.
- Освежите базу точечно. Повторите теорию по стеку из вакансии, а не весь язык. Слабые места из списков выше подтяните адресно.
- Заготовьте истории для поведенческого блока. 3–4 реальные ситуации по каркасу «ситуация, действия, результат, вывод».
- Проговорите всё вслух. Рассказ о себе, истории проектов, ответы на 6–8 типовых вопросов. Вслух, засекая время.
Первые четыре шага это подготовка материала. Пятый превращает материал в навык, и именно его чаще всего пропускают.
Почему проговаривать вслух важнее, чем читать
Между «я знаю ответ» и «я могу внятно ответить вслух под наблюдением» лежит пропасть, в которую проваливаются даже сильные инженеры. Мозг, читающий текст, и мозг, формулирующий речь в реальном времени, работают по-разному. Первый узнаёт, второй порождает, и тренируется только второй, когда вы реально говорите.
Идеально репетировать с живым человеком, который отыгрывает интервьюера и задаёт уточняющие вопросы. Но собрать такого человека под каждую вакансию сложно: друзья заняты, ментор не всегда под рукой, а перед реальным собеседником страшно позориться черновыми ответами. Поэтому имеет смысл прогнать симуляцию заранее, в безопасном режиме, где можно ошибаться сколько угодно.
Для этого в phew есть AI мок-интервью: тренажёр, который проводит собеседование по вашей вакансии и грейду, задаёт вопросы всех пяти типов, включая уточняющие, а в конце даёт разбор: где ответ поплыл, где не хватило конкретики, что подтянуть. Это ровно та репетиция вслух, которую негде взять, и её можно повторять хоть каждый день без стеснения. Не замена реального опыта, а способ прийти на настоящий созвон уже не в первый раз.
phew проведёт мок-интервью по вашей вакансии и грейду, задаст вопросы всех типов и разберёт, где ответ поплыл. Повторять можно сколько угодно.
Чек-лист подготовки
Пройдитесь перед собеседованием:
- Вакансия разобрана на 5–7 ключевых требований.
- Под каждое требование есть пример из опыта.
- Рассказ о себе проговорён вслух и укладывается в ~1,5 минуты.
- 3–4 главных проекта: могу рассказать контекст, решение, его цену.
- Освежена база по стеку именно из этой вакансии.
- Заготовлены 3–4 истории для поведенческих вопросов.
- Прорешаны 1–2 десятка алгоритмических задач (если этап заявлен).
- Готовы 3–5 вопросов работодателю на конец.
- Проверены техника, связь, тихое место, работающая камера.
- Хотя бы одна полная репетиция вслух пройдена.
Если отмечены все пункты кроме последнего, вы готовы на бумаге, но не готовы на слух. Последний пункт закрывает именно этот разрыв.
Частые ошибки на собеседовании
- Читал вопросы глазами, не говорил вслух. Самая частая и самая дорогая. «Узнаю ответ» ощущается как «знаю ответ», пока не приходится произносить.
- Пересказ резюме вместо рассказа о себе. Таймлайн с института усыпляет и тратит первые важные минуты впустую.
- Молчание вместо рассуждения в live coding. Проверяют ход мысли, а не телепатию. Молча идеальное решение хуже, чем среднее вслух.
- Блеф про незнакомые технологии. Вписал в резюме то, чего не знаешь, и первый же уточняющий вопрос это вскрывает. Честное «не работал, но разбирался в основах» всегда лучше.
- Ноль вопросов в конце. Читается как безразличие к позиции. Даже пара вопросов сильно меняет впечатление.
- Готовился «вообще», а не под вакансию. Распыление сил на весь язык вместо требований конкретной роли.
Что спросить самому в конце
Финальное «а у вас есть вопросы?» это не формальность, а ваш этап оценки работодателя и заодно ещё один момент, где вы производите впечатление. Сильные вопросы:
- Как устроен процесс разработки: код-ревью, тесты, релизы?
- Что сейчас с техдолгом и как команда с ним живёт?
- Как выглядит типичная рабочая неделя разработчика на этой роли?
- Кто ставит задачи и как принимаются технические решения?
- Что будет считаться успехом на испытательном сроке?
Эти вопросы показывают, что вы выбираете команду так же серьёзно, как она выбирает вас. Особенно это уместно на уровне middle и senior, где ожидания к самостоятельности выше, и здоровый интерес к процессам работает в плюс.
Коротко
- Собеседование это устный навык: тренируется проговариванием вслух, а не чтением списков.
- Пять типов вопросов: о себе, по проектам, по стеку, алгоритмы, поведенческие. Понимая тип, легче отвечать.
- Готовьтесь под конкретную вакансию: разберите её на 5–7 требований и под каждое найдите пример.
- Заготовьте рассказ о себе и 3–4 истории для поведенческого блока, проговорите их вслух.
- Списки вопросов по ролям используйте как карту пробелов, а не как материал для зубрёжки.
- Обязательно прогоните хотя бы одну полную репетицию вслух, лучше в формате мок-интервью с обратной связью.
- Подготовьте вопросы работодателю: это и ваша оценка команды, и часть впечатления о вас.
Частые вопросы
Обычно пять блоков: короткий рассказ о себе, разбор ваших прошлых проектов, вопросы по стеку из вакансии, иногда задача на алгоритмы или live coding и поведенческие вопросы про конфликты, ошибки и работу в команде. Соотношение блоков зависит от компании: в продукте больше про проекты и продукт, в бигтехе больше про алгоритмы. Точный состав почти всегда виден по тексту вакансии и описанию этапов найма.
Вставь резюме и вакансию — получи скор, список пробелов и подсказку для сопроводительного.
Начать бесплатно