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

当一个 goroutine 阻塞或挂起时,其栈上的局部变量(例如闭包捕获的变量)会不会被保存下来,从而在恢复执行时保持原值?请结合 Go 的调度模型说明。

深圳虾皮信息科技有限公司后端开发互联网/IT问题拆解技术原理Go

考察说明

考察对 Go 运行时调度、goroutine 栈结构与闭包捕获机制的理解

回答思路

  1. 能说明 goroutine 以栈形式保存挂起时的执行状态
  2. 能指出局部变量在栈上,随栈保存,恢复时原值保留
  3. 能区分逃逸变量被分配在堆上,但引用仍被栈保存
  4. 能结合协程非抢占式切换与运行时调度说明栈切换机制
本题已收录答题指导

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

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