Java 后端的知识体系非常庞大,在准备面试时,需要优先抓住重点进行复习。
哪些知识点是重点?
首先,我们来看一张图(后续会详细解读):
Java 后端面试重点
主要包括:Java 基础、集合、并发、MySQL、Redis、Spring、Spring Boot。这些是 Java 后端开发的必备知识点(MySQL + Redis >= Java > Spring + Spring Boot)。大厂和中小型公司的面试常常围绕这些知识点展开。尽管 Spring 和 Spring Boot 的重要性相对稍低,但中小型公司通常也会提问这些知识。并发知识在中大型公司中提问频率较高,问题也更深,尤其是大公司喜欢深挖底层,这很容易让面试者感到压力。计算机基础相关内容将在下面讨论。
设计模式、Git、Docker、Elasticsearch 等后端开发常用技术也可能会被问到,但提问频率不如前述知识点高。然而,这些内容仍需认真准备,如果时间紧张,可以适当减少这部分的投入。
你的项目经历涉及的知识点是面试中的重点,有经验的面试官会根据你的项目经历进行提问。例如,如果你的项目使用了 Redis 来进行限流,那么你需要深入理解 Redis 相关的知识和限流技术。理解并掌握项目经历中的知识点后,再深入学习简历中提到的其他技术,最后再准备其他知识点,这样的复习效率最高。
根据自身的求职需求,可以适当调整复习重点。一般来说,小型公司和大部分中型公司对计算机基础的要求较少,而一些大公司(例如字节跳动)则特别重视计算机基础,尤其是算法。如果你的目标是小型公司或某些中型公司,可以暂时放下计算机基础知识,将时间投入到其他重要知识点的复习中,尤其是项目经历相关的知识点。
校招面试一般不会强制要求分布式、微服务和高并发的知识(除非特定岗位有硬性要求),所以是否要掌握这些内容取决于你的实际情况。如果你具备这些知识,会对面试有帮助,尤其是项目经历涉及到性能优化时。性能优化知识也是高并发知识的一个分支。如果你的技能介绍或项目经历涉及分布式、微服务或高并发,建议认真准备相关内容,因为面试中很可能会被问到。不过,主要还是要准备简历上提到的知识点。
JVM 相关知识点一般会在大公司(例如美团、阿里巴巴)和一些优秀的中型公司(例如携程、顺丰、招银网络)中被问到,而面试国企、较差的中型公司和小型公司则不必准备这部分内容。JVM 面试常见问题包括 Java 内存区域、JVM 垃圾回收、类加载器和双亲委派模型,以及 JVM 调优和问题排查。
不同的大公司面试侧重点各不相同。例如,阿里巴巴注重项目经验和技术理解,笔试有代码题,面试时则较少问代码题,但会深入问技术原理及思考。字节跳动则非常重视计算机基础,特别是算法,面试时经常会直接给出代码题。此外,字节跳动也会提问一些项目和技术相关的问题,但相对较少。建议查看一些关于互联网大厂秋招内幕的文章,了解各大公司的面试重点。
多参考面经,特别是你目标公司或类似公司的面经。这样可以进行有针对性的复习,并自测掌握情况。
重点复习建议
上述重点是基于个人经验得出的,不排除某些小型和中型公司也会问并发、分布式、高并发等进阶知识。如果你不仅仅满足于拿到小公司的 offer,建议系统地准备这些知识。
尽管 Java 后端的知识点看似繁多,但实际复习时可以缩小范围,重点关注那些重要的内容。考虑到时间问题,不必准备所有冷门知识点,主要精力应放在重要知识点上。