应届生准备Java面试要比社招面试要简单,最近我一直在帮应届生和有java开发经验的朋友辅导面试,在本文里就将结合这方面的经验,说说应届生如何准备java面试。
在讲具体的方法前,先强调如下的三点。
1 应届生找工作时,其实未必需要有java项目的开发经验,但如果有,绝对是个加分项。
2 尽量在7月毕业前找到工作,而且找工作的最佳时间是放完寒假开学后的2,3月,不过话说回来,应届生找Java工作,只要方法得当,用1个月的时间足够找工作了。
3 如果在快毕业时还没找到工作,那么在6,7月的时候,尽量入职,哪怕工资再低,或是外包或小公司,都得去。如果不去,从7月开始就算不在职时间,不在职时间过长,对后面找工作会有影响。
好了,然后直接讲我是如何辅导应届生找java工作,一般来说,整个过程顶多2个月,大多数情况下1个月内就能找到。
1 先确认求职者对Spring Boot能力的掌握情况。
这方面的需要达到的最低标准是,知道如何在面试中结合项目业务展示spring boot增删改查的能力。请注意这里的最低要求是知道,而不是真正动手开发过增删改查的案例,更不是要跑通spring boot的项目。
这方面如果求职者不掌握,我直接让求职者看我出的书。因为这本书里,包含了用spring boot+JPA+logback流程的案例。
这方面达标的标准是,要求结合一个业务,比如库存管理,说下整个流程,比如控制器里如何通过@RequestMapping注解接收请求,如何通过@Autowired注解实现依赖注入,如何通过JPA里的注解映射数据表。因为面试中只要能说清楚这个,面试官就只能确信求职者有相关开发能力。
2 然后修改求职者的简历,如果可以,尽量挖掘他们的商业项目经验。
我在其他的博文里,也写了商业项目和学习项目的差别,这里再多啰嗦下。自学项目,还有毕业设计课程设计的项目,或者是从github上找的项目,都是学习项目,商业项目是真正用来挣钱的。
我辅导就业的应届生,一般会具有如下的商业项目经验,比如有在公司实习做过java,或者是帮教研室老师一起干过从外面公司接到的java项目。写简历到细节,大家可以看我这篇文章,这里就不再展开说明了。
总之经我手辅导过的应届生的简历中,一般都会包含6个月左右,甚至更长的商业项目年限。
3 最终要的一块是,给他们进行面试辅导。
我了解下来,大多是应届生准备java面试的时候,都是在背题,背八股文刷算法题,但其实真正有效的,应该是先展示商业项目经验,所以我会要求我辅导的对象,在自我介绍时,充分亮出商业项目经验。
如何让面试官确信这个项目是商业项目,而不是学习项目?这好办。
第一,说明是帮什么公司里做的,或者是帮老师做的但挣到钱,商业项目最要紧的特征就是挣钱。
第二,说明本项目的细节,比如人数多少,用的是敏捷开发模式,项目是用到Maven管理依赖包,用Git进行代码管理,项目会用Maven打成jar包,并部署到linux上,而且项目是用logback写日志。这些细节,学习项目一般都不具备,说了就能证明是商业项目。
第三,用一个业务例子说下spring boot做增删改查的流程,同时明说,自己不是做全栈,而是做后端,即从控制器开始做,同时有过发url请求做测试的经验。
第四,准备些做了项目一定会遇到的技术,比如通过logback怎么写日志,怎么在linux上通过vi命令分析日志解决实际问题。如果求职者能力还行的话,我还会教些解决数据库性能问题,解决过OOM问题的说辞,甚至如果求职者有过spring boot的经验,我还会教些分布式组件方面的说辞。
做好面试辅导以后,我才让他们背面试题,java方面我会让我出的书来准备,当然我还会给些我收集到的java面试题。
4 更为关键的是,我会教他们“引导”话术。
因为应届生毕竟能力有限,所以一方面面试官不会主动挖掘他们的亮点,另一方面大多数应届生都只能展示增删改查的能力,所以我会让他们在自我介绍和回答问题时,主动引导面试官的提问。
比如在自我介绍阶段,我会教他们说,我有6个月的商业项目开发经验,在这个项目里,我有解决过数据库性能问题,OOM问题的经验,有通过linux排查问题的经验,这样面试官在后面提问时,就有可能问这方面的问题了。
再如他们在回答到JPA连接数据库相关问题后,他们会说,除了使用JPA数据库,项目里我还有过排查数据库性能问题的经验。这样面试官就有可能继续问了。
通过引导,我辅导就业的求职者,就有可能在准备的基础上,充分展示自己的亮点,这样再结合之前介绍的商业项目经验,不仅能让面试官确信他们真正开发过spring boot项目,而且还有一定的实践能力。
然后我就让他们去面试,毕竟哪怕准备了那么多说辞,那么多的亮点,总要通过面试去实践下。而且面试总是个过程,一开始的时候,项目说漏嘴或亮点没抛全,这是常有的事,更别说准备好的八股文但临场忘记这种情况。但只要经历过3场面试,我辅导就业的朋友一般就能说好,并能在后面的面试中找到工作。
大家可以看到,我的整套面试辅导过程中,并没有讲多复杂的技术,比如分布式组件或分布式组件,也没单让背八股文和算法,更没要求是跑通项目后再准备,这个过程一般需要多久呢?
1 如果不熟悉Spring Boot,大概需要用1周时间熟悉,这里熟悉的程度不是跑通项目,而是知道怎么说。我辅导的朋友大多是熟悉Spring boot的,所以一般需要用2,3天结合项目练会说辞。
2 准备项目介绍和亮点说辞,其中说辞部分的细节再突击挖掘下。比如亮点说辞打算说OOM问题排查,那么就需要突击准备下JVM结构和垃圾回收算法,这个步骤顶多1周。
3 背算法和八股文,同时准备数据结构或数据库的笔试题。不过我给出的建议是,在准备好项目说辞和亮点说辞后,立即海投简历并面试,毕竟之前几家公司的面试目的是练习项目说辞,所以这个过程可以是和投简历找工作并行地干。
4 用一周时间面试3家,面试过程中发现自己的弱点,缺啥补啥,后面进入实质性的面试阶段,一般后面能用1到2周时间找到工作。
也就是说,从开始到找到工作,如果基础好,快到话一个月不到就能找到工作,哪怕基础一般,多背些八股文和说辞,2个月怎么地都能找到工作了。
但是如果随大流,按照大多数应届生到方法去找java方面的工作,会遇到哪些问题呢?
1 简历上没有项目经验,甚至没有学习项目经验,这样能得到面试机会就得凭运气,大概投10次能得到2,3次就不错了。
2 面试时只会背八股文,无法展示自己的项目开发技能,而且如果面试官问及不熟悉的点,估计未必能回答上,这样过面试就得凭运气了。
3 更重要的是,如果一家公司没面上,所谓的补救措施只是继续背题,而不是完善项目经验和亮点方面的说辞,这样在后面面试过程中的提升,就非常有限了。
大家也可以对比下,应届生如果用上文的方法,找工作时其实能很好地切入校招的需求。
1 因为简历上有项目经验,而且是商业项目经验,外带有亮点,所以用简历得到面试的机会就能大大增加。
2 直面校招找工作的需求点:项目经验,而且准备方向仅仅是力争“面试中能证明”的程度,而远低于“实际开发项目”的程度,所以这相当于用最低的代价谋取最大的收获。
3 多管齐下,通过简历,面试中的项目介绍,以及亮点说辞,多方面证明自己的商业项目开发经验,这样哪怕亮点没说好,或者八股文没背好,至少能达到保底的目标:“证明自己有开发spring boot项目的能力“,哪怕是这样,照样有可能过面试。
所以应届生找java工作,还真是个技术活,这个技术不仅仅体现在spring boot框架的掌握程度,更体现在简历和面试技巧方面。
有人会说了,通过这样进公司后,会不会露馅?其实公司对应届生的期望也没多高,而且进公司后,应届生朋友往往可以通过多问,多练习甚至多加班来过试用期,具体的内容大家可以看我如下的文章。
上文仅仅是针对应届生,给出了准备简历和面试的技巧,对于需要有实际工作经验的java社招,对应的简历和面试技巧虽然可能麻烦些,但操作起来也不复杂,由于本文是针对应届生面试,所以相关内容大家可以看我其他博文,这里就不展开了。
如果大家想进一步了解简历和面试方面的技能,可以向我发起咨询。
本人的咨询一般会提供哪些服务呢?
1 用资料帮大家巩固spring boot,甚至是spring boot整合分布式组件和微服务的技能,同时提供Java面试方面的资料。这些资料在市面上有明码标价,这些资料的钱就超过咨询的费用了。
2 提供简历辅导服务,经本人辅导后的简历,基本上都能大大提升竞争力,从而得到面试机会。
3 以电话交流的方式提供面试辅导服务,包括但不限于教如何介绍商业项目经验,如何在面试中证明spring boot能力,如何在项目中证明调优看日志和分布式组件等方面的亮点。尤其地,在辅导过程中本人还会教授“引导方法”,告诉大家如何在准备的基础上,引导面试官问出你的亮点和技能。
4 甚至还能提供就业辅导和薪资方面的咨询。如果条件合适,还有外企能公司的内推机会。
最后祝广大程序员朋友都能找到心仪的工作,同时在技能和薪资方面实现双丰收,也请大家多多点赞我的文章。