百度暑期Java后端一面凉经
面试官介绍组内业务
1. 自我介绍
2. 描述一下RPC项目的设计思想/框架
3. 你觉得RPC最关键的是什么?
4. 你设计的传输协议大概是什么结构,有什么优势?
5. 网络传输应用层和传输层是什么协议?
6. 如何解决粘包拆包,除了使用长度字段来进行区分还有别的方式吗?
7. 剩下两个项目选择一个最有亮点的来介绍
8. 为什么要使用RocketMQ
9. 如何保证消息可靠性
10. 什么地方使用到了分库分表
11. 你平时在什么地方使用了多线程
12. 如何协调多个线程
13. 线程池有哪些核心的参数(漏说了线程工厂)
14. 线程池主要解决什么问题
15. Java的线程和操作系统的线程有关系吗
16. 线程上下文切换主要耗时的是哪些操作
17. netty、nginx等框架是如何减少上下文的切换的
18. 了解响应式编程吗?(不了解)
19. volatile解决了什么问题?
20. 订单场景,会根据订单号、创建时间、订单状态组合或者单独查询,订单号和状态是等值查询,时间是访问查询,如何设计索引(没答出来)
21. 为什么对订单状态设置索引效果不明显
22. 什么时候会用到事务?
23. innodb是用什么方式去实现事务的,底层原理(答的不够细)
24. random5实现random7(思路错误,换了道题)
25. 环形链表(有个明显bug没来得及调然后面试官说时间不够了)
26. 反问:实习生做些哪些业务
面试结果:今日面试已结束