Подтемы
Python — Базовое
24 вопр.
Python — concurrency (threading/multiprocessing/asyncio)
19 вопр.
Python — Internals
48 вопр.
Python — Modern (фичи 3.10+: match/case, X | None и т.д.)
24 вопр.
Python — ООП
22 вопр.
Python — производительность (Performance)
19 вопр.
Python — стандартная библиотека (stdlib)
22 вопр.
Python — типизация (Typing, mypy)
15 вопр.
Python: версии 3.8 → 3.14 и их фичи
18 вопр.
103 вопросов
-
junior theory Что такое GIL в CPython и зачем он нужен?
-
middle theory Как работает сборщик мусора в CPython? Что он умеет, чего не умеет наивный refcount?
-
senior theory Когда оправдано использовать метакласс, а когда стоит обойтись чем-то проще?
-
junior theory Как Python реализует интернирование строк? Приведите примеры, когда это может привести к неожиданным результатам при сравнении строк.
-
junior theory Как устроены пространства имен в Python? Как отличаются __dict__ у классов и экземпляров?
-
junior theory Как Python обрабатывает исключения на уровне C? Как это влияет на производительность?
-
junior theory Как Python хранит целые числа в памяти? Какие ограничения у этой реализации?
-
junior theory Объясните, как Python реализует интернирование строк (string interning). В каких случаях это может привести к неожиданным результатам?
-
junior theory Какие различия в реализации list и tuple в CPython? Почему tuple неизменяем, а list изменяем?
-
junior theory Что такое __slots__ в Python и как он влияет на работу интерпретатора? В каких случаях его стоит использовать?
-
junior theory Что такое PyObject и какова его роль в CPython? Какие поля содержит типичный PyObject?
-
middle theory Объясните, как устроена объектная модель в CPython. Какие структуры данных используются для хранения атрибутов объектов, и как это влияет на доступ к ним?
-
middle theory Как Python компилирует исходный код в bytecode? Какие этапы этого процесса влияют на производительность выполнения кода?
-
middle theory Как реализованы словари в CPython? Объясните, как работают хеш-таблицы, коллизии и ресайзинг. Приведите пример, когда это может привести к производительностным…
-
senior theory Объясните, как CPython реализует внутреннюю структуру данных для словарей (dict). Какие оптимизации применяются для минимизации коллизий и обеспечения высокой …
-
senior theory Как CPython реализует декораторы на уровне C? Какие особенности поведения функций с декораторами можно объяснить через внутреннюю модель интерпретатора?
-
senior theory Как CPython обрабатывает исключения на уровне виртуальной машины? Какие структуры данных используются для хранения информации об обработчиках исключений и как …
-
senior theory Реализуй валидируемый дескриптор `Positive`, который при присваивании отрицательного значения кидает `ValueError`. Объясни механику: data vs non-data descripto…
-
senior theory В какой ситуации стоит трогать `gc.set_threshold(...)` или `gc.disable()`? Что такое generational GC в Python и в чём роль `weakref`?
-
senior theory Что такое `__slots__`, какие плюсы и какие НЕОЧЕВИДНЫЕ грабли? Когда использовать и когда — НЕ?
-
senior theory Как Python разрешает diamond inheritance? Что такое C3 linearization, и как `super()` работает с MRO? Приведи пример где MRO становится контр-интуитивным.
-
senior theory Что показывает `dis.dis(func)` и как использовать для оптимизации/отладки? Объясни ключевые опкоды LOAD_FAST/LOAD_GLOBAL/STORE_NAME, MAKE_FUNCTION, CALL/CALL_F…
-
middle theory Объясните, как работает декоратор @functools.wraps и зачем он нужен. Приведите пример кода, где его отсутствие приведёт к нежелательным последствиям.
-
middle theory Объясните, как работает __slots__ в Python и в чём разница между использованием __slots__ и обычных атрибутов класса. В каких сценариях это может быть полезно …
-
middle theory Чем отличаются итераторы и генераторы в Python? Приведите пример использования каждого и объясните, в каких случаях выгоднее использовать генераторы вместо списков.
-
middle theory Объясните, как в Python реализуется инкапсуляция и почему использование свойств (@property) предпочтительнее прямого доступа к атрибутам. Приведите пример сцен…
-
middle theory Как Python реализует наследование и полиморфизм? Объясните, как правильно переопределять методы в дочерних классах и почему важно использовать super(). Приведи…
-
middle theory Какие есть способы реализации абстрактных классов в Python? Объясните, когда стоит использовать ABC (abc module) вместо простого базового класса с абстрактными…
-
middle theory Объясните, как использовать `Generic` и `TypeVar` для создания типобезопасной функции, которая принимает список элементов одного типа и возвращает список элеме…
-
middle theory Как аннотировать функцию с переменным количеством аргументов и возвращаемым значением, используя `typing.Callable`? Приведите пример, где типы аргументов и воз…
-
middle theory Какие ограничения и особенности стоит учитывать при использовании `typing.Literal` и `typing.Annotated`? Приведите пример, где они полезны, и объясните, как он…
-
middle theory Объясните, в чём разница между модулями `itertools` и `functools`, и приведите примеры использования каждого из них в реальных сценариях. Какие trade-offs вы б…
-
middle theory Какие преимущества использования `pathlib` по сравнению с `os` и `shutil`? Опишите сценарий, где `pathlib` явно превосходит `os` в удобстве и читаемости кода.
-
middle theory Объясните, как настроить логирование в Python с помощью модуля `logging`. Какие уровни серьёзности вы бы использовали в разных сценариях (например, разработка …
-
middle theory Объясните, почему в Python многопоточность (threading) может быть менее эффективной для CPU-bound задач, чем многопроцессорность (multiprocessing). Приведите п…
-
middle theory Какие основные проблемы могут возникнуть при использовании threading в Python, и как их можно решить? Приведите пример кода с возможным антипаттерном и его исп…
-
middle theory Как asyncio реализует конкуренцию, и в чём её отличие от threading/multiprocessing? Когда лучше использовать асинхронный подход, а когда — многопоточность/мног…
-
middle theory Почему в Python использование встроенных функций (например, sum(), map(), filter()) и генераторов часто приводит к лучшей производительности по сравнению с реа…
-
middle theory Какие trade-offs возникают при выборе между списками (list) и генераторами (generator) в Python? В каких сценариях использования одного из них будет более эффе…
-
middle theory Какие инструменты и методы профилирования производительности в Python вы знаете? Какие метрики вы анализируете при оптимизации кода, и как избежать оптимизации…
-
middle theory Расскажите о новом синтаксисе Structural Pattern Matching (match-case) в Python 3.10+. В каких сценариях он предпочтительнее классических конструкций if-elif?
-
middle theory Какие новые возможности в типизации появились в Python 3.10+ (например, Union, TypeAlias)? Как они упрощают работу с типами в больших проектах?
-
middle theory Какие улучшения в работе с коллекциями были внесены в Python 3.10+? Приведите примеры использования новых методов или синтаксиса.
-
middle theory Как Python оптимизирует выполнение простых циклов (например, `for i in range(1000): ...`)? Какие нюансы возникают при использовании сложных выражений внутри те…
-
middle theory Как реализованы словари в CPython? Какие структуры данных используются для хранения ключей и значений, и как решаются коллизии?
-
middle theory Что появилось в Python 3.8 такого, что стоит знать сениору? Назови минимум 4 фичи и приведи пример для каждой.
-
middle theory Что появилось в Python 3.9 и 3.10? Особенно про типизацию и pattern matching.
-
senior theory Какие важные изменения в Python 3.11 и 3.12 (производительность, asyncio, типизация)?
-
senior theory Что появилось в Python 3.13 и 3.14? Про free-threading и JIT.
-
middle theory Объясните, как работает область видимости переменных в Python, особенно в контексте использования ключевых слов `global` и `nonlocal`. Приведите пример кода, г…
-
middle theory Объясните, как работают контекстные менеджеры в Python и как они связаны с оператором `with`. Приведите пример реализации собственного контекстного менеджера с…
-
middle theory Объясните разницу между списковым включением (`list comprehension`) и генераторным выражением (`generator expression`). В каких случаях выгоднее использовать о…
-
middle theory Объясните разницу между магическими методами `__getattr__` и `__getattribute__` в Python. Приведите пример, где использование одного из них может привести к ош…
-
middle theory Какие преимущества и недостатки использования модуля `collections` по сравнению с встроенными типами данных Python (например, `dict`, `list`)? Приведите пример…
-
middle theory Объясните, как работает модуль `re` для работы с регулярными выражениями. В чём его преимущества по сравнению с методами строк, такими как `str.find()` или `st…
-
middle theory Какие преимущества и недостатки у использования `concurrent.futures.ThreadPoolExecutor` по сравнению с низкоуровневым `threading`? Приведите пример сценария, г…
-
middle theory Как использование типизированных коллекций (например, из библиотеки typing или numpy) влияет на производительность в Python? Какие trade-offs возникают при выб…
-
middle theory Что такое GIL? Зачем он нужен в CPython и какие у него последствия для многопоточного кода.
-
middle theory У тебя CPU-bound задача в Python — сжатие изображений батчем. Как параллелить? Сравни варианты.
-
middle theory threading vs multiprocessing vs asyncio — когда что использовать?
-
middle theory Что такое dunder-методы? Назови самые важные. Что делает `__init__` vs `__new__`?
-
middle theory Что такое `__slots__` и когда их использовать?
-
senior theory Приведи 2 production use-case для метаклассов (не «class Foo(metaclass=ABCMeta)»). Покажи код registry-метакласса и валидирующего метакласса. Какие альтернатив…
-
senior theory Объясни descriptor protocol. В чём разница между data и non-data descriptor с точки зрения lookup order? Покажи реализацию валидирующего descriptor и расскажи …
-
senior theory Когда ProcessPoolExecutor выигрывает у ThreadPoolExecutor и наоборот, с учётом GIL и стоимости pickle? Приведи цифры на конкретных задачах (CPU-bound, IO-bound…
-
senior theory Какие ограничения накладывает pickle на multiprocessing? Расскажи про cloudpickle, fork vs spawn, как пробросить большой numpy-массив без копирования (`shared_…
-
senior theory Сравни `typing.Protocol` (structural subtyping) с ABC (nominal subtyping). Когда что выбрать, что такое `@runtime_checkable` и каковы его подводные камни?
-
senior theory Что такое `ParamSpec` и `Concatenate`? Покажи кейс декоратора, который добавляет первый аргумент к функции, и объясни почему до 3.10 это было нельзя нормально …
-
senior theory Как профилировать Python-приложение на проде с минимальным overhead? Расскажи про py-spy, sampling vs deterministic profiling, как искать hot loops, что делать…
-
senior theory Как работает GC в CPython (reference counting + generational)? Когда отключать или тюнить `gc.set_threshold`? Какие проблемы создаёт GC в long-running сервисах?
-
senior theory Объясни типичный memory leak с `functools.lru_cache` на методе класса. Покажи пример, почему утечёт, и приведи 3 правильных способа кэшировать метод.
-
senior theory Объясни `contextlib.AsyncExitStack`. Покажи реальный кейс (dynamic-N клиентов, fanout с гарантированным cleanup), сравни с обычными `async with` и nested conte…
-
middle theory Обсудите, как Python обрабатывает сборку мусора, особенно в контексте ссылочного счётчика и детектора циклов. В каких сценариях может возникнуть утечка памяти,…
-
middle theory Какие особенности стоит учитывать при типизации асинхронных функций и корутин? Как mypy обрабатывает `async def` и `await`, и какие подводные камни могут возни…
-
middle theory Объясните, как работает модуль `xml.etree.ElementTree` для парсинга XML. В чём его недостатки по сравнению с `lxml` или `xml.dom`? Приведите пример, где исполь…
-
middle theory Какой из модулей `datetime` или `time` лучше подходит для работы с временными зонами и почему? Опишите сценарий, где использование `time` приведёт к ошибке, а …
-
middle theory Объясните, как модуль `enum` может быть использован для улучшения читаемости кода. Приведите пример, где использование `enum` избежало бы ошибки, которую мог б…
-
middle theory Какие техники и инструменты можно использовать для отладки и тестирования асинхронного кода в Python (например, с использованием asyncio)? Приведите пример тес…
-
middle theory Какие edge cases и failure modes могут возникнуть при использовании Cython или C-расширений для оптимизации Python-кода? Какие проверки и тесты вы бы ввели, чт…
-
middle theory Как использование __slots__ влияет на производительность и память в Python? В каких случаях это может привести к неожиданным проблемам, например, при сериализа…
-
middle theory Какой из подходов (X | None vs Union[X, None]) предпочтительнее использовать в разных контекстах? Опишите trade-offs и примеры, где один из вариантов может при…
-
junior theory What are the key features of Python?
-
junior theory How is Python executed?
-
junior theory What is PEP 8 and why is it important?
-
junior theory How is memory allocation and garbage collection handled in Python?
-
junior theory What are the built-in data types in Python?
-
middle theory Explain the difference between a mutable and immutable object.
-
middle theory How do you handle exceptions in Python?
-
middle theory What is the difference between list and tuple?
-
middle theory How do you create a dictionary in Python?
-
middle theory What is the difference between == and is operator in Python?
-
middle theory How does a Python function work?
-
middle theory What is a lambda function, and where would you use it?
-
middle theory Explain *args and **kwargs in Python.
-
middle theory What are decorators in Python?
-
middle theory How can you create a module in Python?
-
middle theory Ты пишешь высокопроизводительный код на CPython для обработки больших наборов данных. Ты заметил, что при увеличении количества потоков в приложении производит…
-
senior theory Рассмотрите сценарий, где в `match-case` используется паттерн с вложенными структурами (например, `case {'a': {'b': int}}`). Какие возможные failure modes могу…
-
senior theory Какие особенности `X | None` делают его предпочтительным или нежелательным в контексте работы с типами в больших проектах с использованием инструментов статиче…
-
senior theory Рассмотрите масштабируемый проект с сотнями `match-case` конструкций. Какие архитектурные решения позволят минимизировать дублирование кода и повысить поддержи…
-
senior theory Ты разрабатываешь библиотеку на C, расширяющую Python. Какие механизмы в CPython позволяют временно освободить GIL для выполнения CPU-интенсивных операций, и к…
-
senior theory При использовании асинхронного кода (async/await) в Python, как GIL влияет на параллелизм, и какие альтернативы существуют для масштабирования CPU-интенсивных …
-
senior theory Какие архитектурные решения позволяют минимизировать влияние GIL на многопоточные приложения, и какие ограничения остаются даже при использовании этих подходов?