Ответ вслух Middle SQL для аналитика обновлено

Кейс: партнёр говорит, что заказы теряются

Вопрос

Служба доставки жалуется: часть переданных заказов к ним не доходит. Как ты будешь разбираться с помощью данных?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Сначала договорюсь о периоде и о том, какие заказы считаются переданными, например статусы отправлен и доставлен. Беру нашу выборку и выгрузку партнёра, загружаю рядом и сверяю через FULL JOIN по номеру заказа.

Что должно прозвучать в ответе

  • Определить границы: какие заказы должны были уйти, по каким статусам и датам

  • Сверка: наша выборка против выгрузки партнёра, FULL JOIN или EXCEPT

  • Классификация расхождений: нет у партнёра, нет у нас, суммы и статусы различаются

  • Поиск закономерности: время, тип заказа, регион, ошибки в логах интеграции

  • Итог: причина, требования к исправлению и регулярная автоматическая сверка

Что могут спросить следом

  • Как сделать так, чтобы сверка шла каждый день сама?
  • Что если у партнёра нет выгрузки?

Разбор

Сначала договорюсь о периоде и о том, какие заказы считаются переданными, например статусы отправлен и доставлен. Беру нашу выборку и выгрузку партнёра, загружаю рядом и сверяю через FULL JOIN по номеру заказа. Получаю три группы: нет у партнёра, есть у партнёра, но нет у нас, совпадают, но суммы или статусы разные. Дальше ищу закономерность: время отправки, тип заказа, регион, совпадение с ошибками в логах интеграции или ретраями. Часто причина в таймаутах и отсутствии повторной отправки. Итог: описываю причину, требования к исправлению, например outbox и идемпотентный повтор, и регулярную автоматическую сверку с алертом.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.