投稿 @M4n5ter,分享有趣的事!
#面经 #GO
- Go 的垃圾回收机制?GMP 模型?
- Go 如何优雅关闭一个 channel ?
- Go 里面的 map 是怎么解决 hash 冲突的?
- slice 是引用传递还是值传递?slice 参数传递过去,修改之后,外部变量是否也会被修改?
- Go 读写锁的概念?读的时候会影响别人的读么?读优先还是写优先?
- context 的应用场景?
- select 的作用?项目中怎么使用的?
- 数组和切片的区别?
- map 是否是线程安全的,如何在 Go 中使用线程安全的 map ?
- sync.map 的原理
- Go 数据类型有哪些?
- 如何判断两个 interface{} / any 相等?
- Go map中删除一个 key 的内存是否会立即释放?
- init() 方法的特性
- switch-case语句,强制执行下一个case
- encoding/json 包解码通过 HTTP 请求接收的 JSON 数据时,它会默认将所有数字解析为 float64 类型
- Go 里面的类型断言?
- Go 静态类型声明?
- sync 包使用?
- CSP 并发模型
- 逃逸分析的介绍?逃逸分析怎么看(-gcflags = "-m -l")?工作中是否用过逃逸分析解决问题?
- 对关闭的 channel 进行读写 channel 会发生什么?对关闭的 channel 写为什么会 panic ?
- 字符串转 byte 数组会发生内存拷贝么?为什么?
- 如何实现字符串转切片无内存拷贝(unsafe)?
- Go 语言 channel 的特性?channel 阻塞信息是怎么处理的? channel 底层实现?
- Go 中 sysmon 有什么作用?
- GMP 中 work stealing 机制
- GMP 中 hand off 机制
- GMP 调度过程中存在哪些阻塞?
- Go 的垃圾回收机制?GMP 模型?
- Go 如何优雅关闭一个 channel ?
- Go 里面的 map 是怎么解决 hash 冲突的?
- slice 是引用传递还是值传递?slice 参数传递过去,修改之后,外部变量是否也会被修改?
- Go 读写锁的概念?读的时候会影响别人的读么?读优先还是写优先?
- context 的应用场景?
- select 的作用?项目中怎么使用的?
- 数组和切片的区别?
- map 是否是线程安全的,如何在 Go 中使用线程安全的 map ?
- sync.map 的原理
- Go 数据类型有哪些?
- 如何判断两个 interface{} / any 相等?
- Go map中删除一个 key 的内存是否会立即释放?
- init() 方法的特性
- switch-case语句,强制执行下一个case
- encoding/json 包解码通过 HTTP 请求接收的 JSON 数据时,它会默认将所有数字解析为 float64 类型
- Go 里面的类型断言?
- Go 静态类型声明?
- sync 包使用?
- CSP 并发模型
- 逃逸分析的介绍?逃逸分析怎么看(-gcflags = "-m -l")?工作中是否用过逃逸分析解决问题?
- 对关闭的 channel 进行读写 channel 会发生什么?对关闭的 channel 写为什么会 panic ?
- 字符串转 byte 数组会发生内存拷贝么?为什么?
- 如何实现字符串转切片无内存拷贝(unsafe)?
- Go 语言 channel 的特性?channel 阻塞信息是怎么处理的? channel 底层实现?
- Go 中 sysmon 有什么作用?
- GMP 中 work stealing 机制
- GMP 中 hand off 机制
- GMP 调度过程中存在哪些阻塞?