2024.9.7面试
- go和java区别
- 解释
- 并发
- go是不是面向对象语言
- 二象性
- 有哪些数据类型:基础数据类型 容器类型
- int
- string
- bool
- float
- slice
- map
- channel
- complex 复数
- byte
- Rune
- interface
- struct
- 指针
- 函数
- slice和数组
- 区别 创建
- 扩容
- go里面的_
- 不定式
- init()
- slice的底层
- 指针 长度 容量
- 内存机制
- 扩容算法
- 指针地址是否有变化
- 容量是否够
- 指针切换
- 创建切片写法
- map的底层
- map哪些类型可作为key 是否可比较
- map是否并发安全
- sync.map 并发map
- 遍历过程
- 不可以比较 直接引用
- 扩容机制:等量扩容 拿出来字段说
- map性能
- 接口的底层
- 空接口 非空接口 eface iface
- table 指针
- GMP模型,流程(不熟)
- -> 创建 运行 睡眠/消亡
- P如何进入全局队列,随机取出本地队列中的线程
- G0和M0
- GC垃圾回收
- 强三色/弱三色不变式
- 运行调用时机,可以手动
- 逃逸分析
- fmt.print 逃逸分析
- 栈的优点/堆的优点
- 内存分配(不熟)
- 好处