Подтемы
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 вопр.
22 вопросов
-
senior correct_vs_wrong Два варианта обработки CancelledError. Какой корректный?
-
senior theory Как обнаружить и устранить блокирующие операции в async-приложении?
-
senior theory Что такое slow callback в asyncio, как его отлавливать и почему он опасен?
-
senior theory Как asyncio обрабатывает блокирующие операции в асинхронных приложениях? Опишите стратегии минимизации их влияния на производительность и приведите пример кода…
-
senior theory Объясните, как asyncio реализует взаимодействие между корутинами и потоками/процессами. Какие ограничения и антипаттерны стоит избегать при комбинировании asyn…
-
senior theory Как asyncio обеспечивает fault tolerance в распределённых системах с использованием задач (tasks)? Опишите механизм обработки ошибок в цепочках await и стратег…
-
senior theory Реализуйте асинхронный таймер, который запускает задачу с задержкой, но также позволяет отменить её. Объясните, как вы будете использовать `asyncio.create_task…
-
senior theory Как вы будете обеспечивать безопасность доступа к общему ресурсу (например, счётчику) в нескольких асинхронных корутинах без использования `asyncio.Lock`? Объя…
-
senior theory Представьте, что вы пишете асинхронный HTTP-клиент, который должен обрабатывать 1000 запросов параллельно, но с ограничением на 100 активных соединений. Как вы…
-
senior theory Чем отличается uvloop от штатного `asyncio.SelectorEventLoop` на уровне реализации? Какие системные вызовы используют epoll/kqueue, сколько стоит регистрация f…
-
senior theory Когда нужно писать кастомную `EventLoopPolicy`? Приведи 2-3 production-кейса, покажи скелет реализации и расскажи про подводные камни с child watchers и signal…
-
senior theory В каких случаях `asyncio.shield` действительно нужен и где это антипаттерн? Покажи 2 реальных use-case (DB commit, in-flight payment) и расскажи как ведёт себя…
-
senior theory Как корректно реализовать паттерн «отмени задачу, но дождись её cleanup (finally)»? Сравни vanilla asyncio с anyio cancel scopes. Что такое «uncancel» в Python…
-
senior theory Спроектируй producer/consumer pipeline на `asyncio.Queue` с backpressure: producer читает из Kafka 50k msg/s, consumer пишет в Postgres 5k qps. Как настроить m…
-
senior theory Спроектируй supervised fan-out/fan-in: 1 запрос → 100 параллельных вызовов к downstream API → агрегация. Как ограничить concurrency, ретраить отдельные ошибки,…
-
senior theory Почему `asyncio.Lock` НЕ обеспечивает взаимное исключение между процессами и потоками? Покажи как это сломается на проде и какие альтернативы для cross-process…
-
senior code Реализуй token-bucket rate-limiter на чистом asyncio (без Redis), используя `asyncio.Semaphore` или `asyncio.Condition`. Должен поддерживать burst и steady RPS…
-
senior theory Сравни `asyncio.TaskGroup` (3.11+) с `asyncio.gather(return_exceptions=True)`. В каких сценариях TaskGroup провоцирует баги? Что такое ExceptionGroup и как его…
-
senior theory Что такое supervised task pattern? Реализуй супервизор, который перезапускает упавший background-таск с exponential backoff, не больше N раз за окно T. Какие л…
-
senior theory Как asyncio обеспечивает изоляцию между корутинами при использовании `async def`? Какие проблемы могут возникнуть, если корутина изменяет глобальные переменные…
-
senior theory Какие ограничения и trade-offs возникают при использовании `asyncio` для реализации долгоживущих корутин (например, фоновых задач, которые должны работать в те…
-
senior theory Как asyncio обеспечивает порядок выполнения корутин, если они запущены через `asyncio.create_task()` и `await asyncio.gather()`? Какие альтернативы существуют …