Что такое GIL в Python и как влияет на threading vs multiprocessing для CPU-bound задач?
Pythonmediummiddle
Проверяет знание Python и pandas для анализа данных.
GILthreadingmultiprocessingpython
Варианты ответа
GIL применяется только в CPython 2.x, в Python 3 был удалён в пользу более гибкого free-threading. Threading и multiprocessing работают одинаково, разница только в API
GIL = Global Interpreter Lock — только один поток исполняет байткод одновременно. Threading НЕ ускоряет CPU-bound задачи (один поток за раз), но работает для IO-bound. Для CPU нужен multiprocessing
GIL это Garbage Collection Internal Lock который блокирует объекты во время сборки мусора. Threading отлично работает для всех задач включая CPU-bound, потому что GIL берётся редко
GIL ограничивает количество одновременных потоков числом CPU ядер. Для CPU-bound нужно использовать threading с явным asyncio.lock(), multiprocessing замедляет из-за overhead на создание процессов
Как разобрать этот вопрос на собеседовании
Подумай, какая структура данных и какой инструмент pandas решают задачу с наименьшей сложностью: векторизация вместо циклов, groupby/merge вместо ручных склеек, корректная работа с NaN и типами. Интервьюер смотрит на читаемость кода и на то, понимаешь ли ты, что происходит «под капотом» — копия или вью, сложность операции, утечки памяти на больших данных.
На собеседовании по такому вопросу важно не только назвать ответ, но и кратко объяснить, почему он верный.
Тема вопроса — «Python». Чтобы подготовиться к похожим задачам, отрабатывай их на практике: python-тренажёр помогает довести навык до автоматизма, а раздел вопросов — увидеть формулировки, которые реально встречаются на интервью аналитика данных.
Разбор ответа
Подробный разбор с объяснением «почему правильный ответ верный» и почему остальные неверны — после регистрации.
3000+ вопросов с разбором, quiz-режим с проверкой, AI-собес и подготовка к интервью аналитика.