本文不讲虚的,就讲讲大三大四,零基础,甚至是非计算机专业,如何高效地把java学到能找工作的程度。其操作要点是,不是面向考试去学,而是面向校招面试去学,在学习过程中,一要掌握面试中的项目说辞,二要不断通过面试去挑战自己学习方向。
具体地,学习过程中,应该围绕Spring Boot + jpa(或Mybatis)做增删改查这条主线,而java核心这块,应该是在用的过程中再学。
如果把找到java工作比作学习英语,学英语时应当是结合文章熟悉英语的各种说话方式和表达方式,在这个过程中遇到不懂的单词再去学。这里学习java核心语法里的集合多线程等知识点就好比是学英语里的学单词,哪怕背熟再多单词,不熟悉表述的方式,依然没用。
但不少在校生,由于习惯于应对考试,所以在学习java过程中真可能会死记硬背各种java对象的语法和参数,这样哪怕学个一年半载,真可能还不知道学习方向, 具体该怎么做?
1 就去找个spring boot书,或者是视频,在此基础上优先搭建开发环境。本人出过本spring boot书,已经作为很多高校的教材,这里可以作为初学者入门spring boot的参考。
可以这样说,搭建好环境,其实学习spring boot乃至学习java,就成功了一半,具体需要安装jdk,mysql,mysql客户端(比如mysql workbench),maven,IDEA集成开发环境,搭建好开发环境的标志,由简单到复杂,可以是在IDEA集成开发环境里,运行通纯java程序,运行通简单的spring boot程序,以及运行通spring boot外带简单数据表的程序。
2 搭建好环境后,可以找本书,跑通spring boot整合jpa(或mybatis)整合单个数据表做增删改查的程序,其中需要掌握spring boot层面的控制器层,service层和repo层相互交互的流程。
这里请注意,前端代码可以了解,但如果只是找后端开发工作,前端技术,比如vue或react,不要深入,另外在这个阶段中, 能看到spring boot框架里用到java核心部分的异常处理或集合等语法点,此时可以现用现学。
更为关键的是,在这个学习过程中,别自己敲代码,应该优先运行通现有的代码,比如我这本书里提供的代码,因为自己敲一定会敲错,这个阶段敲错导致的问题,初学者未必能高效发现并解决,这样大概率会阻碍学习。
3 对于在校生而言,熟悉spring boot外带数据库开发功能模块以后,可以去跑通若干个项目,但这个过程不是必需的。这里务必注意,哪怕是跑通spring boot项目,掌握的spring boot技术也一定达不到找工作所需的程度,所以跑通项目只是让你更加掌握spring boot基础而已。
而且哪怕要跑通项目,也一定是找个现有项目,自己通过阅读指导文件搭建环境和修改参数去跑通,一定别自己动作写个项目。
4 一般在校生能通过1,2个月,通过搭建spring boot连数据库的模块熟悉spring boot的开发流程和相关技术后,后面绝不是再去看spring cloud alibaba,此时就应该为面试做准备了。
这时应当写份包含商业项目的简历,这样能帮你得到更多的面试机会,什么是商业项目,商业项目和学习项目有什么差别,以及商业项目该怎么写,大家可以参考我如下的文章。
5 此时在校生掌握java的程度,一般是会用spring boot做增删改查,外带些零散的java核心或数据孔结构以及算法等技能,此时要做的,绝不是再漫无目的地学,而是要结合面试学。
讲得再具体些,是要通过学习或面试准备,能在面试中通过表现,告诉面试官自己有商业项目经验,具体的商业项目长什么样,大家可以看我如下的文章。
在这个阶段,在校生一方面应当掌握些项目开发所必须的工具,比如maven,git,另一方面,需要掌握些项目测试,部署和排查项目问题所必须的工具或组件,比如postman,logback,junit以及maven打包部署项目的技术,具体要点大家可以看我上文。
总之,在校生在找工作过程中,背八股文算法题尤在其次,况且这些都有资料,如果能在面试中证明自己有商业项目经验,那一定能被优先录用。
2 能结合项目的业务,说明spring boot的开发流程,比如包含的注解,经常使用的类,以及怎么和数据库关联,这块是spring boot技术,其实spring boot基础部分掌握到这个程度就行了。
3 能说出一些只有做过项目才知道的细节,比如如何测试,如何部署,如何排查线上问题,这块我给出的链接里也提到,或者我另外也有其它文章讲过这个。
4 当然这个是亮点,掌握了更好,能展示自己熟悉spring boot层面的资深技能,比如日志怎么配置,单元测试怎么做,能展示自己在数据库层面的资深技能,比如索引和事务。不过大多数公司对应届生本来就没项目要求,这些亮点掌握了更好,没掌握问题不大。
5 另外,不少公司面试时会考算法和数据结构,以及操作系统等基本技能,这些可以通过刷常用的面试题来掌握,绝没必要全面去看这些书。
本文给出的方法由于是面向找工作,所以在具体过程中,是要求大家在掌握必须的(spring boot)技能后,在做少量的准备工作后,通过面试去试错,从而这个学习过程大概率是比较高效的。
所以如果要问大三大四找java工作是否来得及?这要看学习方法,如果漫无目的,系统去学java核心,数据库,spring boot甚至是spring cloud alibaba,那么一定来不及,因为这样学习掌握的技能很难用帮到自己找到工作。
但如果就用本文给出的方法,面向找工作地学,那么快则2个月,慢则4个月,中间通过不断参加面试去调整,那么大概率能帮自己找到工作。
大四了就培训呗,一个暑假自学了JavaSE,也不知道自己掌握了什么。还要坚持自学的话,怕你错过应届生的好身份呀。
当然也可以自学,那最重要的就是知道企业对应届生的招聘标准,如果现在心理连这个标准都没有。学也是盲目的瞎学。
尤其是针对自学,我们完全不清楚职场的状况,有工作经验通过招聘需求和业务就知道去了公司大概做什么。但是没有经验的,很难知道真正一个开发到工作中做什么。
2、项目里的各种语言,不要一下就能看懂,但是对于不熟悉的语法和Api能够通过查询资料之后理解含义。
3、spring boot项目运行启动之后,能够通过url请求拿到结果,发出url请求后,这个请求经过了哪些模块,是怎么访问的数据库,然后返回,处理中出现了异常怎么办。这些流程要明白。
很多人会质疑2022年了,我就跑通一个SpringBoot项目能找到工作?解释一。