电话面,40分钟。面试官很热心,给了反馈。基本在对项目问场景题。后面java也不会,还是背得太少了。这挂的心服口服,不像团子二面,答得也没啥问题,排序还是挂了。
- 拷打RPC项目。说一下整体的流程。容错和超时之类的怎么做?如果把你的rpc改成分布式,应该怎么改 ,哪一部分要改成分本式?服务端节点应该怎么优雅地上下线?客户端什么时候会拉取最新的服务节点?客户端和服务端的定时器的区别?你的rpc为什么要基于tcp?怎么改让它基于udp?自定义协议是怎样的?怎么保证安全性,魔数是什么?很多没有考虑到的问题,面试官都给了答复。
- dubbo有了解吗?无,简历上没出现dubbo。
- 拷打黑马头条。怎么做慢查询优化?为什么要怎么优化?如果说是扫表行数太大了,那么怎么优化?针对热点数据重新建表,该怎么做?怎么判断是热点数据?redis和mysql分别做什么?
- 你说到负载均衡,除了在应用层,在别的层应该怎么做负载均衡?我说了tcp在header里可以改ip地址和端口,这里也可以做负载均衡。其他不会。
- 线程池,为什么不用Executors。因为是无界队列容易爆内存。
- Java 包装类型。Integer a = 1, Integer b = 1,a == b返回true还是false。后面查了是true,第一次知道除了String,Integer也有缓冲池,而我却还在关注==和equal的区别。以及高精度问题。
- java7 java 8 hashmap的区别。hashmap和hashset的区别与联系。java新版本的新特性。布隆过滤器为什么不能删除。SpringBoot @Resources 和@Autowired的区别。常规八股。
- 命令行中启动一个spring程序,比如说java -a -b -c,这些-a -b -c,linux怎么查看启动的程序的参数?面试官说ps再grep,ps我知道,但我是真没注意ps里还有这些参数。
- 反馈,多看些java八股,其它没什么。还得多看,只看javaguide还是差太多了,细节完全跟不上,比如面试官不会问G1垃圾收集器是个什么东西,而是会问对内存有什么影响,我问了chatgpt,也是答的分多个区增量收集那老一套八股,这一套八股谁都会,但好像面试官不像在问这个。