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

Был ли опыт работы с многопоточностью и асинхронностью

Да, работал с обоими подходами.

Многопоточность (threading):
Используется для параллельного выполнения I/O-bound задач (например, сетевые запросы).

python
import threading

def task():
    print("Thread running")

thread = threading.Thread(target=task)
thread.start()
thread.join()

Глобальная блокировка интерпретатора (GIL) ограничивает эффективность для CPU-bound задач.

Асинхронность (asyncio):
Оптимально для I/O-bound операций с большим количеством соединений.

python
import asyncio

async def fetch_data():
    await asyncio.sleep(1)
    print("Data fetched")

asyncio.run(fetch_data())

Работает на корутинах и event-loop, не создает потоков, но требует перепроектирования кода под async/await.

Выбор зависит от задачи:

  • Многопоточность — если нужна совместимость с блокирующим кодом.
  • Асинхронность — для масштабируемости в I/O-операциях.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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