1.什么是goroutine,他与process, thread有什么区别?
2. 什么是channel,为什么它可以做到线程安全?
3. 了解读写锁吗,原理是什么样的,为什么可以做到?
4. 如何用channel实现一个令牌桶?
5. 如何调试一个go程序?
6. 如何写单元测试和基准测试?
7. goroutine 的调度是怎样的?
8. golang 的内存回收是如何做到的?
9. cap和len分别获取的是什么?
10. netgo,cgo有什么区别?
需要课程及配资料夹我的\/2268731(备注暗号 网课 ,不备注不加)
面试的时候尽量了解协程,线程,进程的区别。
明白channel是通过注册相关goroutine id实现消息通知的。
slice底层是数组,保存了len,capacity和对数组的引用。
如果了解协程的模型,就知道所谓抢占式goroutine调用是什么意思。
尽量了解互斥锁,读写锁,死锁等一些数据竞争的概念,debug的时候可能会有用。
尽量了解golang的内存模型,知道多小才是小对象,为什么小对象多了会造成gc压力。
1、写出下面代码的输出