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

Что самое сложное удалось реализовать

Одна из самых сложных задач — реализация распределенной очереди задач с гарантированной доставкой и обработкой. Использовал Celery + RabbitMQ с retry-механизмами и dead-letter очередями.

Пример:

python
@app.task(bind=True, max_retries=3, queue='high_priority')
def process_data(self, data):
    try:
        # Логика обработки
        if not validate(data):
            raise ValueError("Invalid data")
    except Exception as exc:
        self.retry(exc=exc, countdown=60)

Особые сложности:

  • Гарантия обработки при падении воркеров
  • Идемпотентность операций
  • Балансировка нагрузки между очередями

Решил через:

  • Хранение состояния задач в Redis
  • Экспоненциальные задержки для retry
  • Мониторинг через Flower + Prometheus
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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