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

Вопросы на собеседовании по Python

1574 вопроса по Python с технических собеседований

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

Что проверяют на интервью

Как устроена подборка

На странице собраны вопросы по Python — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: python, backend, database.

Каталог

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

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

Почему было разделение — некоторые микросервисы на Python, некоторые на Go?

Объясните реальные причины разделения: характер нагрузки, библиотеки, компетенции команды и стоимость сопровождения. Python мог быть удобен для ML-интеграций, Go — для определённых сетевых или конкурентных сервисов.

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

Как устроен механизм оптимизации словарей Compact Dict (PEP 468), принятый в Python 3.6+? Как разделение словаря на два массива — массив хэшей/индексов и массив пар «ключ—значение» — позволило сократить потребление памяти структурами данных на 20–25% и гарантировать сохранение порядка вставки?

Compact dict разделяет разреженную таблицу индексов и плотные записи элементов, уменьшая пустые затраты памяти. Порядок вставки в CPython 3.6 был свойством реализации, а с Python 3.7 стал гарантией языка.

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

Каков внутренний механизм работы ключевых слов async и await в Python? Что происходит на уровне генераторов?

async def создаёт native coroutine, а await приостанавливает её, пока ожидаемый объект не завершится. Механизм использует сохраняемое состояние исполнения, но native coroutine — не обычный генератор.

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

Чем отличается множество от словаря в Python?

set хранит уникальные элементы, а dict — соответствия уникальных ключей значениям. В обоих случаях элементы set и ключи dict должны быть хешируемыми; значения словаря могут быть любыми объектами.

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

Похоже, вы затрудняетесь с ответом. Можете ли вы объяснить, как в Python можно переключаться между корутинами?

В asyncio coroutine уступает управление при ожидании незавершённой операции, после чего event loop может выполнить другую готовую задачу. await не обязательно вызывает переключение каждый раз.

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

Зачем в Python 3.13 вводится экспериментальный No-GIL (PEP 703) и как он заменяет глобальный лок?

Экспериментальная free-threaded сборка CPython 3.13 позволяет Python-потокам работать параллельно на разных ядрах без обычного GIL. Это отдельный режим, а не автоматическое изменение всех установок Python 3.13.

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

Работали ли вы с байткодом Python?

Расскажите, изучали ли вы байткод через dis и для какой задачи: понимание исполнения, анализ производительности или отладка. Для обычной разработки писать байткод вручную обычно не требуется.

Читать ответ
Лайвкодинг

Вы хорошо объяснили природу гонки и важность атомарности. Расскажите, как бы вы реализовали атомарное изменение баланса в Python без использования базы данных?

В одном процессе можно защитить проверку и изменение баланса общим Lock. Важно блокировать весь read-check-write, а не только присваивание; все обращения к состоянию должны соблюдать тот же протокол.

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

Что такое итераторы и генераторы в Python и чем они отличаются?

Итератор выдаёт значения через next() и завершает обход исключением StopIteration. Генератор — удобный способ создать итератор с помощью функции с yield или генераторного выражения.

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

Какие изменяемые и неизменяемые объекты есть в Python?

К изменяемым относятся list, dict, set и bytearray; к неизменяемым — int, float, bool, str, tuple, bytes и frozenset. Изменяемость описывает возможность менять сам объект, а не переприсваивать переменную.

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

Какая связь между циклом событий asyncio и системными вызовами Linux, такими как epoll, select и kqueue? Каким образом операционная система сообщает Python-приложению, что данные из сетевого сокета готовы к чтению?

Event loop регистрирует сетевые дескрипторы и ждёт уведомлений о готовности через механизм ОС. На Linux обычно используется epoll; kqueue относится к BSD/macOS, а не к Linux.

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

Какие ещё функциональные инструменты Python вы знаете или использовали?

В Python к функциональным инструментам относят функции высшего порядка, comprehensions, generators, map/filter, functools и itertools. Важнее показать уместное применение, чем перечислить все имена.

Читать ответ