快手【移动技术部】后端/DevOps
一面 57min:
- 自我介绍
- 项目 (15分钟)
- 如何进行sql优化 慢查询开始到 优化方法 (项目里面提到了)
- go 里面 := 和 = 的区别
- go 如何 判断 map 的值是否为空
- go 中 如何拼接字符串(+ Sprintf Join buffer)
- 他们性能如何呢 哪一个比较好 能说说原因吗(buffer)
- 为什么 Sprintf 性能相对比较差吗(重新分配空间 +反射)
- go gc 标记清除法 三色标记 混合写屏障
- silce 的 扩容规则 (1.17 1.18)
- 缓存淘汰算法有那些
- LRU LFU 优缺点
- 如何优化 LRU LFU 算法
- 有没有比这两个算法更优的策略
算法:(20分钟)
- LRU算法的实现
- sql 题
一个初始信用表 一个流水表 查用户余额
----------------------
总体来说还挺ok,有一些问题答的不是很完美,比如说 14问没答上(根本不知道嘛)sql 题不是最优解,但是思路基本上是对的。
面试官挺好的由浅入深,一开始问的有点简单了,我还在其中提醒了面试官可以深入的问一下go的底层。
二面 70min:
- 自我介绍
- 自己的优势和劣势
算法:(30分钟)
- shell题
- ****** manacher O n 最优解,面试官感觉没了解过,感觉对我不是很感兴趣 这时候就知道已经寄
后面就 redis mysql mq 问了一些
重点来了 问Q&A的时候 问面试表现,直接说今天的面试就到这里。。。基本就寄了
面试体验非常糟糕
- 没有开摄像头,一面的面试官虽然也没有申请到会议室,但是还是开了摄像头,并做出了表示。天差地别
- 环境嘈杂,基本全都是环境声音。
- 不尊重面试者。感觉就一副高高在上的样子,根本不想面