Встречается на собеседованиях • сегодня

Какие знаешь технические особенности async/await в Python

Async/await в Python основаны на концепции корутин (coroutines) и event loop. Ключевые особенности:

  1. Неблокирующие операции - async функции позволяют выполнять I/O операции без блокировки потока, переключаясь на другие задачи.

  2. Event Loop - управляет выполнением корутин, планируя их выполнение. Используется asyncio.get_event_loop() или asyncio.run().

  1. Синтаксис:
python
async def fetch_data():
    # асинхронная операция
    await some_io_operation()
  1. Ограничения:
  • Нельзя использовать await в обычных функциях
  • Не все библиотеки поддерживают async (нужно использовать специальные версии типа aiohttp вместо requests)
  1. Генерация событий - корутины могут приостанавливать (yield) и возобновлять выполнение.

Пример:

python
import asyncio

async def main():
    print('Hello')
    await asyncio.sleep(1)
    print('World')

asyncio.run(main())

Важно: async не делает код быстрее для CPU-bound задач, только для I/O-bound.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы