后端岗位面试题更新 2026-08-05

Go 语言中 map 和 slice 在垃圾回收上有什么区别?

小鹅通后端开发性能优化风险判断技术原理Go

考察说明

考察对 Go 内存模型、GC 行为和底层数据结构差异的理解

回答思路

  1. 能说明 slice 仅保存数组指针,GC 按对象扫描
  2. 能说明 map 由 hmap 加多个 bucket 桶组成,可能产生大量离散对象
  3. 能讨论 map 扩容时旧数组释放与 GC 压力
  4. 能结合逃逸分析说明堆上分配对 GC 的影响