快手-北京-Java后端开发 二面
面试官话比较少但人很好,一直在引导你思考,也不会特别为难你。
一面链接:https://www.nowcoder.com/discuss/523760?source_id=profile_create&channel=1009
自我介绍以及挖项目
根据你项目里干的活给你设计了一个场景题,一开始我没答道点上然后面试小哥就慢慢引导。
Redis
讲讲Redis的底层实现,我讲了SDS和跳表,然后就被追着问跳表:
1)跳表如何查找元素?
2)跳表如何插入元素?
3)利用跳表的特性实现了哪些功能?
接着就是一个场景题,100w人在直播间打赏礼物,如何求前100上榜的人?
1)以打赏金额为socre,每次有人打赏则使用key - value 存储。
2)更新value后将value作为score,添加到zset中,然后limit 100手撕归并排序,单链表的归并排序
没洗完,中间发现需要大改就直接跟面试官说了一下大致思路和一些代码细节。然后面试官也放我。
然后就结束了...
反问:
1)没有面基础吗?
一面面完了我就不重复面了。
2)您看我还有希望吗,还有HC吗?
我也不知道,这个我只能反馈给领导他们做决定。
3)您觉得我怎么样?
面试表现碍于工作不好说,个人评价是知识面够广但是不够深(菜是原罪)。
剩下的就是请教学习问题以及唠嗑唠了一下子,感觉还挺不错,希望过了