这么说比较笼统。能够细致问出来的问题就是那些,OOM可能发生在哪些区域上?堆内存结构是怎么样的?Minor Gc和Full GC 有什么不同?
一般出来的问题都是根据这几种的来回变换的,万变不离其宗,阿粉遇到的面试问这个的,大部分都是问的 Minor Gc和Full GC 有什么不同?
Minor Gc和Full GC 有什么不同
Minor GC :发生新生代的的垃圾收集动作,Minor GC非常频繁,回收速度一般也比较快
Full GC :发生在老年代的GC,出现了Major GC经常会伴随至少一次的Minor GC(并非绝对),Major GC的速度一般会比Minor GC的慢10倍以上
然后我们就开始我们对垃圾回收机制的表演就行了,这个要是拆开了说,那可就太多了,如果大家有想深入了解的,阿粉已经准备好了 面试大全PDF 送给大家,大家在后台回复 java极客技术PDF 就可以获取到由阿粉精心为大家准备的内容。
3.你们项目中 Redis 是怎么用的。
如果面试官问出了这块的内容,实际上就是考察 Redis 的一些特性了,比如你们使用 Redis 实现分布式锁,那么实现分布式锁的必要性在哪里。
还有如果你们使用了 Redis 做分布式数据缓存,那么必然导致 Redis 和数据库双写一致性问题,这些问题如果你开始回答了,那就就会掉进一些坑里面,比如说Redis 和数据库双写一致性问题,这玩意阿粉之前面试的时候被问到过,最终的解决方案也就是保证了最终一致性,如果对数据有强一致性要求,不能放缓存。我们所做的一切,只能保证最终一致性。就这么简单。
面试官大致就问了一些这么基础的内容,剩下的都是项目中的了,阿粉就不再给大家赘述了,但是接下来,阿粉就开始被面试官疯狂 diss 了,阿粉在自己的简历上面,写了一句话,了解大数据的相关知识。比如 Hadoop , MapReduce,这些东西,面试官有点感兴趣,就开始了无情的追问。