19 вопросов
Практика
Можешь объяснить модуль multiprocessing в Python, включая то, как он достигает настоящего параллелизма и какие механизмы использует для межпроцессного взаимодействия?
Можешь объяснить назначение и ключевые компоненты модуля `concurrent.futures` в Python, и как он позволяет выполнять код асинхронно?
Можешь объяснить, что такое race condition в контексте конкурентных Python-программ, и описать техники, которые ты бы использовал для его предотвращения?
Можешь объяснить механизмы управления памятью в Python, включая то, как используется heap, какую роль играет memory manager, и как reference counting и garbage collection работают вместе для управления жизненным циклом объектов?
Можешь объяснить, что такое Global Interpreter Lock (GIL) в CPython, как он влияет на выполнение потоков и почему это важно для разных типов нагрузок?
Можешь объяснить, как Python управляет памятью через механизмы сборки мусора, включая подсчет ссылок и обнаружение циклов?
Можешь ли ты объяснить различие между поверхностным (shallow) и глубоким (deep) копированием в Python, и как каждый метод обрабатывает вложенные объекты по-разному?
Какие инструменты и методы ты используешь для профилирования Python приложений и как ты выбираешь между ними для разных целей профилирования, таких как анализ производительности функций, измерение времени выполнения, анализ потребления памяти и построчный анализ кода?
Какие ключевые стратегии и инструменты ты бы использовал для оптимизации производительности Python-приложения, и можешь ли ты описать конкретные сценарии, в которых каждый подход был бы наиболее эффективен?
Что делает функция `sys.getsizeof()`, и какие у неё есть ограничения при измерении использования памяти?
Можешь объяснить, какая роль `__del__` метода в Python и обсудить ограничения при использовании его для очистки ресурсов?
В Python, почему процесс продолжает показывать высокое потребление памяти даже после удаления больших объектов, и какие лежат в основе этого поведения причины?
Можешь объяснить, что делает dunder-метод `__sizeof__()` и как он связан с функцией `sys.getsizeof()` в Python?
Можешь объяснить ключевые различия между threading, multiprocessing и asyncio в Python, включая их модели выполнения, случаи использования и ограничения?
Можешь объяснить модуль `asyncio` в Python и описать, как синтаксис `async`/`await` позволяет писать асинхронный код, включая то, как определяются и выполняются корутины?
Как работает `asyncio.gather()` при одновременном выполнении нескольких корутин в Python, и что он возвращает?
Можешь объяснить, что такое потоки в Python и описать, как они работают в модуле threading, включая их ограничения и оптимальные случаи использования?
Чем модуль `contextvars` (PEP 567) отличается от `threading.local()` с точки зрения сохранения состояния при асинхронных операциях?
Чем корутины и генераторы отличаются по своему назначению и реализации в Python, особенно в плане использования ключевых слов `yield` и `await`?