上周笔试完一直是笔试中的状态,得物golang工程师一面的试题:
- make 和 new 有什么区别
- new 一个map结构会有什么问题
- 数组和切片有什么区别
- 传数组 和传切片有什么区别
- 切片的扩容机制
- map的数据结构是什么样的,如何实现扩容的
- 为什么 bmap 里面存储的是八个键值对???
- map是如何解决并发安全的
- sync.map 是如何实现的
- sync.map 适合什么样的场景
- golang的gc是如何实现的
- gc 过程中如果存在写入或者删除如何解决这个问题
- 写屏障会带来什么问题???
- 进程、线程、协程 有什么区别
- 协程为什么会比线程轻量,是怎么做到的?
- GMP调度模型
- 为什么要拆分本地队列和全局队列?
- MySQL的乐观锁和悲观锁
- 乐观锁的使用场景??
- MySQL的事务隔离级别
- innodb 的可重复读是如何实现的
- 介绍一下MVCC 机制
- 多版本是怎么样存在的
- 事务ID 什么范围是可见
- MySQL的优化经验
- 覆盖索引适合所有的场景吗?
- Redis