Есть сервис для блокировки продавцов: одна ручка принимает ID продавца и записывает его в таблицу заблокированных. Как бы ты реализовал эту логику?

Проверьте право блокировать продавца и идемпотентно создайте запись с уникальным seller_id. Повторная блокировка не должна создавать дубликаты или терять аудит.

Короткий ответ

Что ответить на собеседовании

Проверьте право блокировать продавца и идемпотентно создайте запись с уникальным seller_id. Повторная блокировка не должна создавать дубликаты или терять аудит.

Подробный разбор

Ответ с пояснениями

Проверьте право блокировать продавца и идемпотентно создайте запись с уникальным seller_id. Повторная блокировка не должна создавать дубликаты или терять аудит.

Сохраните причину, инициатора и время, если это нужно контракту. Ограничение уникальности в БД защищает от конкурирующих запросов лучше предварительного SELECT. После commit обновите зависимые кэши и события устойчивым способом. Все операции продавца должны проверять блокировку в согласованной точке, иначе сама таблица не обеспечивает запрет.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее