背景介绍
参加了多次面试,总结了一些个人对于面试的见解,希望能给大家以后的面试带来些许帮助。本人平时注重总结一些理论知识,所以遇到毕业的情况也不太慌,也建议大家平时要卷安思危以应对未来的多种可能性的发生。下面介绍一下我在面试阶段遇到的部分面试真题与个人总结。
后端面试准备涵盖算法、Java 核心、数据库及分布式知识。算法侧重 LeetCode 高频题与动态规划。Java 考察集合、多线程、JVM 调优及 GC 原理。数据库重点为 MySQL 索引事务锁与 Redis 缓存策略。MQ 关注 Kafka 原理与可靠性。项目需挖掘难点与解决方案。面试注重沟通表达与技术实践结合。

参加了多次面试,总结了一些个人对于面试的见解,希望能给大家以后的面试带来些许帮助。本人平时注重总结一些理论知识,所以遇到毕业的情况也不太慌,也建议大家平时要卷安思危以应对未来的多种可能性的发生。下面介绍一下我在面试阶段遇到的部分面试真题与个人总结。
算法需要长期的准备,个人觉得 leetcode 上刷 200+ 个题目就足以涵盖国内大厂的面试范围了,可以在 leetcode 上去刷热门的前二百个题目。因为大概率面试官也是刷的这些题目。
算法一定要提前准备,临时抱佛脚效率非常低,有跳槽想法的兄弟,可以在日常工作中没事就刷一两个,而且一定要自己思考,不要上来就看答案,如果没有思路,那么可以看下思路解析,然后再去自己动手写,这样也可以锻炼编程能力,对于题目的记忆也会更加深刻。
Java 相关的内容非常的多,对于集合、io、多线程、jvm 相关的问题比较热门。
clone() 还有哪些方式可以对对象进行深拷贝?new HashMap<1000> 和 new HashMap<10000> 在数据都塞满的时候有什么区别?(提示 扩容相关)synchronized 底层实现原理?释放锁之后如何通知其他线程获取锁?synchronized 做了哪些优化?(偏向锁、轻量级锁、自旋锁、锁粗化、锁消除等)LongAdder 实现原理?这些知识很杂,需要大家平时多积累一下,建议参考官方文档及高质量技术文章,知识面非常广,对我的帮助也很大。
MySQL 在后端面试中几乎是必问的重点,一定要提前认真准备,像索引、锁、事务等知识点,一定要多复习几遍。
Redis 在后端面试中几乎也是必问的重点,一定要提前认真准备,像底层数据结构、持久化策略、集群等知识点,一定要多复习几遍。
可选择自己熟悉的 MQ 进行面试,我选择的是 Kafka。
很多人在准备数据库和消息队列这块面试的时候会选择看一些经典的书籍,但是我觉得如果是应付面试的话,有点没必要,书中知识枯燥乏味,且重点不突出,所以我建议这部分内容的准备可以去针对性的看一下文档,一定要深入理解其实现原理以及为何这样实现。
这部分的内容比较活,但是也需要提前模拟与准备
这部分因人而异,关键在于你要去挖掘你项目中的亮点,没有亮点就去编造一些亮点,但是前提是一定要符合你们具体的业务场景,不然会假的很明显,给面试官留下不好的印象。
另一个比较重要的点就是你在项目中做了什么,这部分内容也需要提前好好准备,是必问的。其次是需要提前准备一些在项目生产环境中出现的异常,以及你的解决方式是什么。对于项目的准备,我认为这三点是非常重要的,大家可以按照自己实际项目来认真思考。项目部分很大程度上会决定你是否能过通过这次面试。
分布式就不多说了,什么 base 理论,raft 协议都需要知道。另外就是分布式锁、分布式事务相关的一些知识,大家用到过的可以讲讲,比较加分,没用到过的面试官一般也不会问到。
面试说到底还是两个人沟通的过程,所以表达能力要好,逻辑思维要清晰,要说可以让面试官听懂的话,而不是自己能听懂的话。对于技术知识,技术最终还是要回归到实践,只有真正的实践过,才可以更好的掌握技术,最后希望大家都可以拿到自己心仪的 offer。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online