站在筛选简历和面试流程角度,给培训班出身 Java 程序员一些建议!
你之前在公司主要是做测试,但好歹也用过 java,那么在申请 java 工作时,一定得重点写 java。
什么叫商业项目?你做的项目能挣钱就叫商业项目。如何在简历中区分商业项目和学习项目?突出客户,上线部署过程,项目管理和使用情况这些要素。
2 直接描述培训班学习经历会带来的负面影响
我拿到一份最近几个月脱产在培训班学习的简历,我首先会想:为什么他要上培训班,是不是之前没有相关经历?相信很多面试官都有相关顾虑。如果候选人刚从学校里出来,公司对他的期望不高,那还不要紧。但如果需要的是个有 3 年经验的岗位,那么就要着重看简历乃至重点面试了。
比如简历上,除了培训班有相关经验外其它没,那么估计连面试机会都没。有些培训班会帮忙优化简历,之前的项目经验描述虽然匹配职位介绍,但这类候选人会被非常仔细地盘问。
而且,去培训班一般会导致若干月的空档期,这对下份工作来说,不是好事,毕竟拳不离手曲不离口,而且这在背景调查时能通过看社保等看出来,无法作假
。 换句话说,你在培训班学习脱产的学习经历会给你带来两大不利因素,第一暗示面试官你缺乏相关经验,第二会有“未被雇佣”的时间段。如果某些同学确实不得不通过培训班来改变自己,别无他法。但如果你目前工作还算稳定,是想通过培训班来提升自己,那么如下的建议或许对你有用。
有条件的话,尽量别脱产学,如果有必要,报一个周末班。
或者,你可以找些视频资料,边上机边学,不过这就需要一定的毅力。学什么,怎么学?找份大纲和系列的课程资料。(我不推荐任何资料)
还是这句话,首先要做的是,在平时工作中挖掘相关经验。比如你在做测试,想转 java,那么在学习之余,一定得在公司里找个 java 实践机会,怎么找?多观察,多动腿跑,多动手实践,外带多动嘴请教人。要知道,接下来换工作,更看重得是直接的项目经验。
那么是否要在简历上写明培训班经历呢?其实这不是问题。当你已经在脱产学了,那么你不写,这段经历又该如何描述呢?如果你是自学,那么公司工作的经历绝对要比培训班经历好看。所以这里的问题还是会归结为:要不要报脱产的培训班,而不是简历该怎么写。
3 大龄转行 Vs 年轻的初级程序员,公司一般会如何选择?
如果大龄 IT 人要转行,去培训班咨询,我不知道相关人员会怎么说,但我就从面试官角度来说明。可能我一直在大公司,就站在这个角度来分析。
两份简历,一份是 28 岁,本科,最近 1 年是 java,之前是其它,另一份是 24 岁,全部工作经验是 1 年,都在做 java。
首先看技能,比如基础,对框架的理解,对数据库等优化的技能,如果两者差不多,年轻人很占优势,毕竟钱一般能少给,而且精力充沛。而大龄程序员的经验不对口,本职位用不到。
确实,培训班能提升学习效率,相当于用钱买时间,而有些大龄程序员缺的就是时间。但对这些人而言,更缺乏相关技能的实践经验,如果要报培训班,这是你自己的事情,但同时还得想办法补充相关经验。
4 经过培训班突击后,可以先面试小公司
在上文里,培训班出身的同学可能看到的是比较悲观的描述,这里要说明,因为我所在的公司规模不小,而且给出的工资不算低,所以要求也相对高些。但大家也可以想下,更多的是中等规模或人数较少的公司,这类公司可能更需要的是能直接动手的人,所以大龄转行或通过培训班突击经验的同学,或者因为相关经验比较少,刚开始可以考虑这类公司。
又如,当我有时候招外包员工时,同等职位的要求也会大大降低。什么叫外包员工呢?比如某大公司 A,出于预算的考虑,针对工作 3 年的初级岗,会开放若干正式员工岗和外包岗。外包岗是,这类员工和某外派公司 B 签合同,但和正式员工一起上班,这类员工的面试要求会低不少,也经常招些刚从培训班里出来的同学。
此类外包岗,由于要求不高,而且能获取大公司的工作经验,同时若干年后还有可能转成正式员工,可以是相关同学的首选。如果培训班推荐就业的老师没相关渠道,你可以自己通过朋友或猎头找。
5 面试官怎么面试有培训班经历的人?论培训班同学如何准备面试?
上文的主要内容是,如何规划自己的学习和如何挖掘项目经验。哪怕是培训班的学生,简历上只要稍微用心点,通过筛选并不难,但面试前更得准备。
1 如上所述,我首先得考察商业项目经验的真实性,会问:项目几个人做?做了多久?用什么管理方式?(比如敏捷方式)多久发布一次?部署在哪类服务上?如何部署?打包部署流程是什么样的?目前有哪些客户在用?诸如此类问题,确认的是项目真实性。
我听到的不大好的回答有,项目直接部署在 windows 系统上,直接打成 jar 包然后手动放到服务器上,没有日志监控等手段,说不清项目的管理方式和发布周期等一定会经历过的要素。有人还会说,做完了,但过了很久,还没客户用,所以没部署,产品网站没流量。至于该怎么说,项目是大家做的,自己得想好。 在我其它博文里,也有相关说辞的介绍。
2 问全栈流程,比如前端用什么,后端用什么,数据库用什么?更重要的是,部署相关的分布式组件大致用什么。我不求候选人讲清楚业务,但要候选人用一个需求点讲清楚全栈流程。培训班出来的同学,往往会某块讲比较清楚,而缺乏整体流程。这块其实也未必要讲非常仔细,比如 nginx 如何配置负载均衡,我不要求你结合底层代码讲清楚实现机制,你通过配置文件简单说明即可。同时,每块你至少能通过简单的配置和代码讲清楚流程。
3 随后再问技术点。这里的建议是,先刷题,再精通,最好结合需求,通过底层代码说明。
比如考察 Java 核心知识点,你先通过刷题,了解些基本说辞,先让面试官感觉你全都会。然后深挖一块,比如线程并发,你可以结合你业务需求,说这块你用到线程池,具体参数怎么配,如何同业务整合,这里你可以背一些底层代码,说下线程如何回收,超时时如何处理,这样面试官就会认为你很精通。
4 再问优化点和组件。其实这块已经属于加分项了。比如数据库调优你有哪些经验?框架层面 Spring Cloud 你用过哪些组件。这里的回答要求是,不求多,但要结合业务说清楚一块。比如数据库调优方面,你说你知道索引,执行计划,分库分表,但都是理论经验。这还不如你就结合一个业务点,本来 sql 语句怎么样,但我通过加索引,让这句话优化到 10 秒执行完。类似的,你结合业务说清楚几点,就一定能证明自己的能力。
以上可以说是培训班出身同学面试时的通病,大家如果注意,就可以超越不少对手。
6 简历和面试过程中要不要回避培训经验
可能不同的人有不同的观点,我的建议如下。
第一,如果你这个时间段除了写培训班经历没其它好写,与其写待业中,还不如写在培训班里学习。或者你刚从学校里出来,或者刚毕业,本身经验少,那么可以写上培训班经历。
第二,刚才我已经给出了写明培训经历的后果,大家如果感觉能在面试中用技术或经验说服面试官,那你可以写上。或者说难听点,债多不愁,你找相关工作时的不利因素也够多了,不差这一条,而又得靠培训班经历来撑台面,那么可以写上。
第三,再啰嗦一句,不管如何,更多得是挖掘相关项目经验,而培训经验可以落实到商业项目经验里。比如你报了个周末班,在其中学到了 netty 等分布式组件的知识。同时你在平时上班的项目里也在用,也遇到半包粘包或零拷贝等问题,但在上培训班前你没重视,那么你就可以把培训班学到的技能优化这部分的简历。
7 总结:进阶道路可以曲折,但别小富即安
培训班出身的同学后面的发展得靠自己,刚出来后,可以找个能提供实践机会的公司。比如我在上海,经常听说有公司招不到人,对他们来说,不在乎候选人的出身,甚至不在乎学历,只要能干活久行,而培训班出身的同学能证明这点还是绰绰有余的。
另外,我经常到培训班网站去了解我的对手,在看完他们项目描述之余,每次都会看他们学生的就业情况,具体我不多说,大家也可以自己观察思考,不过大家可以从中看到不少积极的因素:进小公司应该是没太大问题的。
总之,要不要进培训班大家自己考虑,自己发心看资料也是一种选项。不过话说回来,培训班出身的程序员找到工作并不难,至少在上海是这样,就工资和工作时间的问题。但稳定后绝不能沾沾自喜,更得继续掌握高级开发乃至架构师的知识,从而力图进大的好的公司,力求更高工资的职位。
为了帮助大家提高学习效率,我已经整理好了一套 Java 进阶学习笔记,点击文末名片免费领取。
评论