10.16 快手 一面 1h

1. 自我介绍
2. 聊项目,问遇到的难点和解决方式
3. 面试官一直在纠结为啥要用消息队列,说加个锁完全能解决问题
4. 用redis做消息队列,那重启那么没有消费的消息怎么搞?
5. 说说java里的锁,有哪些了解
6. synchronize 和reentrylock的区别
7. 用的场景
8. 怎么算重量级、怎么算轻量级锁呢?
9. 具体的判断,自旋就是一个标准吗?
10. 索引的类型
11. 覆盖索引
12. 回表
13. 主键索引和普通索引的区别
14. 联合索引构建有什么注意事项吗
15. 如何查看sql有没有命中索引,怎么去分析?
16. 写题:搜索旋转排序数组,说思路
17. 代码问题:对于Integer a,Integer b,现在有个 swap函数,能让a、b的内容进行交换吗?
18. 反射了解吗?swap内部可以通过反射对他们俩进行交换,所以java可以这样交换,只要是个类。
19. 代码风格
20. 平时是怎么学习的
21. 最近看了什么书?JAVA的书看了哪些?能介绍介绍吗
22. 如何去解决碰到的难题或者技术难点,通过什么途径
23. 反问:后面的流程,面试官说顺利的话还有个二面,需要和HR沟通一下
24. 反问:能来实习的话,会做些什么业务。

项目相关的就问了将近半个小时,面试官对我在项目上的解决方案有点不太满意,认为我那个业务场景用锁就可以了,不至于用消息队列。

4 这个问题当时脑子被面试官拷打的昏昏的,说着说着只说了redis在这方面确实存在消息丢失的可能性,答非所问了。实际面试官是问redis重启后如何处理这些没消费、或者消费了但没确认的消息。

实际上redis的stream存在一个 pendling lis队列,会存储所有没消费、消费但没确认的消息,当redis重启后,消费者可以通过 xpending 去获取这些没有正常结束的消息,然后进行一个消费确认。这才是处理机制,而不是我答的redis作为消息队列怎么保证消息不丢失。 
#快手# #一面# #实习# #引流 字节 美团 阿里 拼多多 大疆#
全部评论
投的实习嘛😁😁
点赞 回复 分享
发布于 2023-10-16 17:30 江苏

相关推荐

不愿透露姓名的神秘牛友
10-15 17:18
点赞 评论 收藏
分享
7 19 评论
分享
牛客网
牛客企业服务