Skip to content

万字长文2024最全Go面经汇总

本文主要是分享真实的面经,关于这些问题的详解,我们只整理了一部分,文末有他们的详解跳转链接,如果需要可以点进去看看。

对于我们没有整理的面经详解,我建议大家可以使用 AI,基于这些真实的面经去获取对应的答案。

如果你需要更多的面经,也可以私信我联系我。

腾讯一面

  1. 协程池的作用?
  2. 内存逃逸分析?
  3. go的内存回收什么条件会触发? go的GC能够手动触发吗?
  4. channel的底层实现? 有缓冲的,无缓冲的channel, 如果管道已经关闭了, 读取会不会发生错误?
  5. 切片使用的时候需要注意什么?
  6. go中的参数传递是值传递还是引用传递?
  7. defer的执行顺序?
  8. 100G的文件, 统计出所有英文字母, 按照字母表顺序输出
  9. linux如何分割文件?
  10. 接口性能如何优化?
  11. 什么情况会全表扫描?
  12. 主丛同步的原理? mysql还有什么相关的log文件?
  13. 分布式锁的原理?

腾讯二面

项目拷打15分钟

  1. Kafka的消息丢失和消息重复消费。
  2. Kafka和Rabbitmq的区别在哪?(架构、推和拉)
  3. 拉的模式有什么好处(控制消费速度)
  4. 使用分布式锁的过程中应用挂了?
  5. 优雅启停+defer
  6. 使用过期时间+自动续期
  7. 对象存储和文件存储的主要区别是什么?
  8. 分片上传是怎么实现的(文件合并hash一致性校验,引出文件秒传)
  9. 邮箱验证码功能怎么实现的。(redis+邮箱组件)
  10. jwt的格式。加密算法、内容、过期时间
  11. 讲一下defer的原理
  12. 讲一下map的底层结构
  13. map中hash冲突怎么解决(链表、红黑树)
  14. 讲一下go性能调优的案例(pprof,线程日志)
  15. 通过线程日志延伸出,怎么看一个线程在线程日志里是卡在循环还是事件等待?
  16. 线程日志上面会有标记。
  17. 讲一下mysql的事务隔离级别?
  18. 解释一下什么是可重复读?
  19. 事务实现的底层原理?
  20. Redis持久化机制(RDB,AOF)
  21. 为什么持久化的时候是fork子进程处理
  22. 讲一下docker实现容器的基本原理
  23. 用过其他容器运行时吗
  24. K8s有哪些组件?

腾讯一面(校招)

  1. map怎么去做并发安全
  2. 外层的协程能捕获子协程的panic吗?
  3. panic都会被捕获吗?哪些panic不会捕获?
  4. slice和数组的区别?底层结构?
  5. go哪些内置类型是并发安全的?
  6. go的结构体可以嵌套组合吗?
  7. 两个结构体可以等值比较吗?
  8. 你如何理解interface类型
  9. 1.18版本后interface有什么增强?
  10. interface可以进行等值比较吗?
  11. 说说逃逸分析
  12. channel有缓冲和无缓冲的区别
  13. map并发访问会怎么样?这个异常可以捕获吗?
  14. GMP模型
  15. GMP模型中什么时候把G放全局队列?
  16. go的gc
  17. gc扫描是并发的吗?
  18. gc中的根对象是什么?
  19. 项目中etcd用来干什么