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

请说明 Go 中 slice 的底层结构,并解释其扩容机制。追问:如果一次性要插入当前容量 3 倍的数据,扩容会怎样进行?

Momenta后端开发互联网/IT性能优化技术原理Go

考察说明

考察 slice 底层数据模型、扩容策略及大容量一次性增长的边界处理

回答思路

  1. 准确描述 slice 的指针、长度和容量字段
  2. 说明容量小于 1024 时翻倍、大于等于 1024 时增长约 1.25 倍的规则
  3. 针对一次性增长 3 倍容量,明确指出 Go 会直接分配所需容量,而非按原策略迭代
  4. 说明扩容后新底层数组与旧数组的分离,以及指针、cap 的更新
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。