Подготовка к интервью

Банк вопросов с собеседований

Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.

1254 вопроса 1634 компании 353 технологии

Усильте резюме перед собеседованием

Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.

Анализ резюме
Сбросить

Каталог

Результаты поиска

Найдено: 1254
Поведенческий

Создавали ли вы асинхронные функции при работе с Python, например в Django или с asyncio?

Назовите реальные async-функции и зачем они были нужны: параллельное ожидание HTTP, БД или других I/O. async def само по себе не ускоряет функцию и не запускает её автоматически.

Читать ответ
Теория

В чём основная проблема GIL и почему он появился в Python?

GIL в обычном CPython позволяет только одному потоку интерпретатора исполнять Python-код одновременно. Он исторически упрощал защиту внутренних структур и подсчёт ссылок, но ограничивает CPU-параллелизм потоков.

Читать ответ
Теория

Почему в Python 3.11+ появился адаптивный интерпретатор (PEP 659) и как он меняет байт-код на лету?

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

Читать ответ
Теория

Id объекта: гарантия уникальности только за время жизни

id() возвращает целое, неизменное и уникальное для объекта в течение его жизни. В CPython оно связано с адресом объекта; это деталь реализации, а не требование языка.

Читать ответ
Поведенческий

Какими языками программирования вы владеете, кроме Python?

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

Читать ответ
Теория

Может ли CPU-bound задача надолго не дать другим потокам Python выполняться?

Да: особенно если C-расширение долго удерживает GIL, не освобождая его. Обычный CPU-bound Python-код в сборке с GIL переключается между потоками, но не даёт им параллельно выполнять байт-код.

Читать ответ
Теория

Что такое PEP 659 (Specializing Adaptive Interpreter), появившийся в Python 3.11? Как интерпретатор оптимизирует байт-код «на лету» во время выполнения программы, если замечает, что типы данных в конкретном выражении не меняются?

PEP 659 описывает адаптивную специализацию отдельных инструкций CPython: часто выполняемые операции получают быстрые варианты под наблюдаемые типы. При нарушении предположений интерпретатор возвращается к общему пути.

Читать ответ
Теория

Как устроен механизм оптимизации хвостовой рекурсии в Python? Почему Гвидо ван Россум принципиально отказался от его внедрения и к каким последствиям для стека вызовов это приводит?

В обычном Python хвостовые вызовы не устраняют кадры функции: рекурсия накапливает стек и может завершиться RecursionError. Гвидо связывал отказ от такой оптимизации прежде всего с прозрачной отладкой.

Читать ответ
Теория

Как работает профилирование Python-приложений? В чем разница между детерминированными профайлерами, например cProfile, и статистическими, например py-spy, и какой из них безопаснее запускать на работающем продакшене под нагрузкой?

cProfile фиксирует события вызовов и возвратов, а sampling-профайлер периодически снимает стеки. Под нагрузкой обычно начинают с короткого sampling-сеанса: он меньше вмешивается, но даёт статистическую оценку.

Читать ответ