当前位置: 首页 > 面试经验 >

快手后端面经 8.27

优质
小牛编辑
135浏览
2023-03-28

快手后端面经 8.27

hr约的是一天面完三面(如果顺利的话),但是面了两面没消息了,可能凉了。

一面(45min)

  1. 介绍下项目
  2. 使用到springcloud,讲一下springcloud原理 讲了用到了部分组件,但是没有了解过原理
  3. 使用nacos,为什么使用nacos,不使用springcloud
  4. 使用到netty,netty讲一下,心跳机制讲一下,空轮训讲一下
  5. 仿dubbo,是否读过dubbo源码,读过哪一部分,dubbo服务发现怎么实现
  6. 讲一下项目中RPC的原理,使用注解如何实现服务发现,
  7. springmvc容器与spring容器的区别,@controller是在哪一个容器里面
  8. 项目中哪里用到了redis,使用了什么数据结构
  9. leetocde二叉树最大路径和(10分钟要可以实现能运行)
  10. 讲一下kafka,消费者组订阅关系(这个没回答好)
  11. 反问

还有一些不记得了,主要全是挖项目,比较深
问了超级多底层东西,感觉netty大坑,随便一个点挖一下就回答不上来了,总结经验,不要给自己挖坑,面试官最后也说,不要被面试官主导着走,比如说你熟悉mysql,就展示出来你擅长的部分,往自己擅长的引(面试官人挺好)


本来以为没有二面了,谁知道过五分钟发二面,通知五分钟后二面

二面(40min)

  1. 讲一下垃圾回收的方法(不是算法,用在哪里)我就说了标记清除,复制的使用,标记整理不记得了
  2. 说一下项目的表之间关系,我听成表中有什么列了。。。一对一,一对多
  3. 场景题:类似于readview之类的实现,不同人在不同场景下查询mysql数据不同结果,可能重名,怎么实现(不会,说加时间戳或者类似readview实现)
  4. redis string底层实现,
  5. 用了什么引擎,为什么千万级,这个千万是怎么得到的,肯定有什么计算方式(我说的可能根据b+树层数有关)
  6. 场景题:如何实现浏览器的前进后退(我回答两个栈,实在蒙蔽了)
  7. 使用了bitmap,怎么统计(bitcount)怎么统计一个月所有用户的签到情况(遍历)
  8. 看你了解kafka,使用在项目里主要做什么(消峰以及异步)为什么使用kafka(我没有用,假设场景,我列举了双十一例子)
  9. 手撕合并k个有序链表(10分钟实现,不用运行)
  10. 反问

(补充)

  1. 问一个项目中sql,怎么查询,(两个innerjoin)
  2. 项目中redis的key具体存储的什么(回答用户id)如果多个场景怎么办?我项目就一个场景使用,不存在这个问题(反正就很细致)
  3. 流量统计在前端还是后端实现

一面源码,二面场景,我感受到了寒气。。。二面之后就无消息了,不知道结果如何。
面试官人还是挺好的,是我太菜了。

#快手校招#
 类似资料: