功能

Q: 函数是值传递还是引用传递

Q: 如何安全读写共享变量

Q: 缓冲、无缓冲 chan 的区别

Q: 如何用 chan、sync.WaitGroup 实现并发控制

Q: 如何用 ctx 控制超时时间

Q: 如何实现 deepcopy

优化

Q: 如何实现单元测试与 benchmark

Q: 有哪些实现 mock 的方式

Q: 线上性能分析有哪些方式

Q: 性能优化技巧

Q: timer.Ticker 是否精准

Q: 举例代码静态分析能发现的 badcase

实现

Q: init 的执行顺序

Q: slice、map 实现

Q: sync.Map 实现

Q: chan 实现

Q: 垃圾回收机制

Q: Finalizer 的作用

Q: 子程 panic 为何没法被父协程 recover

Q: 协程原理、开销、与线程进程相比的优缺点

Q: 协程如何调度,M(Machine)P(Processor)G(Goroutine)是什么关系

Q: 内存模型

  如何理解 Happens Before

  如何理解 Don’t communicate by sharing memory; share memory by communicating

生态

Q: 2.0 的改动点及你的看法

Q: vendor/mod 的区别