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

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

20 вопросов с собеседований в Action tech

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

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

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

Подборка объединяет вопросы, отмеченные на этапах интервью в Action tech. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: linux, python.

Каталог

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

Найдено: 20
Теория

Каков точный алгоритм работы кеширования малых целых чисел (Small Integer Caching) и интернирования строк?

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

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

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

Гвидо возражал против устранения хвостовых вызовов прежде всего из-за потери понятных traceback и появления зависимости программ от этой оптимизации. Python не гарантирует хвостовую рекурсию без роста глубины.

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

Как работает механизм Frame Objects и почему удержание ссылок на них вызывает утечки памяти?

Frame хранит контекст выполнения функции, включая ссылки на локальные объекты и вызывающий кадр. Сохранённые traceback или frame могут удерживать большой граф объектов и циклы ссылок.

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

Каков механизм работы sys.settrace и как на его основе работают дебаггеры и профайлеры?

sys.settrace регистрирует функцию, получающую события выполнения Python-кода: вызов, строку, возврат и исключение. Дебаггер использует их для остановок, шагов и исследования frame.

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

Опишите структуру PyObject в C. Каков минимальный оверхед по памяти для любого объекта?

В обычной 64-битной сборке CPython базовый PyObject содержит счётчик ссылок и указатель на тип: часто 16 байт заголовка. Это не универсальный полный размер любого объекта.

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

Что происходит с байт-кодом при использовании ключевых слов global и nonlocal?

global и nonlocal влияют на разрешение имён при компиляции функции. В CPython обращения получают инструкции для глобальных имён или ячеек замыкания вместо обычных локальных переменных.

Читать ответ