5.11
面试体验很好,面试官全程引导思考并给出学习建议
Golang
Map的数据结构
sync.Map{}的设计的优缺点。 具体细节忘记了,面试官引导思考要多想一下为什么要这么设计,这样可以提高代码设计能力。
针对线程和协程的不同,讲一下。
Go的GC有了解吗?有观测过吗?
GC有什么缺点?
Kratos框架用的多吗?Kratos框架的代码结构是怎么样的?
Mysql
Mysql底层的结构有了解吗?了解 》》好,那就不问了。 >_<
如果出现了一条sql,执行时间比较长,你会从什么角度去考察?
从客户端连接开始考虑sql语句的整个执行过程,提醒要从多角度考虑问题
Redis
redis的zset了解吗。基础数据结构是什么。
缓存击穿和缓存穿透的区别是什么?
两者一开始概念搞混了哈哈哈哈哈。一开始讲错了,面试官笑着问我确定吗哈哈哈哈哈。后面讲对了
项目
项目中用到了singlefight,讲一下。 才了解到这是uber之前开源的库,目前已经放到了/x/sync包下面了。实现的很巧妙,不知道其他语言有没有类似的处理方案。
这点源码需要好好看一下,讲给面试官听
有验证过性能吗?》没有
consul的服务注册发现是怎么用的。
》这块讲错了,面试官指导了一下
部署过吗
》没有,是本地启的docker来调试
算法
lc77 组合题
秒了