这篇文章是我的直系学弟的投稿,这位学弟不仅和我待过一个社团,最后秋招还阴差阳错地和我做了同事。哈哈!缘分颇深。 《JavaGuide面试突击版》 出来之后,这位学习还分享进了他的班群,作为学长来说还是非常开心的。
另外,这里再多插一嘴,JavaGuide 的Star数量虽然比较多,但是它的价值和含金量一定是不能和 Dubbo、Nacos这些优秀的国产开源项目比的,我自己也深知。希望国内可以出更多优秀的开源项目!
首先说一下,本人是在19年10月份的秋招中上岸的,一直想写一份面经,但是因为各种原因,拖到了现在。求职之前也在网上看了很多面经,希望我接下来分享的内容课可以给大家一点帮助。这篇文章主要介绍的是我在我觉得面试前应该做哪些准备,下一篇文章中我会专门介绍我的 ThoughtWorks 面试经历。
我是20届的双非本科生,没有很牛的参赛经历,也没有科研经历。对于学校安排的实习,觉得价值不大也没有去。反而在实习期间帮学校维护了一个招生软件。平时就是自己根据教程和网上的文章学习 Java,除了跟着教程写过几个大项目,也参加过老师接的实际项目。这也是我个人的求职优势所在。
9月初开始准备面试,当时本来想的是做一个大型项目作为自己知识的回顾,后来才发现自己在基础知识方面真的很薄弱,于是果断放弃项目,转而学习java相关知识。复习的时候才发现自己的一个痛点:由于我是跟着教程自学java,平时只注重动手和实际使用,反而忽略了原理和底层知识,导致知其然而不知其所以然。故复习的时候是真的有一种恍然大悟的感觉。
我是跟着网上的一些博客,加上YouTube上的视频内容来学习的。个人感觉,复习的时候如果看文字太累了,可以看看视频讲解,可以缓解自己的压力,而且对于某些知识点,视频展示的效果更好。
复习主要涉及到这些知识点:
我就不罗列这些知识点了。有需要可以去 github 上搜 JavaGuide ,作者写的比较好。我感觉比较重要的或者说实在复习的时候需要花更多时间的有:算法,推荐刷LeetCode,至少把简单级别的算法过一遍,不管哪一家公司面试都逃不过算法。其次就是数据结构,一旦你了解到了框架实现,那么后面必须牵扯到数据结构,再着就是JVM和框架源码,特别是spring,一定要看看源码,面试重灾区。
在复习这些知识点的时候注意三点:
作为一个应届毕业生,如何让我们的简历出众,可以让hr一眼相中你呢?个人觉得以下几点很重要:
这里的项目经历不是你做得demo或者你在学校做得课程设计,而是实实在在的要给客户使用的软件。我一直有一个观点,一个软件,做成demo很简单,但是如果要给客户使用,那么要考虑的细节就比较多,才是真正考验我们的技术的。对于大赛,著名的ACM,当然是名气越大越好。
那么很多应届毕业生就要说了,我只是一个普通的毕业生,没有接触过实际的软件,也没有参加大赛获奖的经历,那么我的简历岂不是没有亮点了?我给的建议是学会包装自己。对于实际项目而言,挑一个你做过的最大的软件,或者去github上淘一个。这里举个例子,你找一个分布式商城项目,然后选择一个你自己熟悉的模块,比如商品模块,然后你就把这个商品模块的代码完整看一遍,从前台展示到中间逻辑处理到后面数据库表的设计,还有此模块和其他的模块的信息交流,比如消息队列,全部过一遍,熟悉里面的处理方式。对于其他的模块,了解功能即可,可不看代码实现。然后就在简历上写,我做过xx项目,当时是多少人的一个团队,我负责的是商品模块,我实现了哪些功能,遇到了什么问题,怎么解决的,效果如何。在和面试官交流的时候,因为你只做了这个模块,所以他也会和你着重讨论这一块的东西,这样就弥补了很多人没有实际项目的痛点。
由于你的项目是整个简历的亮点,那么对于不是自己的项目,一定要好好了解里面的代码逻辑与设计。当然了,这只权宜之计,希望大家面试过了之后还是好好修炼自己的技术。
把你自己的技术栈写出来,你会哪些技术,哪些框架,都可以列出来。这里要注意用词。最好慎写精通某某技术,因为精通一般都会涉及到源码,所以如果不是真的了解不要这样写。可以使用熟悉,用过,了解等词汇。还有,对于这些技术栈:前段技术如css,后端框架如ssm,常用软件如nginx,常用工具如git等,记得分条列出,不要写一块。
这里可以写你自己的github账号,如果有很好地项目,star数比较多的,是很加分的项。其他的技术博客如果做的比较好也可以写上去。
这里展示你的学分,如果比较好可以加上专业前百分之多少。然后写和求职有关的基本课程有哪些。最后写自己的四六级的情况,有的公司对英语的要求可能比较高。
出于礼貌,写一句致谢的话,感谢您花时间阅读我的简历,期待有机会能和您共事。
最后补充一点,对于在学校有社团经历的,有干部经历的,个人觉得对于程序员求职来说,意义不大。但是这也是你自己的一个优点,可以放在面试时的自我介绍中口头阐述,这样也不会显得自己的自我介绍太过于单调。
好的求职途径可以让你的求职更加顺利,下面介绍我认为比较好的方式:
给个小建议:对自己投递过的公司,用你自己喜欢的方式记录下来,是内推的,还是在官网申请的,什么时候申请的,什么时候有宣讲信息,什么时候笔试,面试,这些都做好记录,避免错过重要的信息。对于去别人学校进行现场求职的,注意安排好行程,有计划的进行,不打无准备之仗。
所有的面试,基本上都有笔试和面试,那么如何应对笔试和面试就是很重要的了。
如果到了签约的时候,那么恭喜你,成功获得offer一枚。签约之前,想好自己是否满足对方的公司,以及薪资待遇等方面,确认无误可以签约。否则就慎重考虑,因为一旦签约之后,你想和另一家公司签约,就会面临一个解约问题,解约一般都是有5000违约金的,这个违约金多少在签约时都会注明,所以签约需慎重。
作者介绍:Github 70k Star 项目 JavaGuide (公众号同名) 作者。每周都会在公众号更新一些自己原创干货。公众hao后台回复“1”领取Java工程师必备学习资料+面试突击pdf。