Встречается на собеседованиях • сегодня
Зачем использовать асинхронность для I/O bound операций
Асинхронность позволяет эффективно выполнять I/O bound операции (сеть, файлы, БД), избегая простоев. Вместо блокировки потока на время ожидания, код передаёт управление другим задачам. Это особенно полезно в веб-серверах, где много одновременных запросов.
Пример с asyncio:
python
import asyncio
async def fetch_data(url):
print(f"Загрузка {url}")
await asyncio.sleep(2) # Имитация I/O операции
return f"Данные с {url}"
async def main():
tasks = [fetch_data(f"site{i}.com") for i in range(3)]
results = await asyncio.gather(*tasks)
print(results)
asyncio.run(main())Ключевые преимущества:
- Экономия ресурсов (1 поток вместо многих)
- Масштабируемость (тысячи одновременных соединений)
- Читаемость кода (явное указание точек ожидания)
Синхронный код блокировал бы поток на каждом запросе, а асинхронный выполняет их конкурентно.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы