新闻详情

新闻详情

首页 / 资讯中心 / 详情

Go 面试突击:100 道精选高频题全景指南

发布时间:2026/10/2 0:57:18来源:尧图网络
Go 面试突击:100 道精选高频题全景指南
Go 面试突击100 道精选高频题全景指南Go 后端面试高频题集中在 slice / map / GMP / defer / interface。本文选题汇总 100 道命中率 90% 的真题按难度分布给出答案。一、Slice 基础10 题Q1. nil slice 与空 slice 的区别nil:var s []int未分配底层长度 0。空:s : []int{}或s : make([]int, 0)分配了底层。json.Marshal(nil) → nulljson.Marshal([]int{}) → []。Q2. slice append 何时扩容初始 cap 翻倍到 1024 后按 1.25 倍超大元素按需分配。Q3. slice 截断后元素是否还保留a : make([]int, 100); b : a[:10]底层数组不被释放。Q4. 如何把一个 slice 复制到另一份独立b:make([]T,len(a))copy(b,a)Q5. slice 数组删除第 i 个元素sappend(s[:i],s[i1:]...)注意返回值。二、Map 基础10 题Q6. map 可以放 struct 作为 key 吗可以但 struct 必须 comparable基本类型、数组。Q7. map range 顺序会变吗会每次顺序不一定。Q8. map 并发读写会怎样panic: concurrent map read and map write。Q9. sync.Map 与普通 map 区别维度普通 mutexsync.Map读多写少慢快任意读写通用受限Q10. map 删除是否释放内存不释放map 容量保持元素被 GC 回收。三、Goroutine 与 GMP15 题Q11. 主 goroutine panic 会怎么样整个进程崩溃。Q12. goroutine 占多少内存初始 2KB可动态扩展。Q13. GMP 三色模型是什么G goroutine, M machine, P logical processor。Q14. M 与 P 数量关系M 不限P 决定最多并发 goroutine 数。Q15. goroutine 调度是协作还是抢占1.14 全部抢占基于信号。四、Channel15 题Q16. nil channel 行为永久阻塞用于 select 屏蔽 case。Q17. 关闭 channel 后再写入panic。Q18. select 多 case 是否有优先级无随机挑选。五、Defer10 题Q19. defer 执行顺序LIFO。Q20. defer 修改具名返回值能影响调用方吗能。Q21. defer panic 内再 panic 会怎样程序崩溃。六、Error10 题Q22. error 与 panic 区分error 用于业务panic 用于真正异常。Q23. errors.Is 是怎么实现的链式遍历匹配 Sentinel。Q24. errors.As 用途提取特定类型。七、Interface 与反射10 题Q25. iface 与 eface 区别iface 带方法集eface 仅任意类型。Q26. nil 接口断言会 panic 吗var p *T nil; var i interface{} p断言成*T不 panic。i.(T)在 i 真的 nil interface 时 panic。Q27. reflect 用法多慎用性能损失大概 30-100x业务少用。八、并发原语10 题Q28. Mutex 死锁如何排查pprof goroutine profile。Q29. sync.Once 实现原理双重检查 mutex。Q30. waitgroup 不能完全代替 channel不能channel 可传递值。九、性能与 GC10 题Q31. GOGC 影响什么GC 触发阈值越大 → 触发越少。Q32. sync.Pool 适合哪些场景临时对象不能 hold 外部引用。Q33. string 与 []byte 互转多大代价一次malloc copy可 unsafe 零拷贝仅读。十、实战10 题Q34. 单例设计模式 Go 实现sync.Once 或 atomic。Q35. Web 服务的优雅停机signal.NotifyContextsrv.Shutdown(ctx)。Q36. channel 实现 fan-in / fan-outfor v : range ch。Q37. 协程池怎么写worker pool固定 N 个 goroutine任务通过 channel 派发。Q38. GC 触发时机malloc 超过 GCthreshold。Q39. context 用来干什么传递 deadline、cancel、传值。Q40. OOM 时 Go 怎么处理1.19 设GOMEMLIMIT或依赖 cgroups。Q41. recover 仅能捕获同 goroutine是。Q42. 死锁的 4 个必要条件互斥、占有等待、非抢占、循环等待。Q43.gin.Engine.Default()与New()区别Default() 加 Logger Recovery。Q44. grpc Stream 与 UnaryUnary 单次Stream 用 channel 多次。Q45. docker 镜像大小优化CGO0 静态链接 distroless。Q46. K8s Readiness vs LivenessReadiness流量进失败则不接流量Liveness存活失败则重启 Pod。Q47. CRD / Operator 三件套kubebuilder controller-runtime Go。Q48. prometheus bucket 设置按 SLI 目标反指数分布。Q49. OTel 自动埋点的库otelgin / otelgrpc / otelsql。Q50. JWT vs OAuth2JWT 是 token 格式OAuth2 是授权框架可承载 JWT。Q51. gRPC 中 deadline 机制客户端 ctx 终止即放弃服务端判断 ctx 取消。Q52. gRPC Stream 重试服务端 stream interceptor。Q53. fastHTTP 与 net/http 优缺点fastHTTP 更快但不兼容 net/http middleware。Q54. etcd watch 限流服务端限制每秒 watch 数。Q55. consul 健康检查机制HTTP/TCP/gRPC TTL。Q56. Redis 集群 hash slot16384 slot每个 node 负责一段。Q57. kafka rebalance 时如何控制session.timeout.ms/max.poll.interval.ms。Q58. mq 消息幂等业务幂等键 unique index。Q59. grpc 错误码转换status.Code()。Q60. ES 查询条件子句must / should / must_not filter。Q61. ES 倒排索引原理term 词典 postings list。Q62. ES 大查询使用 from size 限制from size 不能 10000用 search_after。Q63. pprof 抓 CPU 占用runtime/pprofpprof.StartCPUProfile。Q64. trace 提供什么goroutine 状态、调度、GC 时间轴。Q65.runtime.Gosched()用途让出 P避免长任务独占。Q66.runtime.NumGoroutine()当前活跃 goroutine 数。Q67.runtime.Caller(0)用途获取当前 PC。Q68. 字符串拼接三种方式拼接编译器优化bytes.Buffer通用strings.Builder高效Q69. 字节切片 vs 字符串[]byte可变string 不可变、不可寻址。Q70. defer recover 全局兜底放在每个 goroutine 外层。Q71.cap计算时间复杂度O(1)。Q72.len计算时间复杂度O(1)。Q73. 排序 同时切片slices.SortFunc(x,func(i,jint)bool{returnx[i]x[j]})Q74.os.Args是什么命令行参数 slice。Q75.init()数量包里多个按顺序执行。Q76.init()vsfunc main()init 程序启动时执行main 入口。Q77. JSON time.Time 默认格式RFC3339Nano 串。Q78. byte order for netbinary.BigEndian 网络字节序。Q79. 缓存行 false sharingCPU 多核 hot write 时跨核 padding 解决。Q80. 字节对齐如何填按最大字段对齐插入 padding。Q81.unsafe包最大优势零拷贝字符串/切片互转。Q82.go test -race做什么检测 race condition。Q83.go build -tags干吗条件编译。Q84.go mod tidy干吗清理 go.mod 多余依赖。Q85.go vet检查静态代码错误分析。Q86.go generate干吗调用//go:generate注释的工具生成代码。Q87.sql.NullString用法vars sql.NullString s.Stringabcs.ValidtrueQ88. transaction ACID原子性、一致性、隔离性、持久性。Q89. kafka consumer group 概念并行消费者逻辑分组。Q90. kafka leader 选举controller broker 推动选主。Q91. grpc interceptor 与 middleware 区别interceptor 是 grpc 自家概念middleware 是抽象术语。Q92. service mesh sidecarIstio Envoy sidecar拦截进出流量。Q93. slog 比 logrus 优势更高性能、内置。Q94.time.After内存泄漏循环里每次创建 timer2min GC 后才回收。Q95.time.NewTicker与time.AfterTicker 复用After 每次新建。Q96.context.WithValue性能map 查找约 20ns。Q97.context.WithTimeout在 select 里作用ctx.Done() 触发退出。Q98. JWT 三段式header / payload / signature。Q99. JWT 刷新机制refresh token access token 配合。Q100. gRPC 多路复用基于HTTP/2 stream。十一、总结与展望100 题基本覆盖 Go 后端面试高频考点。建议按主题刷题slice/map/GMP/channel/defer/error五道大关再做项目实战题。未来面试会越来越关注云原生、可观测性、性能调优的实操能力Gopher 应当补足 K8s、Operator、Trace 等方向知识。十二、参考文献Go 官方文档cgo 源码高性能 Go公众号系列
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

嵌入式AI无人机实战:从算力选型到视觉避障落地全解析 2026/10/2 3:42:47

嵌入式AI无人机实战:从算力选型到视觉避障落地全解析

在无人机行业摸爬滚打了十年,被问得最多的一个问题就是:嵌入式AI到底能在无人机上做什么?坦白讲,这个问题在十年前和现在是两个完全不同的答案。十年前大家谈的是姿态解算、GPS航线、手动增稳,现在谈的是机载实时目标检…

阅读更多 →
Windows本地管理员安全加固:从权限边界到LAPS实战 2026/10/2 3:42:47

Windows本地管理员安全加固:从权限边界到LAPS实战

1. 为什么“本地管理员”是系统里最容易被忽视的安全盲区聊到Windows系统的权限管理,很多人第一时间想到的是域管理员(Domain Admin)、企业管理员(Enterprise Admin),本地管理员账户通常被当成“装系统时随…

阅读更多 →
直流微电网保护仿真:Simulink建模与故障策略详解 2026/10/2 3:42:41

直流微电网保护仿真:Simulink建模与故障策略详解

直流微电网保护仿真,这两年做的人越来越多了。我自己在搭"本地松弛母线光伏电池直流负载"这套系统的Simulink仿真时踩了不少坑,也把建模细节反复调过几轮。这篇文章就把我最终跑通的一版方案完整拆开来讲,包括光伏侧的标准光伏模型…

