1. Mutex 几种状态
2. Mutex 正常模式和饥饿模式
3. Mutex 允许自旋的条件
4. RWMutex 实现
5. RWMutex 注意事项
6. Cond 是什么
7. Broadcast 和 Signal 区别
8. Cond 中 Wait 使用
9. WaitGroup 用法
10. WaitGroup 实现原理
11. 什么是 sync.Once
12. 什么操作叫做原子操作
13. 原子操作和锁的区别
14. 什么是 CAS
15. sync.Pool 有什么用
1. 与其他语言相比,使用 Go 有什么好处?
2. Golang 使用什么数据类型?
3. Go 程序中的包是什么?
4. Go 支持什么形式的类型转换?
5. 什么是 Goroutine?你如何停止它?
6. 如何在运行时检查变量类型?
7. Go 两个接口之间可以存在什么关系?
8. Go 当中同步锁有什么特点?作用是什么
9. Go 语言当中 Channel(通道)有什么特点,需要注意什么?
10. Go 语言当中 Channel 缓冲有什么特点?
11. Go 语言中 cap 函数可以作用于哪些内容?
12. Go Convey 是什么?一般用来做什么?
13. Go 语言当中 new的作用是什么?
14. Go 语言中 make 的作用是什么?
15. Printf(),Sprintf(),FprintF() 都是格式化输出,有什么不同?
16. Go 语言当中数组和切片的区别是什么?
17. Go 语言当中值传递和地址传递(引用传递)如何运用?有什么区别?
18. Go 语言当中数组和切片在传递的时候的区别是什么?
19. Go 语言是如何实现切片扩容的?
20. 看下面代码的 defer 的执行顺序是什么? defer的作用和特点是什么?
21. Golang Slice 的底层实现
22. Golang Slice 的扩容机制,有什么注意点?
23. 扩容前后的 Slice 是否相同?
24. Golang 的参数传递. 引用类型
25. Golang Map 底层实现
26. Golang Map 如何扩容
27. Golang Map 查找
28. 介绍一下 Channel
29. Channel 的 ring buffer 实现
30. Go程序的基本结构?
31. Go有哪些关键字?
32. Go有哪些数据类型?
33. Go方法与函数的区别?
34. Go方法值接收者和指针接收者的区别?
35. Go函数返回局部变量的指针是否安全?
36. Go函数参数传递到底是值传递还是引用传递?
37. Go defer关键字的实现原理?
38. Go内置函数make和new的区别?
39. Go slice的底层实现原理
40. Go array和slice的区别?
41. Go slice深拷贝和浅拷贝
42. Go slice扩容机制?
43. Go slice为什么不是线程安全的?
44. Go map的底层实现原理
45. Go map遍历为什么是无序的?
46. Go map为什么是非线程安全的?
47. Go map如何查找?
48. Go map冲突的解决方式?
49. Go map 的负载因子为什么是 6.5?
50. Go map如何扩容?
51. Go map和sync.Map谁的性能好,为什么?
52. Go channel的底层实现原理?
53. Go channel有什么特点?
54. Go channel为什么是线程安全的?
55. Go channel如何控制goroutine并发执行顺序?
56. Go channel共享内存有什么优劣势?
57. Go channel发送和接收什么情况下会死锁?
58. Go channel有无缓冲的区别?
阅读(659) | 评论(0) | 转发(0) |