⭐Java面试准备常见问题解答(补充)
面试准备
学完了某个知识点之后,你可以去看看对应的八股文和知识点总结。八股文和知识点总结的话,建议你多看看《Java 面试指北》:https://t.zsxq.com/Uv3ByZn 和 JavaGuide:https://javaguide.cn/ 。《Java 面试指北》属于是 JavaGuide 开源版的完善,两者内容互补,无重复内容,完全可以结合一起看。如果说你比较赶时间,想着突击面试的话,那就针对性地只看面试题
同时,也建议你多多在星球打卡,分享自己的学习情况,这样既能督促自己,又有机会获得星球福利。
⭐面试官在筛选简历的时候比较看重什么?
对于面试官来说,筛选简历的时候会比较看重下面这些维度:
- 实习/工作经历:看你是否有不错的实习经历,大厂且与面试岗位相关的实习/工作经历最佳。
- 获奖经历:如果有含金量比较高(知名度较高的赛事比如ACM、阿里云天池)的获奖经历的话,也是加分点,尤其是对于校招来说,这类求职者属于是很多大厂争抢的对象(但不是说获奖了就能进大厂,还是要面试表现还可以)。对于社招来说,获奖经历作用相对较小,通常会更看重过往的工作经历和项目经验。
- 项目经验:项目经验对于面试来说非常重要,面试官会重点关注,同时也是有水平的面试提问的重点。
- 技能匹配度:看你的技能是否满足岗位的需求。在投递简历之前,一定要确认一下自己的技能介绍中是否缺少一些你要投递的对应岗位的技能要求。
- 学历:相对其他行业来说,程 序员求职面试对于学历的包容度还是比较高的,只要你在其他方面有过人之出的话,也是可以弥补一下学历的缺陷的。你要知道,很多行业比如律师、金融,学历就是敲门砖,学历没达到要求,直接面试机会都没有。不过,由于现在面试越来越卷,一些大厂、国企和研究所也开始卡学历了,很多岗位都要求 211/985,甚至必须需要硕士学历。总之,学历很难改变,学校较差的话,就投递那些对学历没有明确要求的公司即可,努力提升自己的其他方面的硬实力。
对于大部分求职者来说,实习/工作经历、项目经验、技能匹配度更重要一些。不过,不排除一些公司会因为学历卡人。
⭐校招面试考察的重点是什么?
不同的公司对于校招求职者考察的侧重点不同,这里总结几点比较通用的:
- 基础知识:比如计算机基础(大厂必备)、Java 基础、集合、并发这些。
- 项目经历:面试官会顺利你的项目经历问一些技术问题。举个例子:你的项目用到了消息队列,那面试官可能就会问你:为什么使用消息队列?项目中什么模块用到了消息队列?如何保证消息不丢失?如何保证消息的顺序性?(结合你使用的具体的消息队列来准备)......。
- 代码能力:大厂面试可能会考察手写代码题。一般是 LeetCode 上的简单或者中等难度的题目,如果简单难度的题都做不出来,面试可能就直接被 pass 了。
- 软技能:比如沟通能力、表达能力、学习能力、团队协作能力。
站在面试官的 角度来看,他要招聘的是技术功能扎实、有潜力、可塑性强且认同公司价值观的求职者。
⭐社招面试考察的重点是什么?
相对于校招面试来说,社招面试更看重你的过往工作经验和项目经历。如果你有与面试岗位相关的工作经历或者项目经历,那你的优势就比较大了,剩下的全看面试中的表现。面试的时候,面试官会着重考察你的项目经历、解决问题的能力以及业务理解能力。例如,面试官可能会问你有没有实际的线上问题排查经验、是否进行过 JVM 调优、缓存或者消息队列等技术在项目中是如何使用的。
站在面试官的角度来看,他要招聘的是来了就能直接上手工作的人。
另外,论是大厂校招还是社招来说,底层能力同样是面试重点。例如,面试官可能会问你常见框架的底层原理。大厂面试比较喜欢怼着一个问题,往死里挖,直到你顶不住为止,所以一定要注意深度。
只看我总结的技术八股文可以不?
如果你的目标是中小厂的话,看我的资料基本已经足够了。根据过往经验,你能掌握 70%,应对绝大部分中小厂的技术面应该都没太大问题了。不过,想要把我的资料吃透还是比较难的,尽全力学习即可。
然而,任何人总结的八股文都不可能把面试中的内容都给涵盖住,尤其是阿里、美团这种挖的比较深入的面试,难度还是比较大的。对于目标是大厂的同学来说,你可以将我的资料作为首选参考资料(毕竟质量很高且一直在持续更新完善),参考其进行查漏补缺,没事就自测一下,多多思考总结。
我的资料总体来说还是很全面的,且大部分重要的知识点介绍的都比较深入,但我不可能保证每个知识点都总结的很深入。因此,你需要针对自己项目经历涉及到的一些知识点要主动去深挖。想要进大厂的话,一定一定一定要往底层原理层面深入,适当情况下还要去看底层源码。如果能在面试的时候和面试官从底层源码角度聊,那面试基本就稳了。
例如,前几年阿里面试特别喜欢问 Dubbo(毕竟是自家产品),很多同学简历上的项目也用到了 Dubbo。这种情况下,你就要把 Dubbo 当做一个重点中的重点。面试之前,提前准备 Dubbo 的常见问题,搞懂 Dubbo 的底层原理,深入研究其核心模块的源码。即使面试官没有问你 Dubbo 底层的一些东西,你也可以旁敲侧击的表示自己曾经深入研究过,并把面试官往这块引。
学校不好有机会进入大厂吗?
学校歧视很正常,真的太正常了,如果要抱怨的话,你只能抱怨自己没有进入名校。但是,千万不要动不动说自己学校差,动不动拿自己学校当做自己进不了大厂的借口,学历只是筛选简历的很多标准中的一个而已,如果你够优秀,简历够丰富,你也一样可以和名校同学一起同台竞争。
企业 HR 肯定是更喜欢高学历的人,毕竟 985,211 优秀人才比例肯定比普通学校高很多,HR 团队肯定会优先在这些学校里选。这就好比相亲,你是愿意在很多优秀的人中选一个优秀的,还是愿意在很多普通的人中选一个优秀的呢?
双非本科甚至是二本、三本甚至是专科的同学也有很多进入大厂的,不过比率相比于名校的低很多而已。从大厂招聘的结果上看,高学历人才的数量占据大头,那些成功进入 BAT、美团,京东,网易等大厂的双非本科甚至是二本、三本甚至是专科的同学往往是因为具备丰富的项目经历或者在某个含金量比较高的竞赛比如 ACM 中取得了不错的成绩。一部分学历不突出但能力出众的面试者能够进入大厂并不是说明学历不重要,而是学历的软肋能够通过其他的优势来弥补。 所以,如果你的学校不够好而你自己又想去大厂的话,建议你可以从这几点来做:
- 尽量在面试前最好有一个可以拿的出手的项目;
- 有实习条件的话,尽早出去实习,实习经历也会是你的简历的一个亮点(有能力在大厂实习最佳!);
- 参加一些含金量比较高的比赛,拿不拿得到名次没关系,重在锻炼。
面试中小厂需要准备算法吗?
如果是求职目标是中小厂、国企的话,算法相对来说不是那么重要。如果你有留意中小厂、国企面经的话,你会发现面试中提问算法的概率是比较低的,基本不会问。
下面是两篇中小厂的面经,可以看看:
面试官的提问太笼统怎么办?
很多时候,面试官的提问会比较笼统或者抽象,比如他可能会直接问你:“HashMap
的原理是什么?”。
这个时候,很多同学直接就懵了,心里想:“啊???我准备面试的时候没有看到这个问题啊!我该怎么回答呢?”。
对于这种情况,重要的是和要和面试官建立沟通。以HashMap
的原理这个提问为例,你可以说:“这个问题涉及到的点有点多啊。要不我们先从 HashMap
的底层数据结构聊起吧? xxx。”,聊完之后,你可以再聊聊 HashMap
线程不安全的原因或者你问问面试官接下来想要听你从哪一方面来介绍。这样的话,会让面试官觉得你的沟通能力不错,并且比较专业。
另外,如果你不理解面试官的提问的话,一定也要及时和面试官沟通,避免自己对问题的理解出现偏差。
技术八股准备到什么程度可以开始面试?
你可以 使用 Java 面试常见问题总结(2024 最新版,地址:https://t.zsxq.com/0eM78gbAr )来自测一下,如果能大概回答里面六七成的问题的时候就可以开始面试了。不过,里面的内容可根据自身情况适当省略/跳过,例如 JVM、Netty、分布式理论等等,对照着 Java 后端面试重点 ( ⭐哪些知识点是面试重点? )来就好了。
当然,这是我的建议,如果面试正在进行,又不想错过机会,那就先把自己项目经历涉及到的技术八股给搞懂之后就尽快开始面试。剩下的那些常问的技术八股,再慢慢复习准备就好了!
面试过程中遇到不会的问题怎么办?
在面试过程中,遇到不会的问题,首先要做的是快速回顾自己过往的知识,看是否能找到突破口。如果实在没有思路的话,可以真诚地向面试要一些提示比如谈谈你对这个问题的理解以及困惑点。一定不要觉得向面试官要提示很可耻,只要沟通没问题,这其实是很正常的。最怕的就是自己不会,还乱回答一通,这样会让面试官觉得你技术态度有问题。
有没有推荐的公司?
有很多小伙伴找工作的时候想让我推荐 一些公司,emm...,我觉得根本不用我推荐。大家看 Programmer-look-at-China 这个开源项目就好了!非常赞!
这个项目详细的介绍了中国各二线以上城市的互联网环境以及生活成本。有多详细呢?这样说吧,基本把公司各个方面的信息都给介绍到了,甚至连福利情况和面试难度都有提到,简直不要太贴心。
- Github 地址:https://github.com/csguide-dabai/Programmer-look-at-China 。
- Gitee 地址:https://gitee.com/csguide/Programmer-look-at-China 。
公司背调需要注意什么?
对于社招的朋友来说,还是要注意一下背调。一般来说,大厂、研究所、央企、国企这些背调会比较严格。如果你入职的是这类企业的话,要格外留意背调,重视一些。 具体可以查看这篇分享:
面试太紧张怯场如何克服?
要正确看待面试紧张怯场这件事情,正常情况下,参加面试大家都会稍微有点紧张,尤其是前几次面试。完全不怯场很难,需要让自己更自信,多练习,多参加面试!
下面是一些建议帮助你减轻这个问题:
- 多面试,多积累经验!可以选择先拿一些小厂练手积累经验,找一些自信,不要上来就面试地狱难度的大厂。
- 放平心态,就当做是一次聊天,不要太害怕面试官,你俩都一样,以后说不定就是同事关系。也不要觉得面试官就很厉害,实际上,很多面试官的水平其实很一般的。
- 避免背书式的一问一答,适当停顿思考。这样有利于帮助自己整理思路,也能避免面试官觉得你是在背题。
- 平时按照计划准备技术面试,优先重点,多自测,多看面经。你可以约着同学朋友一下互相考察一下。另外,牛客有一个AI模拟面试也可以试试。
- 准备八股文的过程中,强烈建议你花个几个小时去根据你的简历(主要是项目经历部分)思考一下哪些地方可能被深挖,然后把你自己的思考以面试问题的形式体现出来。面试之后,你还要根据当下的面试情况复盘一波,对之前自己整理的面试问题进行完善补充。这个过程对于个人进一步熟悉自己的简历(尤其是项目经历)部分,非常非常有用。这些问题你也一定要多花一些时间搞懂吃透,能够流畅地表达出来。
- 平时要多说,不要只是在心里面想,不然真正面试的时候会发现想的和说的不太一样。