Что ты делаешь, когда не знаешь ответа на вопрос?
Что проверяют
Честность и мышление. Интервьюер почти всегда замечает, когда кандидат выдумывает; уверенная ложь закрывает собеседование быстрее, чем «не знаю». Ценится умение рассуждать от известного к неизвестному.
Скелет ответа
- Признать прямо: «Точно не скажу — с этим API не работал».
- Рассуждать вслух: что знаю о смежных вещах, какие принципы применимы, какой ответ был бы логичен и почему.
- Сказать, как проверил бы: документация, исходники, тест в playground, замер в Instruments.
- Уточнить вопрос: иногда «не знаю» означает «не понял формулировку».
- Не затягивать: 1–2 минуты рассуждений, затем «если нужно, вернёмся».
Пример ответа
Вопрос: «Что произойдёт с Task, если actor, в котором он создан, деинициализируется?»
«Честно, не проверял. Рассуждаю: Task не привязан к времени жизни актора — это не child task, он держит сильные ссылки на всё, что захватил. Если замыкание захватило self сильно, актор не деинициализируется, пока задача не завершится. Если [weak self] — задача продолжит выполняться, но self станет nil. Отмена сама по себе не произойдёт: для этого нужно хранить задачу и вызвать cancel() в deinit. Проверил бы в playground с print в deinit.»
Это ответ, который показывает модель мышления, даже если в деталях вы не уверены.