Встречается на 8% собеседований по Python
Зачем нужна асинхронность
Асинхронность нужна для эффективной работы с I/O-операциями, когда задача большую часть времени простаивает в ожидании внешних ресурсов
Один поток может обрабатывать множество задач одновременно, не блокируя выполнение на время ожидания.
Когда использовать:
- Сетевые запросы (API, веб-скрейпинг)
- Работа с БД
- Веб-серверы (обработка тысяч соединений)
- Чат-боты и мессенджеры
Пример:
text
import asyncio
async def fetch_data(url):
# Имитация долгого сетевого запроса
await asyncio.sleep(2)
return f"Данные с {url}"
async def main():
# Запускаем 3 задачи параллельно
results = await asyncio.gather(
fetch_data("https://api1.com"),
fetch_data("https://api2.com"),
fetch_data("https://api3.com")
)
print(results)
# Выполнить за ~2 секунды вместо 6
asyncio.run(main())Преимущества:
- Высокая производительность для I/O-задач
- Экономия ресурсов (не нужны дополнительные потоки)
- Масштабируемость (тысячи одновременных соединений)
Не для всего:
Не подходит для CPU-bound задач (математические вычисления, обработка изображений) — для них лучше многопроцессорность.

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