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

Все ли операции можно сделать асинхронными

Нет, не все операции можно сделать асинхронными. Асинхронность эффективна для I/O-bound задач (сетевые запросы, работа с файлами, БД), где есть ожидание. CPU-bound задачи (тяжелые вычисления) не выигрывают от async, так как они блокируют event loop. Для них лучше использовать multiprocessing.

Пример асинхронного кода (I/O-bound):

python
import asyncio

async def fetch_data():
    await asyncio.sleep(1)  # имитация I/O операции
    return "data"

async def main():
    result = await fetch_data()
    print(result)

asyncio.run(main())

Для CPU-bound задач используйте:

python
from multiprocessing import Pool

def heavy_computation(x):
    return x * x

with Pool() as p:
    print(p.map(heavy_computation, [1, 2, 3]))
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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