阅读更多 →
智慧高速服务区建设方案:从四层架构到落地避坑指南 2026/10/2 3:42:41

智慧高速服务区建设方案:从四层架构到落地避坑指南

高速公路服务区的智慧化改造,这几年已经不是“要不要做”的问题,而是“怎么做才不返工”的问题。我在交通信息化行业做了不少服务区改造项目,见过花了大几百万把大屏装得气派非凡、结果日常运营该乱还是乱的案例,也见过预算不算高…

阅读更多 →
AI Agent权限失控与安全管控:从动态授权到全域风险治理 2026/10/2 3:42:41

AI Agent权限失控与安全管控:从动态授权到全域风险治理

一个能自己写代码、自己调接口、自己操作业务的AI Agent,有一天抢过你的键盘,用你的权限干了件你完全不知情的事——这已经不是科幻片桥段,而是2026年做Agent落地的人天天要面对的现实。做Agent的团队都想让智能体“真下地干活”,…

阅读更多 →
StarRocks RBAC权限全解析:从角色设计到授权回收实战 2026/10/2 3:42:21

StarRocks RBAC权限全解析:从角色设计到授权回收实战

先说个真实的场景。去年我接手一套StarRocks集群,前任管理员把root密码贴在团队Wiki里,所有数据开发、BI分析师、甚至实习生连的都是root账号。某天一个同事在正式库上执行了误删操作,好在有备份才没酿成大事故。更隐蔽的问题是:有…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