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

В чем разница между асинхронным и синхронным подходом

Синхронный код выполняется последовательно - каждая операция блокирует выполнение до своего завершения. Асинхронный позволяет выполнять задачи параллельно, не дожидаясь завершения предыдущих операций.

Ключевые различия:

  1. Блокировка - синхронный код блокирует поток, асинхронный нет
  2. Производительность - асинхронный лучше подходит для I/O-bound задач
  3. Сложность - асинхронный код сложнее в написании и отладке

Пример синхронного кода:

python
import time

def task():
    time.sleep(1)
    print("Task done")

start = time.time()
for _ in range(3):
    task()
print(f"Time: {time.time() - start:.2f}s")  # ~3s

Пример асинхронного:

python
import asyncio

async def task():
    await asyncio.sleep(1)
    print("Task done")

async def main():
    start = time.time()
    await asyncio.gather(*[task() for _ in range(3)])
    print(f"Time: {time.time() - start:.2f}s")  # ~1s

asyncio.run(main())

Асинхронность достигается через event loop и корутины (async/await). Для CPU-bound задач лучше использовать многопоточность/многопроцессорность.

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

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

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

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