Подтемы
Asyncio — отмена задач (Cancellation)
25 вопр.
Asyncio — корутины (Coroutines)
18 вопр.
Asyncio — Event Loop (событийный цикл)
18 вопр.
Asyncio — паттерны (Patterns)
19 вопр.
asyncio — Практика (race, блокировки, async I/O)
22 вопр.
Asyncio — примитивы синхронизации (Lock/Semaphore/Event)
21 вопр.
Asyncio — Tasks / TaskGroup (задачи и группы задач)
19 вопр.
143 вопросов
-
middle theory Чем отличаются `asyncio.create_task`, `asyncio.gather` и `asyncio.TaskGroup`? Что использовать в 2026?
-
middle mcq Какой из вызовов СОВЕРШЕННО ТОЧНО заблокирует event loop?
-
middle code Реализуй функцию `fetch_all(urls, concurrency)` — параллельно делает HTTP-запросы, но не больше `concurrency` одновременно. Возвращает список результатов в исх…
-
middle correct_vs_wrong Два варианта инкремента общего счётчика из нескольких корутин. Есть ли в asyncio race condition вообще? Какой код правильный?
-
middle correct_vs_wrong Два варианта эндпоинта FastAPI, который дёргает БД и внешний сервис. Что будет работать как ожидается?
-
middle mcq `await asyncio.gather(a(), b(), c())` — `b()` падает с исключением. Что произойдёт с задачами `a()` и `c()` (default параметры)?
-
middle code Реализуй функцию `bounded_fetch(urls, max_concurrent, per_second)`: - параллельно не больше `max_concurrent` запросов - не больше `per_second` запросов в секун…
-
middle theory Каким образом можно ограничить количество одновременно выполняемых асинхронных задач в `asyncio` без использования `asyncio.Semaphore`? Приведите пример кода и…
-
middle theory Какой из следующих вызовов может привести к утечке ресурсов в асинхронном коде: `asyncio.create_task()` без `await`, `asyncio.run()` внутри `async def`, или `a…
-
middle theory Почему использование `asyncio.to_thread()` предпочтительнее, чем `loop.run_in_executor()` для запуска синхронного кода в отдельном потоке? Приведите пример сце…
-
middle mcq Какой из вариантов корректно запускает корутину и ожидает её завершения в asyncio?
-
middle mcq Какой из вариантов НЕ является корректным использованием await в asyncio?
-
middle mcq Какой из вариантов корректно обрабатывает исключение в асинхронной функции, используя asyncio?
-
middle theory Представьте, что у вас есть 10 корутин, которые пишут в общий список данных. Как вы будете обеспечивать безопасность доступа к этому списку, чтобы избежать rac…
-
middle theory Как вы обнаружите, что в вашем async-приложении есть блокирующие операции (например, синхронные вызовы `time.sleep` вместо `asyncio.sleep`)? Какие инструменты …
-
middle theory Как вы реализуете ограничение количества одновременных запросов (`max_concurrent`) и ограничение скорости (`per_second`) в асинхронном приложении? Приведите пр…
-
middle theory Объясните, как event loop в asyncio обрабатывает корутины и как это влияет на производительность приложения. Приведите пример сценария, где неправильное исполь…
-
middle theory Какие основные реализации event loop существуют в asyncio? В чём их отличие по производительности и как выбор влияет на масштабируемость приложения?
-
middle theory Как event loop обрабатывает задачи с разными приоритетами? Какие механизмы позволяют управлять порядком выполнения корутин в asyncio?
-
middle mcq Какой из следующих подходов корректно обрабатывает блокирующие операции в asyncio event loop, чтобы избежать заморозки всего приложения?
-
middle theory Объясните, как корутины в asyncio обрабатывают блокирующие операции (например, синхронные вызовы к БД или файловой системе). Какие механизмы использует asyncio…
-
middle theory Какие различия между `await` и `async/await` в контексте корутин? Почему важно использовать `async def` при определении корутин?
-
middle theory Как корутины в asyncio обрабатывают состояние (например, переменные, которые должны сохраняться между вызовами)? Какие проблемы могут возникнуть при неправильн…
-
middle mcq Какой из следующих способов корректно запускает несколько корутин параллельно в asyncio?
-
middle theory Объясните, как отличаются поведение asyncio.create_task() и использование async with TaskGroup() при управлении множеством асинхронных задач. В чём преимуществ…
-
middle theory Как TaskGroup обрабатывает исключения, возникающие в асинхронных функциях, запущенных внутри неё? Приведите пример кода, демонстрирующий поведение в случае нес…
-
middle theory Почему в некоторых сценариях предпочтительнее использовать asyncio.gather() вместо TaskGroup? Приведите пример, где это логично, и объясните, как это влияет на…
-
middle mcq Какой из следующих фрагментов кода корректно использует asyncio.TaskGroup для управления несколькими задачами? Объясните, почему остальные варианты неправильные.
-
middle theory Объясните, как в asyncio корректно обрабатывать отмену задачи (task cancellation), и почему важно не игнорировать исключение asyncio.CancelledError. Приведите …
-
middle theory Как asyncio обрабатывает отмену задач, которые находятся в состоянии ожидания (например, при вызове await)? Какие нюансы нужно учитывать при работе с вложенным…
-
middle theory Какие возможные проблемы могут возникнуть при попытке отменить задачу asyncio из другого потока? Как это можно безопасно реализовать?
-
middle mcq Какой из следующих способов корректно обрабатывает отмену задачи в asyncio, если корутина находится в состоянии ожидания (например, при вызове await)?
-
middle theory Объясните, в чём разница между `asyncio.Lock` и `asyncio.Semaphore`, и приведите примеры использования каждого. Какой из них лучше подходит для ограничения кол…
-
middle theory Как работает `asyncio.Event`? В чём его отличие от `asyncio.Condition`? Приведите пример использования `Event` для координации между корутинами.
-
middle theory Какие антипаттерны или ошибки могут возникнуть при неправильном использовании `asyncio.Lock` или `asyncio.Semaphore`? Приведите примеры и объясните, как их избежать.
-
middle mcq Какой из следующих примитивов синхронизации лучше всего подходит для координации между корутинами, когда одна корутина должна ожидать сигнал от другой перед пр…
-
middle theory Объясните, как реализовать паттерн 'fan out / fan in' в asyncio. Какие особенности нужно учитывать при сборе результатов от параллельных задач?
-
middle theory Какой паттерн в asyncio позволяет ограничить количество параллельных задач? Какие негативные последствия могут возникнуть при отсутствии такого ограничения?
-
middle theory Какой паттерн в asyncio позволяет реализовать 'сопрограммы как потоки'? Какие преимущества и ограничения у этого подхода по сравнению с threading?
-
middle mcq Какой паттерн в asyncio используется для реализации 'producer-consumer' с асинхронной обработкой данных? Выберите корректный подход.
-
middle mcq Какой из следующих кодов приведет к ошибке при использовании `asyncio.run()` внутри корутины? Объясните, почему.
-
middle theory Как можно обработать отмену в корутине, которая выполняет долгую операцию (например, ожидание ответа от внешнего сервиса)? Какие подходы позволяют избежать 'за…
-
middle mcq Какой из следующих вариантов правильно использует `asyncio.Semaphore` для ограничения количества параллельных операций до 3?
-
middle theory Как реализовать паттерн 'асинхронный HTTP-сервер с обработкой множества клиентов' в asyncio? Какие аспекты нужно учитывать при масштабировании?
-
middle theory Какие типичные проблемы могут возникнуть при использовании asyncio в приложениях с длительными синхронными операциями (например, ожидание ответа от внешнего AP…
-
middle theory Представьте, что вы пишете библиотеку, которая использует TaskGroup для управления внутренними асинхронными операциями. Как вы будете тестировать корректность …
-
middle theory Какие trade-offs возникают при использовании `asyncio.wait()` с таймаутами для обработки отмены по сравнению с явным обработкой `CancelledError` в корутине? В …
-
middle theory Какие trade-offs возникают при использовании `asyncio.Semaphore` для ограничения количества параллельных операций в высоконагруженных системах? Как это влияет …
-
middle theory Как реализовать паттерн 'асинхронного лимитера' (rate limiter) в asyncio для ограничения количества запросов к внешнему API? Какие альтернативы существуют для …
-
middle mcq Какой паттерн в asyncio используется для корректного обработки ошибок при отмене задач (task cancellation) в асинхронных сопрограммах? Выберите подход, который…
-
middle theory Какие механизмы в `asyncio` позволяют обрабатывать 'spikes' (пиковые нагрузки) в количестве одновременных подключений без потери производительности? Какие trad…
-
middle theory Как можно использовать `asyncio.TaskGroup` для реализации паттерна 'wait for any' (ожидание завершения первой из нескольких задач), и какие ограничения у этого…
-
middle theory Какие сложности возникают при отмене задач, если корутина использует `async for` для итерации по асинхронному итерируемому объекту (например, `asyncio.Queue` и…
-
middle theory Какие альтернативы `asyncio.create_task()` можно использовать для создания задач, которые должны быть устойчивы к отмене (например, для фоновых операций, котор…
-
middle theory Как можно использовать `asyncio.Event` и `asyncio.Lock` совместно для реализации паттерна 'producer-consumer' с обратной связью (backpressure)? Какие потенциал…
-
middle quiz Какой из следующих подходов наиболее эффективен для обработки большого количества одновременных HTTP-запросов в asyncio?
-
middle quiz Какой из следующих способов наиболее безопасен для запуска синхронного кода в asyncio?
-
middle quiz Какой из следующих способов наиболее эффективен для обработки ошибок в асинхронных задачах?
-
middle quiz Какой из следующих способов наиболее эффективен для профилирования асинхронных приложений?
-
middle quiz Какой из следующих способов наиболее безопасен для тестирования асинхронных функций?
-
middle quiz Какой из следующих способов наиболее эффективен для управления памятью в асинхронных приложениях?
-
middle quiz Какой из следующих способов наиболее эффективен для обработки CancelledError в asyncio?
-
middle quiz Какой из следующих способов наиболее эффективен для обработки блокирующих операций в asyncio?
-
middle quiz Какой из следующих способов наиболее эффективен для управления задачами в asyncio?
-
middle quiz Что произойдет, если отменить задачу, которая уже завершена?
-
middle quiz Какой из следующих подходов наиболее безопасен при отмене задач, которые могут блокировать выполнение?
-
middle quiz Какой из следующих способов позволяет корректно отменить задачу, которая выполняет фоновую работу и должна завершиться до завершения основной задачи?
-
middle quiz Что произойдет, если задача отменена, но она не обрабатывает `CancelledError`?
-
middle quiz Какой из следующих способов позволяет отменить задачу, которая выполняет `async for` по асинхронному итерируемому объекту?
-
middle quiz Какой из следующих способов позволяет отменить задачу, которая использует `asyncio.Queue`?
-
middle quiz Какой из следующих способов позволяет корректно отменить задачу, которая выполняет долгую операцию и может быть прервана?
-
middle quiz Какой из следующих способов позволяет отменить задачу, которая выполняет операции с базой данных?
-
middle quiz Какой из следующих способов наиболее эффективен для обработки большого количества одновременных подключений в asyncio?
-
middle quiz Что произойдет, если вызвать `task.cancel()` на задаче, которая уже завершена?
-
middle quiz Какой из следующих подходов наиболее эффективен для обработки большого количества одновременных HTTP-запросов с использованием asyncio?
-
middle quiz Какой из следующих способов позволяет корректно обработать исключения внутри корутины в asyncio?
-
middle quiz Какой из следующих способов обеспечивает правильное управление ресурсами при работе с корутинами?
-
middle quiz Какой из следующих способов наиболее эффективен для обработки больших объемов данных в корутине?
-
middle quiz Какой из следующих способов позволяет корректно управлять состоянием между вызовами корутины?
-
middle quiz Какой из следующих способов обеспечивает правильное завершение корутин при возникновении ошибки?
-
middle quiz Какой из следующих способов позволяет эффективно обрабатывать ошибки в корутинах?
-
middle quiz Какой из следующих способов позволяет корректно управлять потоком данных в корутинах?
-
middle quiz Какой из следующих способов позволяет корректно управлять ресурсами в корутинах?
-
middle quiz Какой из следующих способов позволяет корректно обрабатывать исключения в корутинах?
-
middle quiz Какой из следующих способов позволяет избежать блокировки event loop при выполнении CPU-интенсивных задач?
-
middle quiz Что происходит с задачами, если event loop в asyncio не может обработать их вовремя из-за блокирующих вызовов?
-
middle quiz Какой из следующих методов позволяет вручную управлять приоритетами задач в asyncio?
-
middle quiz Какой из следующих способов позволяет обнаружить, что event loop заблокирован?
-
middle quiz Какой из следующих способов может привести к утечке ресурсов в asyncio при работе с event loop?
-
middle quiz Какой из следующих способов позволяет корректно завершить event loop в приложении?
-
middle quiz Какой из следующих способов позволяет избежать проблем с `asyncio` в многопоточных приложениях?
-
middle quiz Какой из следующих способов позволяет обнаружить, что задача выполняется слишком долго?
-
middle quiz Какой из следующих способов позволяет избежать утечки ресурсов при использовании `asyncio`?
-
middle quiz Какой из следующих способов позволяет избежать проблем с `asyncio` при использовании `loop.run_in_executor()`?
-
middle quiz Какой паттерн в asyncio лучше всего подходит для реализации асинхронного обработчика событий с поддержкой отмены задач и обработки ошибок?
-
middle quiz Какой из следующих подходов обеспечивает наиболее эффективное управление ресурсами при работе с асинхронными задачами?
-
middle quiz Какой паттерн в asyncio позволяет реализовать асинхронную обработку данных с гарантией порядка результатов?
-
middle quiz Какой паттерн используется для реализации асинхронного retry с backoff в asyncio?
-
middle quiz Какой паттерн позволяет реализовать асинхронную обработку событий с поддержкой graceful shutdown?
-
middle quiz Какой паттерн используется для реализации асинхронного обработчика с ограничением количества одновременных задач?
-
middle quiz Какой паттерн позволяет реализовать асинхронную обработку данных с поддержкой отмены и обработки ошибок?
-
middle quiz Какой паттерн используется для реализации асинхронного обработчика с поддержкой отложенного выполнения?
-
middle quiz Какой паттерн позволяет реализовать асинхронную обработку данных с поддержкой мониторинга и логирования?
-
middle quiz Какой паттерн используется для реализации асинхронного обработчика с поддержкой параллельной обработки данных?
-
middle quiz Какой из следующих подходов наиболее эффективен для ограничения количества одновременных задач в asyncio при высокой нагрузке?
-
middle quiz Какой из следующих способов наиболее безопасен для обработки исключений в асинхронных задачах с использованием `asyncio.gather()`?
-
middle quiz Какой из следующих способов наиболее эффективен для обнаружения блокирующих операций в asyncio-приложении?
-
middle quiz Какой из следующих способов наиболее эффективен для реализации ограничения скорости запросов в asyncio?
-
middle quiz Какой из следующих способов наиболее безопасен для обработки общего ресурса в нескольких асинхронных задачах?
-
middle quiz Какой из следующих способов наиболее эффективен для отмены задач в asyncio?
-
middle quiz Какой из следующих способов наиболее эффективен для управления ресурсами в asyncio?
-
middle quiz Какой из следующих способов наиболее эффективен для обработки исключений в асинхронных задачах?
-
middle quiz Какой из следующих способов наиболее эффективен для обнаружения race condition в asyncio?
-
middle quiz Какой из следующих способов наиболее эффективен для управления порядком выполнения задач в asyncio?
-
middle quiz Что произойдет, если вызвать `acquire()` на `asyncio.Lock`, который уже захвачен текущей корутиной?
-
middle quiz Какой из следующих подходов наиболее эффективен для ограничения числа одновременных запросов к API с использованием `asyncio.Semaphore`?
-
middle quiz Какой из следующих эффектов может возникнуть при использовании `asyncio.Event` в условиях высокой нагрузки?
-
middle quiz Какой из следующих вариантов наиболее безопасен при использовании `asyncio.Lock` в многопоточной асинхронной среде?
-
middle quiz Какой из следующих способов позволяет корректно обработать исключение при использовании `asyncio.Semaphore`?
-
middle quiz Какой из следующих факторов может привести к ухудшению производительности при использовании `asyncio.Lock`?
-
middle quiz Что произойдет, если `asyncio.Event` будет вызван методом `set()` несколько раз подряд?
-
middle quiz Какой из следующих факторов может привести к deadlock при использовании `asyncio.Lock`?
-
middle quiz Какой из следующих способов позволяет избежать проблем с производительностью при использовании `asyncio.Semaphore`?
-
middle quiz Что произойдет, если в TaskGroup() будет вызвана функция, которая не является корутиной?
-
middle quiz Какой из следующих способов корректно отменяет все задачи внутри TaskGroup?
-
middle quiz Что произойдет, если в TaskGroup() будет вызвана задача, которая завершается с исключением?
-
middle quiz Какой из следующих способов позволяет обработать исключения внутри TaskGroup без прерывания выполнения других задач?
-
middle quiz Какой из следующих способов позволяет создать TaskGroup с ограничением на количество одновременно запущенных задач?
-
middle quiz Какой из следующих способов позволяет использовать TaskGroup в синхронном коде?
-
middle quiz Какой из следующих способов позволяет получить результаты задач внутри TaskGroup?
-
middle quiz Какой из следующих способов позволяет использовать TaskGroup в многопоточном коде?
-
middle quiz Какой из следующих способов позволяет использовать TaskGroup с асинхронными генераторами?
-
middle quiz Какой из следующих способов позволяет корректно отменить задачу, которая выполняет `asyncio.sleep()`?
-
middle quiz Какой из следующих способов позволяет отменить задачу, которая использует `asyncio.Lock`?
-
middle quiz Какой из следующих способов позволяет отменить задачу, которая выполняет долгую операцию с сетью?
-
middle quiz Какой из следующих способов позволяет отменить задачу, которая выполняет `asyncio.gather()`?
-
middle quiz Какой из следующих способов позволяет отменить задачу, которая выполняет `asyncio.Event`?
-
middle quiz Какой из следующих способов позволяет отменить задачу, которая выполняет `asyncio.Semaphore`?
-
middle quiz Какой из следующих эффектов наблюдается при попытке вызвать `acquire()` на `asyncio.Lock`, который уже захвачен другой корутиной?
-
middle quiz Что произойдет, если попытаться вызвать `release()` на `asyncio.Lock`, который не был захвачен?
-
middle quiz Какой из следующих факторов может привести к утечке ресурсов при использовании `asyncio.Lock`?
-
middle quiz Какой из следующих способов позволяет реализовать паттерн 'wait for any' с TaskGroup?
-
middle quiz Какой из следующих способов позволяет использовать TaskGroup в сценариях с высокой нагрузкой?