快手校招Java后台开发一面面经

面试一共55分钟。

  • 自我介绍
  • 项目的介绍
  • ES索引刷新间隔refresh操作怎么实现的(因为项目用到了ES)
  • Redis的基本数据结构有哪些?(全部都说了一遍)
  • Redis的Zset实现(讲了跳表,然后跳表的实现)
  • Redis的原子操作指令
  • 死锁了解吗,死锁发生的条件
  • 手写一段死锁的代码,两个线程模拟死锁的场景
  • 线程池的一些问题(核心参数,优点,使用时需要注意的点)
  • Java的Map的实现有哪些,主要讲hashmap的底层实现
  • 1.8之后的并发hashmap的实现用的Node节点锁和cas的实现,问CAS的思想在哪些地方也用到了(我说了原子类用到CAS)
  • 原子类的CAS到底怎么实现的(说了CAS实际就是传入一个具体的地址和预期值,比较该地址当前的值是否符合预期)
  • Kafka生产者如何保证消息的可靠性(答的不好,只讲了重试机制,好像kafka有个参数acks=all,是所有follower都接受到了消息之后,才保证该消息真的是发送了,写入到硬盘中)
  • RPC的原理,你怎么理解的(讲了代理模式,还有序列化的方法hessian,protobuf等,以及协议tcp)
  • TCP和UDP的差别
  • TCP的粘包和拆包问题
  • 问了接口幂等性的一些东西
  • 事务内容,事务回滚补偿等
  • 手撕算法:二叉排序树,给你一个值target,问是否存在两个数的和刚好等于target。需要自己写树的节点还有树构建,跑测试样例。
  • 反问

总结:面试官人很好,比较和蔼,体验比较好

#面经##快手##java工程师##校招#
全部评论
快手哪个部门
点赞 回复 分享
发布于 2021-09-03 19:13
约二面了嘛
点赞 回复 分享
发布于 2021-09-08 17:01
二面加油!
点赞 回复 分享
发布于 2021-09-10 10:04
请问,你在面试的时候,自己怎么进行构建树跑测试用例,我理解的就是自己建立左右节点,然后逐层连接,你们有更好的办法吗😅
点赞 回复 分享
发布于 2021-09-10 19:19

相关推荐

昨天 21:21
已编辑
重庆邮电大学 测试工程师
点赞 评论 收藏
分享
dongsheng66:如果想进大厂的话,在校经历没必要占这么大篇幅,可以把专业技能单独放一个专栏写,可以加个项目经历
点赞 评论 收藏
分享
3 17 评论
分享
牛客网
牛客企业服务