30分钟纯八股(提前五分钟到,提前五分钟结束),带问号的表示回答的不好,无手撕
- make 和 new 有什么区别
- new 一个map结构会有什么问题
- 数组和切片有什么区别
- 传数组 和传切片有什么区别
- 切片的扩容机制
- map的数据结构是什么样的,如何实现扩容的
- 为什么 bmap 里面存储的是八个键值对???
- map是如何解决并发安全的
- sync.map 是如何实现的
- sync.map 适合什么样的场景
- golang的gc是如何实现的
- gc 过程中如果存在写入或者删除如何解决这个问题
- 写屏障会带来什么问题???
- 进程、线程、协程 有什么区别
- 协程为什么会比线程轻量,是怎么做到的?
- GMP调度模型
- 为什么要拆分本地队列和全局队列?
- MySQL的乐观锁和悲观锁
- 乐观锁的使用场景??
- MySQL的事务隔离级别
- innodb 的可重复读是如何实现的
- 介绍一下MVCC 机制
- 多版本是怎么样存在的
- 事务ID 什么范围是可见
- MySQL的优化经验
- 覆盖索引适合所有的场景吗?
- Redis 是如何实现它的字符串数据类型,字符串类型主要解决什么问题
- Redis 如何解决hash结构的冲突
- 链地址法和开放定址法各自有什么优势
- Redis hash结构如何扩容
- 为什么选择使用渐进式扩容,解决什么问题?
- Redis 什么情况下需要扩容,hash是如何控制的?
- 介绍一下GRPC,相比其他 RPC 框架有哪些优势??
- 介绍一下实习经历,获得了哪些收货
- 选择引用 rocketmq 的原因是什么
- 引入消息队列之后有哪些好处和坏处??
- 反问:招聘要求是什么样的(秋招面试者很多,主要看基础和实习经历。。。)
- 对我的评价和建议
#得物##golang#