1.什麼是goroutine,他與process, thread有什麼區別?golang
2. 什麼是channel,爲何它能夠作到線程安全?面試
3. 瞭解讀寫鎖嗎,原理是什麼樣的,爲何能夠作到?數組
4. 如何用channel實現一個令牌桶?安全
5. 如何調試一個go程序?tcp
6. 如何寫單元測試和基準測試?單元測試
7. goroutine 的調度是怎樣的?測試
8. golang 的內存回收是如何作到的?ui
9. cap和len分別獲取的是什麼?.net
10. netgo,cgo有什麼區別?線程
11. 什麼是interface?
面試的時候儘可能瞭解協程,線程,進程的區別。
明白channel是經過註冊相關goroutine id實現消息通知的。
slice底層是數組,保存了len,capacity和對數組的引用。
若是瞭解協程的模型,就知道所謂搶佔式goroutine調用是什麼意思。
儘可能瞭解互斥鎖,讀寫鎖,死鎖等一些數據競爭的概念,debug的時候可能會有用。
儘可能瞭解golang的內存模型,知道多小纔是小對象,爲何小對象多了會形成gc壓力。
https://blog.csdn.net/weiyuefei/article/details/77963810
https://blog.csdn.net/u010824081/article/details/78181518
https://blog.csdn.net/yuanqwe123/article/details/81737180
https://blog.csdn.net/Charliewolf/article/details/82720886
100題:
https://blog.csdn.net/itcastcpp/article/details/80462619
https://blog.csdn.net/qq_36431213/article/details/80686436
https://blog.csdn.net/weiyuefei/article/details/78851624
https://blog.csdn.net/smile_YangYue/article/details/81076993
https://blog.csdn.net/fengxiaozhuzhu/article/details/80920282
https://blog.csdn.net/qq_28163175/article/details/75287877