Перейти к содержимому
Alexander

Не знаю ответ на собеседовании: что говорить дальше

Что делать, если не знаете ответ: уточнить вопрос, рассуждать от известного и спокойно признать пробел. Примеры диалогов про теорию, код и проектирование.

Не знаю ответ на собеседовании: что говорить дальше

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

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

Три шага

  1. Уточните вопрос. Возможно, ответ вы знаете, просто не узнали формулировку. «Правильно понимаю, вы про…?» занимает пару секунд и иногда спасает весь ответ.
  2. Рассуждайте от того, что знаете. Расскажите, что вам известно о соседних вещах, и попробуйте прийти к ответу. Только честно отмечайте, где заканчиваются знания и начинается догадка: «Точно не знаю, но предположу…».
  3. Признайте пробел и скажите, как бы его закрыли. Коротко и без извинений: «Здесь не уверен. На работе я бы посмотрел в документации или проверил на маленьком примере».

Чего делать не стоит:

  • Блефовать. Интервьюер задаст уточняющий вопрос, и уверенная выдумка развалится. Это хуже, чем честное «не знаю».
  • Долго извиняться. Одного «не знаю» хватит, дальше переходите к делу.
  • Молчать. Даже «дайте подумать» лучше тишины.

Теория: вопрос, на который нет ответа

Самый просматриваемый вопрос в Go-разделе банка Sobes, почти 10 тысяч просмотров: «Как работает сборщик мусора в Go и как это влияет на производительность приложений?». Допустим, его устройство вы толком не знаете.

Интервьюер: Как работает сборщик мусора в Go?

Кандидат: Детально не знаю, глубоко не разбирался. Знаю, что он работает параллельно с программой и старается делать паузы короткими, поэтому в моих сервисах проблем с ним не было. Вам интереснее устройство или то, как он влияет на производительность?

Интервьюер: Давай влияние. Сервис начал тормозить, и ты подозреваешь сборщик мусора. Что делаешь?

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

Устройства кандидат не знает, но интервьюер узнал многое: где граница знаний, понимает ли человек, зачем это нужно, и как будет действовать на практике. Это куда лучше пересказа статьи, которую плохо помнишь.

Код: забыли, как это делается

На лайвкодинге часто вылетает из головы какая-нибудь мелочь: название метода, порядок аргументов, синтаксис. Главное здесь не застрять.

Кандидат: Не помню точно, как называется метод для этого. Напишу, как помню, и помечу комментарием. Проверим потом по документации, или считаем, что он так называется?

Интервьюер: Считаем, что так. Продолжай.

Если не знаете само решение задачи, начните с простого:

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

Рабочий медленный вариант почти всегда лучше двадцати минут поиска идеального. А пока вы его пишете, идея получше часто приходит сама. О том, как говорить во время решения, мы писали в статье «Лайвкодинг на собеседовании: что говорить вслух».

Проектирование: не работали с нужной технологией

Интервьюер: Как бы ты спроектировал рассылку уведомлений на 10 миллионов пользователей? Тут, наверное, понадобится Kafka.

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

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

Фразы, которые можно взять с собой

  • «Правильно понимаю, вопрос про…?»
  • «Точно не знаю, но рассуждал бы так…»
  • «Тут я на границе своих знаний. Вот это знаю, а дальше уже догадка».
  • «С этим инструментом не работал, но работал с похожим. Рассказать, как сделал бы на нём?»
  • «Не помню точно. На практике проверил бы в документации».
  • «Дайте полминуты подумать».

Если пользуетесь Copilot

Если на собеседовании запущен Sobes Copilot, он сам распознаёт вопрос и через несколько секунд выводит подсказку. Фразы выше помогают спокойно заполнить эти секунды.

После собеседования

Запишите вопросы, на которые не ответили, и разберите их в ближайшие дни. Как сделать это без самобичевания, мы писали в статье «Провалил собеседование: как разобрать ошибки».

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