Встречается на собеседованиях • сегодня
Как решишь проблему задач, требующих много времени
Для решения долгих задач в Python можно использовать несколько подходов:
- Асинхронность (asyncio) - для I/O-bound задач:
python
import asyncio
async def long_task():
await asyncio.sleep(5) # Имитация долгой операции
return "Готово"
async def main():
result = await long_task()
print(result)
asyncio.run(main())- Многопоточность (threading) - для I/O-bound задач с блокирующими вызовами:
python
from threading import Thread
def long_task():
import time
time.sleep(5)
print("Готово")
thread = Thread(target=long_task)
thread.start()- Мультипроцессинг (multiprocessing) - для CPU-bound задач:
python
from multiprocessing import Process
def cpu_intensive():
# Тяжелые вычисления
pass
p = Process(target=cpu_intensive)
p.start()- Очереди задач (Celery/RQ) - для фоновой обработки в продакшне.
Ключевые моменты:
- Выбирай подход в зависимости от типа задачи (I/O vs CPU-bound)
- Для веб-приложений используй асинхронные фреймворки (FastAPI, Quart)
- Для тяжелых вычислений - multiprocessing или вынос в отдельный сервис
- Всегда учитывай накладные расходы на создание потоков/процессов

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы