Встречается на собеседованиях • сегодня
Зачем нужна асинхронность
Асинхронность нужна для эффективной работы с 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
интервью вопросы и ответы