秋招面经-收钱吧-Java开发工程师-二面

1、自我介绍

2、为什么跨考计算机

3、项目 1 拷打(10 min)

4、谈谈项目 2 的 AI 扩图的使用

5、谈谈扩图过程中图是以什么形式传过去的?程序和 AI 服务交互的协议是什么?

6、谈谈如何设计 WebSocket 来实现多人同时编辑的?

7、谈谈如何去保证多人扩图操作的顺序性?

8、基于事件驱动的广播,如何保证 A 修改后 B再修改,广播给 C 也是先 A 后 B 顺序,而不是先 B 后 A?

9、WebSocket 的底层原理,连接建立的过程

10、谈谈项目 3 的整体执行流程,每个中间件在其中负责哪些工作

11、什么是倒排索引,怎么理解倒排索引

12、项目中有基于 RabbitMQ 去给 ES 和 MySQL 做数据同步,具体怎么实现的?有无其它更好的办法?

13、为 MySQL 的增删改操作都建立了一个 RabbitMQ 的队列,让 ES 去消费来实现数据的同步,如何保证顺序的一致性?比如 MySQL 先执行增删改三个操作,放到三个不同的队列,如何保证 ES 消费也是按照增删改的顺序去消费,而不是其它顺序?

14、有没有用过 Kafka?

15、RabbitMQ 有哪些交换机?

16、谈谈项目中基于 Seata 去解决分布式事务,采用的是哪种事务模式?改事务模式的底层是如何工作来确保原子性和一致性的?

17、项目中使用 Sentinel 去做限流,是如何去观测资源是不是被限流或者熔断了?

18、限流熔断过程中产生的各种数据是如何传输给 DashBoard 控制台的?为什么在控制台上可以看到各种参数统计值?

19、谈谈 Java 有哪些默认的内置加载器?

20、谈谈为什么 Java 要引入双亲委派模型?

21、谈谈哪些场景下会考虑打破双亲委派模型?

22、反问

#发面经攒人品#
全部评论

相关推荐

评论
点赞
4
分享

创作者周榜

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