Есть handler для получения информации о текущей корзине пользователя. Ниже представлена структура ответа из swagger. Какие 3 бизнес сценария ты проверил бы в первую очередь?

Сначала проверю пустую корзину, корректную корзину с товарами и скидками, а также изоляцию корзин разных пользователей. Для расчётов заранее уточню смысл discount и правила округления.

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

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

Сначала проверю пустую корзину, корректную корзину с товарами и скидками, а также изоляцию корзин разных пользователей. Для расчётов заранее уточню смысл discount и правила округления.

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

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

Условие

Есть handler для получения информации о текущей корзине пользователя. Ниже представлена структура ответа из swagger. Какие 3 бизнес сценария ты проверил бы в первую очередь?

  • ручка вызывается залогиненным в систему пользователем
  • у тебя есть доступ к базе данных микросервиса

Request GET /user/cart

Response { "items": [ { "item_id": "integer", "item_name": "string", "item_price": "number", "quantity": "integer", "discount": "number" } ], "total_price": "number", "total_discount": "number", "final_price": "number" }

Ответ

Сначала проверю пустую корзину, корректную корзину с товарами и скидками, а также изоляцию корзин разных пользователей. Для расчётов заранее уточню смысл discount и правила округления.

  1. У нового пользователя items пуст, суммы соответствуют контракту, ошибки нет.
  2. Несколько товаров с разным количеством и скидками дают согласованные total_price, total_discount, final_price; значения сверяются с подготовленными данными и утверждённой формулой.
  3. Два авторизованных пользователя получают только собственные корзины.

Нельзя автоматически считать discount процентом или денежной суммой: схема задаёт лишь тип. Доступ к БД помогает подготовить и проверить состояние, но не заменяет проверку ответа API.

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

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

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

Подробнее