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

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

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

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

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

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

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

Каталог

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

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

Опишите механику работы встроенной функции compile(). Как превратить динамически сгенерированную строку с кодом на Python в объект кода (code object), безопасно выполнить его в изолированном контексте с помощью exec/eval и предотвратить уязвимости удалённого выполнения кода (RCE)?

compile(source, filename, mode) создаёт объект кода, но не выполняет его. exec/eval с отдельными globals не образуют безопасную песочницу для недоверенного Python и не предотвращают RCE.

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

Опишите устройство структуры данных PyObject в C. Какие два обязательных поля присутствуют абсолютно в каждом объекте Python, даже в обычном числе, и сколько байт они занимают в 64-битной системе?

В традиционной GIL-сборке CPython базовый заголовок содержит счётчик ссылок ob_refcnt и указатель типа ob_type; на обычной 64-битной платформе это суммарно 16 байт. Но это не весь размер объекта.

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

Максимальная длина подряд идущих единиц после удаления одного элемента (Max Consecutive Ones After Deleting One Element)

Поддерживайте скользящее окно с максимум одним нулём. Его длина минус один — кандидат ответа, поскольку удалить нужно ровно один элемент, даже если все элементы окна равны единице.

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

Если Bash- и Python-скрипт копируют файл, но прав на чтение нет, как они поведут себя при последующей команде удаления исходника?

В Bash без явной проверки ошибка копирования обычно не мешает следующему rm; в Python необработанное исключение копирования прервёт поток до удаления. Итог зависит от конкретной конструкции скрипта.

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

Как под капотом устроены расширения на C/C++ для Python (C Extensions)? Почему расширения, написанные с использованием традиционного Python C API, замедляют переход на No-GIL Python, и как современные альтернативы вроде HPy или Cython решают эту проблему?

C-расширение — нативный модуль, работающий с объектами Python через C API. Старый код часто полагается на GIL как защиту общего состояния, поэтому отключение GIL требует аудита и синхронизации.

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

Минимальное окно Python: пустой набор и стоимость срезов

Функция ищет минимальную подстроку, содержащую все различные символы a, но игнорирует их кратность. При пустом a она ошибается, а копирование каждого лучшего среза ухудшает сложность.

Читать ответ