Чем array и slice отличается от array в Go-разработке?

GoJunior+Types, Collections and MemoryТеорияtypes_collections_and_memoryarray_i_slice_arraygolang_developer

Что хотят услышать интервьюеры:

Суть: array и slice нужно рассматривать через конкретное поведение и границы применения, а сравнение с array помогает показать trade-off, а не просто знание терминов. array имеет фиксированную длину, а slice — представление над массивом с длиной, capacity и ссылкой на backing array.

Ответ:

Пример:

s := []int{1,2,3}; s = append(s, 4)

Практический акцент: Сравнительные вопросы часто используют, чтобы проверить не заучивание, а инженерное мышление.

Типичная ошибка: Главная ошибка — отвечать на сравнение абстрактно. Нужно показать, где один вариант безопаснее, проще или производительнее, и упомянуть риск: передавать большой slice и не понимать, что он может удерживать большой backing array в памяти.

Как отвечать на собеседовании: На интервью формулируйте различие через применение в реальном backend-коде: читаемость, тестируемость, latency, память и сопровождение.

Источники

Похожие вопросы