Background jobs на собеседовании системного аналитика
Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.
Содержание:
Зачем background jobs
Long operations не должны block user requests.
Examples:
- Send emails.
- Generate reports.
- Image processing.
- Bulk imports.
- Periodic cleanups.
User submits → return ID quickly → background processes.
Queue technologies
RabbitMQ. Mature AMQP broker.
Redis. Lightweight, in-memory. Used с Celery, Sidekiq, BullMQ.
Kafka. Streaming, but can be queue.
SQS. AWS managed.
Yandex Message Queue. РФ alternative.
Cloud Tasks (GCP), Azure Service Bus.
Worker patterns
Pull-based. Workers poll queue.
while True:
job = queue.pop()
if job:
process(job)Push-based. Broker pushes к worker.
Sidekiq, RQ, Celery, BullMQ. Common worker frameworks.
Concurrency. Multiple workers parallel. Scale based на queue depth.
Retry strategies
Failed job → retry с backoff.
Attempt 1: 0s.
Attempt 2: 30s.
Attempt 3: 5min.
Attempt 4: 1h.
Stop / DLQ.Idempotency — make jobs safely retryable.
Poison messages. Bad job loops forever — DLQ after N attempts.
Scheduling
Cron-like. Run job каждые X.
Delayed. Run after N delay (e.g., reminder в 30 days).
Recurring. Daily cleanup, hourly reports.
Tools:
- Celery Beat.
- BullMQ scheduled jobs.
- Cron в k8s.
- Airflow для complex orchestration.
Связанные темы
- Webhook design для SA
- Idempotency key для SA
- Notification system для SA
- Backpressure для SA
- Подготовка к собесу системного аналитика
FAQ
Это официальная информация?
Нет. Статья основана на индустриальных background jobs practices.
Тренируйте системный анализ — откройте тренажёр с 1500+ вопросами для собесов.