最近在面试的时候,发现很多高级程序员都倒在了几个地方,特地来和大家分享一下,假如你是五六年的程序员,能不能熟练的对答如流?
JVM方面考察
问:假设我写了一个A方法,A方法里面有一行代码,该代码是初始化B对象,如果死循环调用A方法,会发生什么?从JVM层面回答
JAVA基础
问:HashMap和TreeMap的区别以及使用场景。
这个我惊呆了,竟然有大概一半高程不能完整答出来,难道是太偏了吗?
Mysql
问:MySQL 中 update 修改数据与原数据相同会再次执行吗?
这个纯粹是加分项,惊喜加分
Mq
问:假设Mq消息发生堆积该如何处理?
问:消息什么情况下回变成死信?如何处理死信?
问:如何实现一个延时队列
性能
假设一个功能代码耗时很久,然后这个功能里面有很多方法,如何确认各方法的耗时情况?
导出
在数据量很大的时候,如果将excel进行异步导出?
分布式Id
问:你所知道的分布式Id生成方案和优缺点(如果有聊到雪花算法会继续挖坑)
写在最后
分享一些Java学习资料获取方式:点击链接《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。