func init() {

make([]Product, 100) создаёт уже 100 элементов. Для пустой корзины с запасом памяти используйте make([]Product, 0, 100), а добавление делайте через append.

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

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

make([]Product, 100) создаёт уже 100 элементов. Для пустой корзины с запасом памяти используйте make([]Product, 0, 100), а добавление делайте через append.

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

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

Условие

func init() { items = make([]Product, 100) }

func AddItemToShoppingCart(item Product) {

Ответ

make([]Product, 100) создаёт уже 100 элементов. Для пустой корзины с запасом памяти используйте make([]Product, 0, 100), а добавление делайте через append.

func init() {
    items = make([]Product, 0, 100)
}

func AddItemToShoppingCart(item Product) {
    items = append(items, item)
}

Product и items предполагаются объявленными в остальном коде. Это однопоточный минимальный пример: конкурентный доступ требует синхронизации, а общая глобальная корзина не подходит для разных пользователей.

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

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

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

Подробнее