|
本文先说如下正确的废话,但是在实际找Java工作的过程中,真有不少人会在如下方面走弯路。
1 学会java,甚至学精java,没有任何收益,找到工作后才有,但真有不少人会认为学好java就能有高收入,而且不少培训班也会混淆学好java和找到工作拿高薪这两个概念。
2 按当下行情,一旦成功入行Java,收入过万不难,哪怕第一份工作收入没过万,工作1,2年后月入过万问题不大。但零基础情况下,通过自学入行Java,很难。
3 学java技术和找java工作的过程侧重点不同,比如不能通过现场运行自己写的项目去找工作,更不能通过背熟java面试题去找到工作。找java工作的要点在于,第一证明自己有真实项目经验,第二证明自己在项目中用熟必要的技术。
本文在讲零项目Java经验入行Java的具体操作方法前,先讲些看似有效但其实没用的做法。虽然在操作过程中大多数人依旧会走下文所提到的弯路,但这里好歹也起个警示作用。
1 大家刚接触到的Java,一定是Java核心,说白了就是Java集合多线程异常处理这些,所以很多人会误以为学好这些就能找到工作。但找第一份工作时公司一般会要求有Web框架的开发经验,比如当下是Spring boot框架。所以Java核心这块学再好,一定找不到工作,甚至连门都未必能摸到。
2 学好Java的唯一检验标志是找到工作,而不是跑通项目。本人见到不少想通过自学入行Java的朋友,由于跑不通项目,所以一直就阻塞在那边,或者有人跑通项目以后,担心一个不够还要多跑通几个,甚至要自己手写个项目。面试时面试官大概率不会要求现场演示项目,而跑通项目不能证明自己之前有真实Java项目经验。
3 在学好Spring Boot技术以后,有些朋友往往在自学阶段还会去学spring cloud等高阶技能,但是在找第一份工作时,能证明自己有spring boot项目经验就不大容易了,至于更高级的技能,初学者大概率无法证明自己在项目里用过,往往是用了2,3个月学了spring cloud等高级技能后,在面试中只能得到个“知道理论”的评价,这还真不如把精力集中在spring boot等必要方面。
4 计算机专业的相关课程,以“背面试题”的方式学,不要系统学。这里的课程包括操作系统,微机结构,数据结构算法等。在面试过程中,一般只会问些比较肤浅的概念,哪怕是算法和数据结构,一般也是要求写一些不难的代码,如果系统去学专业课,不仅工作后用不到,甚至面试都很少问。
下文给出零Java基础入门找到Java工作的操作建议,先说学习过程中的建议。
1 在搭建好JDK和数据库等环境的前提下,用半个月顶多一个月的时间很快通过运行代码熟悉java核心技能,这里可以买书或者是看视频,但绝没必要系统去看API。
在这个过程中,如果2周还无法搭建好环境从而跑通Java第一个程序,或者是1个半月后还没通过跑代码学好Java核心部分的技能,说明自己在能力或方法上需要改进,或者是学习投入的时间不够,如果是这样,或者及时止损,或者看看能不能调出更多的学习时间,或者得考虑报班学。
这部分可以看如下的,其实具体哪本书或者哪个视频关系不大,但一定要给出能跑通的代码,初学者一定别自己敲代码学,这样一个错误就会阻塞很长时间,一定是建议通过跑通现有的代码来学。
2 在1个月学好Java核心技能的基础上,直接去学spring boot,这里首先要做的是,在数据库里建一个表,然后能通过spring boot对这张表进行增删改查。在此基础上,在这个项目里引入必要的组件,比如logback日志组件,junit单元测试组件,数据库层面可以看下事务和索引。
这部分学习时间也控制在1个月内,这里没必要前置性地去看jsp,servlet或ssm等框架,可以直接从spring boot入手。这里建议的学习方法是,围绕spring boot做增删改查的功能学,在这过程中如果遇到java集合等各种语法,不熟悉的点再额外去查。而在学习过程中一定会遇到spring相关技能,比如IOC或AOP,这也是遇到不熟悉的点再查。
这部分可以用本人自己出的spring boot书,这本书当下已经被不少学校选做教材,里面包含了找工作所要的spring boot相关技能。
3 至于要不要跑通一个项目,这里其实不做要求,当然如果能跑通一个github项目,自然应该能对spring boot以及java技能有更深的理解,但是对初学者来说,哪怕把项目代码给到你,自己要搭建个环境,到数据库里建些表,从而跑通项目,这也不大容易。
但是学好spring boot以后,得立即开始准备找工作。由于之前掌握了spring boot做增删改查的技能,而且还掌握了些项目开发所必需的单元测试,日志和事务方面的技能,这里如果没有跑通项目,但一定要去脑补下各项目的业务。
比如你面试的时候打算说做过人事管理系统,那么你可以想象下,人事管理系统里包含人员信息管理,薪资管理,考核管理等模块,每个模块其实都是对单张表的增删改查。这里你需要把学习过程中spring boot做增删改查的步骤和技能迁移到这些业务里,这样好歹你就有说辞证明做过项目。
如果你能力可以,跑通了一个github项目,这里也要注意。你在项目里做的只是后端,即前端vue或js之类代码不是你做的,你接到前端的请求后,开发后端代码。毕竟初学者说好后端就不容易了,再带上说前端,更容易露馅。所以你在这个项目里只要看后端代码。而且在跑通一个项目后,一定别自己新写一个,这超出了java初学者的能力范围,而且这对找工作没任何帮助。
4 这里再多啰嗦一下,学好spring boot以后,你可以继续学redis或spring cloud等技术,但这些技术你其实没法用在面试说辞里。这些比spring boot更高阶的技术,是在找到java工作后再去学。
当下很多Java培训班在讲项目时,一般会包含spring boot项目以及spring cloud项目,甚至有些培训班会在spring cloud项目里再引入docker和k8s等更高级的技能。这些高级技能初学者学好以后,一定能提升技术,这点我认。
但提升技术的目的是为了找工作,而面试官不仅要问技术,更要结合项目问。比如spring cloud alibaba方面的技能,面试官一般会问,项目里什么场景下用?这个场景下有没有必要用?具体怎么用的?解决过什么问题?这些问题如果针对spring boot来问,初学者准备过以后面试中还能说出来,但如果针对高级技能问,大概率无法说明为什么要在项目里用。
所以对于高级技能,初学者哪背熟再多的API,背熟再多的面试题,在面试中很难证明自己用过,搞得不好,如果一方面说自己用过,另一方面让面试官感觉在你的项目里没必要用,相反面试官更会质疑你项目的真实性。但事实上初学者说好基本的spring boot项目和技能后,真能找到工作。
以上讲到的是Java学习的过程,上述过程总体上控制在3个月内,如果3个月没学好,后面用再多的时间估计也未必行。在学习阶段,报个班可能会提升速度,而且有人带,能降低半途而废的风险。
而后文讲到的找工作的建议尤为关键,甚至大家如果是报java培训班入行,这块也得注意,因为有些培训班在就业辅导方面还真不怎样。
1 根据你的学历和毕业到现在的时间点,尽量挖掘和Java相关的项目经验。比如你是本科,离开毕业有3年时间,你可以在简历中写明你所工作的公司,同时尽量写上这段时间你做的java项目。
也就是说,为了得到面试机会,你首先得在你简历上写上足量的商业项目经验。这里反过来讲,只要是社招,如果你在简历上不写Java项目,或者只写你学习项目,或者你写的项目看上去像学习项目,或者是你项目的总体时长达不到对方职位的要求,你这份简历没戏,其它别的也不用说了。
但大多数初学者在写简历时经常会出现的问题是,写的项目像学习项目,甚至很多初学者都分不清商业项目和学习项目的差别。在如下的文章里,是从反面给出得不到面试机会的简历长什么样。
而如下的文章虽然是面向应届生,但零基础想入行java的朋友也能照此写简历。
2 靠简历得到面试机会,只要是简历上的项目看上去像商业项目就行,这其实不难,更难的是要在面试中证明自己真做过Java项目。
这块的操作要点是,首先得通过自己缴纳过社保的公司经历,说明自己做的java项目是商业项目。为什么要缴纳社保的公司经历呢?万一入职后对方要背调,自己编的公司会露馅。其次java项目的业务背景得和公司匹配,比如你入职的是设备公司,你的项目是设备管理系统就比较可信。
在上述基础上,通过如下文章了解下java项目的开发流程,尤其是会用到哪些工具,在此基础上通过多个维度的细节证明自己真做过项目。一般来说,只要你说了一些真实项目里有但学习项目用不到的细节,面试官至少能确信你的java项目经历。
3 在证明自己具有足够java项目经历的基础上,后面的事情其实就是积累技术,所谓背面试题,比如面试官可能会问,项目里怎么写日志怎么做测试或怎么用事务。
如果有足够面试机会,零基础的java初学者好歹能通过面试慢慢积累,从而最终找到工作,但如果单单只背面试题,不在简历上写项目经验,或者无法在面试中证明自己真做过项目,那么连被问技术问题的机会都没,甚至连面试的机会都没。
通过上文的描述,大家能看到对零java基础的朋友来说,学技术和面试找工作其实是一个连贯的过程,比如说,一些在培训班里学得非常好的同学,如果无法证明真实java项目经验,真有可能找不到工作。再比如说,一些辅导就业方法不当的培训班老师,其实真可以说是面试官的卧底。
从上文里大家也能看到,零java经验入行java其实很难,但入行后确实能拿到高薪。就以23年2月上海的就业行情来说,本科学历,只要能在面试中证明有1到2年java项目经验,要个12k的薪资问题不大,而本科应届生,哪怕是非计算机专业,如果能证明有3个月到半年的实习经历,要个8k也大有人在。如果是本科学历,能证明个3年java经验,基本上要个15k都算少的。
但上文同时也说了,要找到java工作,不能仅靠学技术,更不能单靠背面试题,一定得要证明自己的java项目经历,以及自己在项目里用过必要的java技术。
写了那么多了,顺带发起个咨询。如果大家想进一步了解简历和面试方面的技能,可以咨询我,当然不仅限于自学或培训班学员入职,本人还做校招和社招的java面试辅导。其中的面试咨询虽然写的是“图文咨询”,但本人会用电话的方式来辅导,真可以说是一对一单独辅导。
1 用资料帮大家巩固spring boot,甚至是spring boot整合分布式组件和微服务的技能,同时提供Java面试方面的资料。这些资料在市面上有明码标价,这些资料的钱就超过咨询的费用了。但本人不负责技术提升,人家培训班收费上万的事情本人做不了。
2 提供简历辅导服务,经本人辅导后的简历,基本上都能大大提升竞争力,从而得到面试机会。
3 以电话交流的方式提供面试辅导服务,包括但不限于教如何介绍商业项目经验,如何在面试中证明spring boot能力,如何在项目中证明调优看日志和分布式组件等方面的亮点。尤其地,在辅导过程中本人还会教授“引导方法”,告诉大家如何在准备的基础上,引导面试官问出你的亮点和技能。
4 还能提供就业辅导和薪资方面的咨询。本人在电话沟通时,真会发现有些求职者限于不会说项目,或者不了解行情,所以要的薪资普遍低于平均水平,这里本人更想说,只要能在面试中说好项目和亮点,那么属于你的薪资不要白不要,事实上不少咨询者根据本人对行情的建议去谈薪,提升个几千块钱真不算个事。
最后祝广大程序员朋友都能找到心仪的工作,同时实现技术和薪资的双提升,也同时请大家多多点赞我的文章。 |
|