Встречается на собеседованиях • сегодня
Как делаешь фоновые задачи
В Python для фоновых задач можно использовать несколько подходов:
- Потоки (threading) - подходят для I/O-bound задач:
python
import threading
def background_task():
print("Running in background")
thread = threading.Thread(target=background_task)
thread.start()- Процессы (multiprocessing) - для CPU-bound задач:
python
from multiprocessing import Process
def cpu_intensive():
print("CPU work")
process = Process(target=cpu_intensive)
process.start()
text
3. **Асинхронность (asyncio)** - для I/O-bound с эффективным управлением:
```python
import asyncio
async def async_task():
await asyncio.sleep(1)
print("Async done")
asyncio.create_task(async_task())- Очереди задач (Celery/RQ) - для сложных распределенных задач:
python
# Пример с Celery
@app.task
def send_email():
# email logicВыбор зависит от типа задачи:
- I/O-bound → threading или asyncio
- CPU-bound → multiprocessing
- Долгие/распределенные → Celery/RQ
Важно учитывать GIL и состояние гонки в многопоточности. Для простых задач достаточно threading, для сложных - лучше Celery.

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