快手 Java应用研发

1.自我介绍

2.介绍项目,拷打了一下

3.nacos单点扛不住怎么办

4.nacos集群数据一致性让我设计怎么设计

5.rocketmq的工作流程

6.消费者怎么消费消息,一亿条消息他怎么拉取,是每次从头开始拉取吗?

7.偏移值broker怎么存的?怎么根据偏移值定位消息的物理位置?

8. rocketmq的底层源码有去看过吗?

9.redis和数据库的数据一致性怎么做的?说了写后删。

10.有没有别的方法?我说后台线程binlog异步去做。

一个请求过来写了数据并删除了缓存,但是另一条请求读到了旧数据,刷新到了缓存上怎么做?我说删一次后隔个100毫秒再删除一次,面试官问再删一次谁去做?说了用后台线程去做。

11.redis的ha怎么做的,然后问了redis主节点选举,

12.哨兵有主节点吗,哨兵怎么选举?哨兵选举的原理是什么?

13. Cpu多级缓存的数据一致性是怎么做的?

14.操作系统为什么要设置内核态呢?用户态和内核态怎么切换?

15.什么是多路复用?

16. Select epoll的原理是什么?

17. Tcp挥手的close wait是用来干嘛的?

18. Close wait的状态是客户端和服务端都有吗?

18.1 什么情况会出现大量closewait状态

19. Java有哪些锁

20. Reentrantlock和 sychronized的区别

21.链表k个一组翻转。(10分钟就写好了,但是需要自己初始化链表调试。最后讲了下思路。

22.面试官说有实习和没实习差距还是挺大的

23.反问业务,说是非常偏底层的,我知道肯定挂了,涉及源码的是真一点不会。

让我多学习,多思考,有空多看看源码。

总共面了68分钟。感觉自己答的还可以,两小时后已挂。

全部评论
你是没实习?,第22个,面试官已经点明了
点赞 回复 分享
发布于 09-20 19:56 陕西

相关推荐

评论
点赞
5
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务