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

Когда нужно использовать асинхронность

Асинхронность в Python полезна для I/O-bound задач, где основное время тратится на ожидание (сетевые запросы, чтение файлов, БД и т.д.). Она позволяет эффективно использовать ресурсы, выполняя другие задачи во время ожидания.

Основные сценарии:

  • Веб-серверы (FastAPI, aiohttp)
  • Работа с API
  • Парсинг данных
  • Чтение/запись файлов
  • Работа с базами данных

Пример с asyncio:

python
import asyncio

async def fetch_data():
    print("Начинаем загрузку...")
    await asyncio.sleep(2)  # Имитация I/O операции
    print("Данные загружены")
    return "результат"

async def main():
    task1 = asyncio.create_task(fetch_data())
    task2 = asyncio.create_task(fetch_data())
    await task1
    await task2

asyncio.run(main())

Не используйте асинхронность для CPU-bound задач - для них лучше подходят потоки/процессы. Также избегайте смешивания синхронного и асинхронного кода без необходимости.

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

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

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

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