大厂面试官为何总把JVM挂嘴边?

 

前言

最近有粉丝在后台跟我抱怨,自己去大厂面试,面试官老是喜欢问JVM!

你问JVM干啥?程序员平时又用不到这些东西!多问问框架、数据库、项目经验不行么?

有些人觉得是面试官zb,就爱问这种虚而不实的东西,显得自己牛逼,公司牛逼!

其实这种想法非常幼稚!我不排除部分面试官有这种想法,喜欢面试虐人。但是大厂有大厂的考虑,问JVM主要是看你在技术方向的潜力,你看对待技术有没有深挖的态度。

大概在2011年左右,支付宝出现了多次内存泄漏的问题,且问题相当严重,当时毕玄大师亲自带队解决问题。到了2013年左右,阿里高速发展,很多架构完全基于OSGI, JVM的问题越来越突出,如果不懂JVM的底层机制根本无从动手,所以从那时起,JVM就成为了阿里的技术要求。

还有一个更重要的原因,就是现在Java开发岗,竞争太TM激烈了!

前段时间,我们总监招一个Java后端,两天收到200多份简历!这么多的简历根本筛不出来!

大厂的岗位一般只招一两个人,符合条件的有10个人,技术能力都差不多,这个时候你说会选谁?

JVM面试会怎么问?

如果我是面试官,我就会问谁会JVM性能调优?谁会,谁技术能力更好就要谁!BAT就是如此,很多小公司也喜欢跟风,所以面试不问点JVM调优都不好意思跟别人打招呼。所以,JVM很重要,能够具备JVM调优的技能更加重要。

看看这几道阿里面试真题,你能不能答上来?

1、JVM内存区域有哪些?为什么这么划分?

2、GC Roots有哪些?说得越全面越好。

3、一个亿级流量系统,让它几乎不发生Full GC。你来进行JVM调优,怎么做?

4、线上系统突然CPU100%,你怎么排查?

4、JVM内存泄漏与内存溢出的区别,怎么排查内存泄漏?

这些问题,由浅入深,必须要对JVM有一个体系化的认识及学习,才能答得上来,而且大厂面试基本上所有的问题都是结合实际场景来问,不仅要求你会使用这些技术,还要知道为什么要用这个技术,以及如何做到高可用等等。要想掌握JVM,对程序员的技术广度和深度有很高的要求。

JVM核心内容

  • 线程
  • JVM 内存区域
  • JVM 运行时内存
  • 垃圾回收与算法
  • JAVA 四种引用类型
  • GC 分代收集算法 VS 分区收集算法
  • GC 垃圾收集器
  • JVM 类加载机制

最新JVM面试真题

  • Java 类加载过程?
  • 描述一下 JVM 加载 Class 文件的原理机制?
  • Java 内存分配
  • GC 是什么? 为什么要有 GC?
  • 简述 Java 垃圾回收机制
  • 如何判断一个对象是否存活?(或者 GC 对象的判定方法)
  • ...

  • 垃圾回收的优点和原理。并考虑 2 种回收机制
  • 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗? 有什么办法主动通知虚拟机进行垃圾回收?
  • Java 中会存在内存泄漏吗,请简单描述
  • 深拷贝和浅拷贝
  • ...

关注下方公众号获取以上所有面试真题!

猜你喜欢

转载自blog.csdn.net/yunduo1/article/details/108492481