1. Go 中的 rune 和 byte 有什么区别?
  2. Go 中的 string 和 []byte 有什么区别?
  3. 什么是深拷贝和浅拷贝?
  4. Go 中的 slice 和 array 有什么区别?slice的扩容机制与扩容时机,使用slice该注意什么
  5. 说说 Go 中闭包的底层原理?
  6. 说一下 GMP 模型的原理
  7. Go 的默认栈大小是多少?最大值多少?
  8. Go 中的分段栈和连续栈的区别?
  9. 简述一下 Go 栈空间的扩容/缩容过程?
  10. GMP 为什么要有 P ?
  11. Go 中的 GC 演变是怎样的?
  12. 哪些情况会导致协程泄露?
  13. 内存分配原理
  14. gin框架的路由实现原理
  15. go中http库的实现原理
  16. 代码题:使用n个并发,输出[]string{“a”, “b”, “c”, “d”, “e”, “f”, “g”}
  17. 代码题:实现一个简单的协程池
  18. 代码题:使用并发编排,使abc三个各输出100次
  19. map的底层实现原理,如果一个协程在delete, 一个协程在读,会出现什么问题,原因是什么
  20. uinptr和unsafe.Pointer的区别
  21. singleFlight存在的坑