Какие последние интересные задачи вы решали на проектах
Что проверяют
Умеете ли вы рассказать о своей работе так, чтобы собеседник понял масштаб задачи и вашу личную роль в ней. Вопрос открытый, и по нему сразу видно, чем вы занимались на самом деле: закрывали тикеты по готовому описанию или разбирались с тем, чего никто не понимал. Следом почти всегда идёт уточнение: почему выбрали именно это решение и какие варианты отбросили.
Как отвечать
Подготовьте две или три истории заранее и держите их наготове. Каркас каждой:
- контекст: что за система, какая нагрузка, кто пользователь;
- в чём была боль: не «работало медленно», а цифра (p95 запроса, счёт за инфраструктуру, число инцидентов в месяц);
- как искали причину:
py-spyиcProfileдля процессорного времени,tracemallocдля памяти, трассировка через OpenTelemetry,EXPLAIN ANALYZEдля запросов к базе; - решение и отброшенные варианты: почему не подошло очевидное;
- результат: снова в числах, плюс честно про то, что осталось недоделанным.
Сюжеты, которые хорошо звучат на Python-собеседовании: N+1 в ORM и переход на select_related или явный JOIN; вынос синхронного обработчика в asyncio с пулом соединений; идемпотентность фоновых задач, чтобы повторный запуск не удваивал списание; замена поштучных вызовов внешнего API на батчи; обработка большого CSV через polars вместо самописного цикла; постепенная типизация legacy-модуля и включение mypy в CI.
Длина рассказа примерно две минуты. Дальше пусть спрашивают, вопросы интервьюера это хороший знак.
Где спотыкаются
Рассказывают про технологию, а не про задачу. «Мы взяли Kafka» без объяснения, что было больно раньше, звучит как пересказ резюме.
Прячутся за «мы». Интервьюер оценивает вас, поэтому важно разделить, что делали лично вы, а что коллеги. Признать, что архитектуру предложил тимлид, а вы сделали профилирование и миграцию данных, совершенно нормально.
Выбирают самую сложную задачу вместо самой понятной. Если для объяснения нужно десять минут вводных про домен, интервьюер потеряет нить и вашего вклада так и не увидит.