Купер · октябрь 2024

Тех собес на middle-senior Golang Разработчик в Купер

middle-senior Тех собес 1 задача

Условие

Реализовать метод gRPC-сервера, который:

  • Добавляет товар в корзину
  • Оформляет корзину

В оформленные корзины (basket.Status = "ordered") изменения вносить нельзя.

При изменении состава корзины надо пересчитывать:

  • basket.Total = sum(count * price)

Все элементы в корзине должны быть уникальны по ключу ProductID.

Для оформления корзины необходимо:

  • Сменить ее статус на ordered
  • Сообщить возможным потребителям с помощью сообщений в брокер.
func (bs *BasketServer) AddItemAndOrder(ctx context.Context, req *AddItemRequest) (*EmptyResponse, error) {
  basket, err := bs.repo.Load(ctx, req.UserID)
  if err != nil {
    return nil, err
  }

  // place your code

  err = bs.repo.Save(ctx,…
Конец фрагмента

Премиум-подписка

Открывает это интервью целиком и все материалы направления «Golang Разработчик».

в этом собесе: 1 задача с кодом
  • Ещё 490 текстовых собесов направления
  • 344 видеозаписи собеседований
  • Приоритетная поддержка
1490₽/мес