面试问题,参考如下链接:
BAT等各大公司面试题,下面回答主要参考阿里巴巴
说下你经常用到的java中用的比较多的数据结构有哪些?考察java集合相关,
List:列表
Set:保证集合元素唯一
Map:键值对

谈谈对HashMap的理解,底层实现原理等
参考链接:什么是HashMap线程不安全
高并发下的HashMap涉及到环形链表
什么是ConcurrentHashMap线程安全,涉及到了分段锁技术,顺气自然会问到锁的问题
注:在介绍HashMap原理的时候,会涉及到hashMap线程不安全的问题
会出现环形链表,参考链接:如何判断有环


接上图,java集合问完,下面是锁的相关问题

如上图,提到锁,可能会问到,什么事CAS机制,ABA问题怎么解决,volatitle关键字原理等
参考链接:volatile 关键字?

这里会问到分布式锁:
1.zookeeper分布式锁:加锁机制等
2.redis分布式锁

dubbo相关的:

说到java内存,讲讲jvm相关的东西吧,参考《深入理解java虚拟机》,类加载机制,双亲委派模型
参考链接:java虚拟机原理图解




jvm优化:参考链接:https://tech.meituan.com/jvm_optimize.htmlhttp://developer.51cto.com/art/201201/312639.htm
对于MinorGC和MojorGC频繁:如何选择各分区大小应该依赖应用程序中对象生命周期的分布情况:如果应用存在大量的短期对象,应该选择较大的年轻代;如果存在相对较多的持久对象,老年代应该适当增大。
下面会问到网络相关的问题
参考链接:tcp/ip三次握手,四次挥手
数据库相关
参考链接:深入理解mybatis原理
redis相关参考redis中国官网
以上是自己通过面试,然后自己整理的知识串联,如有不正确之处,请指出,相互进步,谢谢!
网友评论