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

Какие из следующих задач нужно переводить с многопоточного сервера на асинхронный: запись в БД, обмен с другими серверами, работа с центральным процессером

Задачи, связанные с I/O операциями (ожиданием ответа от других серверов, запись/чтение из БД) — идеальные кандидаты для асинхронного подхода, так как позволяют эффективно использовать время ожидания. Работа с CPU (тяжелые вычисления) не выиграет от асинхронности и даже может ухудшить производительность.

Пример асинхронного запроса к серверу:

python
import aiohttp
import asyncio

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

Для CPU-bound задач лучше использовать процессы (multiprocessing) или выносить их в отдельные сервисы. Асинхронность же отлично подходит для:

  • Сетевых запросов (REST API, gRPC)
  • Работы с базами данных (async драйверы типа asyncpg)
  • Микросервисной коммуникации
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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