这段时间经常在朋友圈看到这样的图片
很有意思哈,确实到了国庆很难静下来再学习,但对于正在找工作的人来说,这段时间是最好的弯道超车机会了。今天就来讲一下Java开发工程师应该如何准备面试。
(一)基础知识篇
基础知识也就是现在很多人口头中的“八股文”,现在的行情就是这样,如果你不背这些知识点,面试基本上就被刷,所以基础知识一定要掌握牢靠。
有些人可能会说,我虽然不会某些知识点,但是我干活能力很强。但是对面试官来说,每天成百上千份简历,好几个面试。他宁愿相信背题厉害的,也不愿相信基础都不会但是说自己能力强的。
基础知识分为几块:
1、计算机网络
2、操作系统
3、数据结构
4、Java基础
对于刚毕业的人来说,面试这四块基本都是重点,工作1到3年,重点是Java基础。
如何准备基础知识,我个人比较推荐github上的JavaStarter和JavaGuide。知识点不仅要背,而且要理解,只知道一点皮毛很容易露馅。
(二)框架篇
我看过几百份刚毕业学生的简历,上面还写着jsp、servlet。基本的SpringBoot都没有,在现在这种大环境下,很难找到工作,甚至很难得到面试机会。公司招人除了看中潜力和基础外,最看重的就是工作能力。连这些基础框架都不会,说明平常代码写的很少,自然就很难入面试官的法眼了。
框架如何学习,B站上有很多框架类的视频教程,也可以看我的博客系列。学完框架后,最好能自己动手写一个小项目,我的置顶博客上也提供了很适合初学者的项目。
框架需要熟练掌握SpringBoot全家桶,SpringCloud如果不会至少需要理解微服务内涵、会使用基础组件。
(三)刷题篇
针对1到3年的Java开发工程师,绝大部分互联网企业都会有笔试题这一关。我个人认为这一关是最难临时抱佛脚的,刷题一般是算法题、基础题或者场景题。
算法题是个长期的过程,我的建议即使你没有换工作的打算,也要每周刷几道leetcode。如果需要临时抱佛脚,就选一些经典的题目敲熟练,比如《剑指offer》中的算法题,虽然没有很多,但是每一题都很经典,适合临时抱佛脚。第二点去一些网站看看这家公司的面经,说不定就是同样的题目。
基础题的最好刷题网站是牛客网,基础题也是最好每天能刷几道,如果准备面试了,在前一个月开始就得疯狂刷牛客网和leetcode,相信后面的笔试题部分就不会有大问题了。
场景题没有准确答案,主要是考察你能否给出合理的解决方案,一般这类题目以大数据量或者高并发居多,比如高并发下如何优化接口响应时间、大数据量下如何存储数据。或者是让你实现一种功能,比如实现点赞功能的思路。对于这类题目,可以提前在网上找一些,然后自己对于一些基本的场景需要有思路。场景题主要针对有工作经验的人群。
(四)项目篇
面试必问项目,没有项目经验必被刷。不管是刚毕业还是有过一两年的工作经验,一定要填上自己十分熟悉的项目。不管是工作中的项目还是自己写的项目,面试之前务必自己介绍几遍。从我这么多次面试来看,到二面之后面试官就会让你介绍一下自己印象最深的项目。
这里的考察点主要有以下几个:
1、考察你是否真正参与了项目,并了解你在项目中担任什么角色。
2、考察你的语言表达能力,如果一个人连自己做的东西也讲不清,很难让人对你产生信任。
3、在你介绍项目时问一些项目中的知识点,也算是问一些基础。
项目准备是十分重要的,千万不能忽视。我的建议是,如果没有项目,想办法写一个出来,哪怕是github上的,你能下下来改成你自己的东西都可以,这也是一种能力。有了项目之后自己录音介绍项目,然后听录音反复修改。
(五)经验篇
以我个人经验以及我身边不少朋友的经验来看,面试也是一门学问,并且面试理论上是最容易涨薪的环节。发挥好或者坏可能就是几千块钱的差距。
给你一些建议:
1、列出自己的心仪的公司,然后排名,从排名最靠后的开始面,增加面试经验。
2、每次面试完之后及时复盘,发现哪里不太会要及时查漏补缺。
3、学历很重要,如果学历不好一定要有其他地方突出你的优点,项目或者其他方面。
最后祝大家都能进入心仪的公司。投个票,大家现在都是什么状态呢?
|