Встречается на 53% собеседований по Go
В чем разница между массивом и слайсом
Массив — это фиксированная коллекция элементов одного типа с известным размером на этапе компиляции. Размер массива — часть его типа (например, [3]int и [5]int — разные типы).
Слайс — это динамическая обёртка над массивом, которая может изменять свой размер. Слайс состоит из указателя на массив, длины (len) и ёмкости (cap).
Пример:
go
// Массив (фиксированный размер)
arr := [3]int{1, 2, 3} // тип [3]int
// Слайс (динамический)
slice := []int{1, 2, 3} // тип []int
slice = append(slice, 4) // можно расширитьКлючевые отличия:
- Массивы имеют фиксированный размер, слайсы — нет.
- Слайсы передаются по ссылке, массивы — по значению (копируются).
- Слайсы поддерживают операции вроде
append,copyи срезы (slice[1:3]).
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы
