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

Как синхронный код переписать на асинхронный

Основные шаги для перевода синхронного кода в асинхронный:

  1. Использовать async/await вместо блокирующих вызовов
  2. Заменить стандартные библиотечные вызовы на их асинхронные аналоги (например, aiohttp вместо requests)
  3. Использовать asyncio для управления event loop'ом

Пример перевода:

python
# Синхронный вариант
import requests

def fetch_data(url):
    response = requests.get(url)
    return response.json()

# Асинхронный вариант
import aiohttp

async def fetch_data(url):
    async with aiohttp.ClientSession() as session:
        async with session.get(url) as response:
            return await response.json()

Ключевые моменты:

  • Функции помечаются async
  • Блокирующие операции заменяются на await
  • Используются асинхронные контекстные менеджеры (async with)
  • Для запуска используется asyncio.run() или event loop

Важно помнить, что не весь код можно/нужно переводить в асинхронный - CPU-bound задачи не выиграют от этого.

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

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

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

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