> Как принимается решение, кому звонить при проблемах в нерабочее время (Go)
Уровень: senior · Роль: backend · Язык: Go · Категория: Технические вопросы
Компании: Wildberries
Стек: Go
> Пример ответа
Решение о том, кому звонить при проблемах в нерабочее время, принимается на основе заранее установленной схемы эскалации и ротации дежурных. В Go-проектах это часто автоматизировано через интеграцию с PagerDuty, Opsgenie или собственными инструментами.
- Ротация дежурных: Определяется расписание (например, неделя через неделю), которое хранится в конфиге или базе данных. Каждый разработчик из команды поддержки имеет assigned shift.
- Приоритет инцидента: Критичность проблемы (P0, P1) определяет, кому звонить - сначала L1 (дежурный разработчик), затем L2 (тимлид или архитектор), и так до CTO.
- Автоматизация: В Go-микросервисах часто используется middleware для мониторинга ошибок (например, Prometheus + Alertmanager). При превышении порога (latency > 500ms, error rate > 1%) Alertmanager отправляет алерт в PagerDuty, который звонит текущему дежурному.
- Fallback: Если дежурный не отвечает в течение 5-10 минут, система эскалирует следующему по списку (например, через escalation policy в PagerDuty).
- Документация: В репозитории проекта (обычно в
docs/oncall.md) хранятся контакты и порядок действий. Например:- Проверить дашборды Grafana.
- Посмотреть логи в Kibana.
- Если проблема в коде - создать hotfix и PR с тегами
#urgent.
Пример кода для уведомления в Go:
GOfunc notifyOnCall(incident Incident) {onCall := getCurrentOnCall() // из PagerDuty APIsendAlert(incident, onCall.Phone)if !acknowledged(incident, 5*time.Minute) {escalate(incident, onCall.Escalation)}}
Таким образом, решение принимается автоматически на основе ротации и приоритета, минимизируя человеческий фактор.
> Похожие задачи по Go
Как должна выглядеть компания, в которую хочешь пойти работать
Что такое грязное чтение, фантомное чтение и неповторяемое чтение в транзакциях
Как обнаружить, что процесс начал занимать больше времени
Какие методы использовались для достижения оптимизации процесса закрытия операционного дня
> Похожие задачи по backend
Как должна выглядеть компания, в которую хочешь пойти работать
Что такое грязное чтение, фантомное чтение и неповторяемое чтение в транзакциях
Как обнаружить, что процесс начал занимать больше времени
Какие методы использовались для достижения оптимизации процесса закрытия операционного дня
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью