DevPrep

Все темы › Soft skills собеседования

Что ты делаешь, когда не знаешь ответа на вопрос?

Junior

Что проверяют

Честность и мышление. Интервьюер почти всегда замечает, когда кандидат выдумывает; уверенная ложь закрывает собеседование быстрее, чем «не знаю». Ценится умение рассуждать от известного к неизвестному.

Скелет ответа

  1. Признать прямо: «Точно не скажу — с этим API не работал».
  2. Рассуждать вслух: что знаю о смежных вещах, какие принципы применимы, какой ответ был бы логичен и почему.
  3. Сказать, как проверил бы: документация, исходники, тест в playground, замер в Instruments.
  4. Уточнить вопрос: иногда «не знаю» означает «не понял формулировку».
  5. Не затягивать: 1–2 минуты рассуждений, затем «если нужно, вернёмся».

Пример ответа

Вопрос: «Что произойдёт с Task, если actor, в котором он создан, деинициализируется?»

«Честно, не проверял. Рассуждаю: Task не привязан к времени жизни актора — это не child task, он держит сильные ссылки на всё, что захватил. Если замыкание захватило self сильно, актор не деинициализируется, пока задача не завершится. Если [weak self] — задача продолжит выполняться, но self станет nil. Отмена сама по себе не произойдёт: для этого нужно хранить задачу и вызвать cancel() в deinit. Проверил бы в playground с print в deinit.»

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

Потренируйтесь перед собеседованием

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

Скачать DevPrep в App Store