初级Java程序员如何快速提升自己的能力(真心求教)?

您所在的位置:网站首页 java怎么做网站开发工程师 初级Java程序员如何快速提升自己的能力(真心求教)?

初级Java程序员如何快速提升自己的能力(真心求教)?

2024-05-24 08:00| 来源: 网络整理| 查看: 265

在讲自学Java的方法和路径前,首先明确如下的观点。

1 学Java的唯一目标是找工作,所以只需要学到能帮你找到工作的最低限度。而本文给出的学习路径会让你只学到这个最低限度。至于之上的其它Java技能,等你找到工作后在项目中学,这比你自学的效率不知道要高多少。

2 找工作时,面试官只根据简历来筛选候选人,只根据面试来考核候选人的技能。一定不是根据候选人看了多少书运行通多少个项目来判断候选人的能力。所以不仅要学好Java,还要写好简历,更要掌握相关面试技巧。

3 学习Java技能,一定得分两个步骤,第一个步骤是入行,找到并从事第一份java工作,在此基础上再考虑提升的事情。在没入行的阶段,可以只学能帮你找到第一份工作的技能,这样一方面能最大程度上压缩你的学习时间,从而不会让你走过多的弯路,另一方面,一些高级的Java技能,比如数据库调优或分布式技能,不仅面试不会问,而且这些技能一定只能在项目中通过实际场景学,自学未必能学好。说了那么多其实想表达的意思是:在没入行阶段,别拔苗助长,先只学能帮你找到工作的技能。其实如果能在短时间(比如2,3个月)内学好这些技能,也是一个很大的挑战。

随后再讲自学Java的路线,可以分Java核心(Java Core),数据库和Spring Boot方向来学。

第一步,学java核心,去买两本Java基础书,什么书都行,如果实在不知道,就看我推荐的两本。为什么选书而不选视频?书毕竟经过出版社的审核,不仅包含的技能可以成系统,而且代码大概率能跑通。为什么选2本而不是更多?因为2本书大概率能覆盖所有相关的技能。你在学习的时候,建议是边敲代码边些,而且可以只学如下的内容(其它不用学):搭建环境,基本语法,面向对象,集合和异常处理,外带多线程。哪些技能在入门阶段不用学?Tcp socket网络编程,Java虚拟机,界面编程(swing和awt)。而多线程和io这块,通过运行代码大致了解下,不用深入。

在入门学习的阶段,只要会用API,不用深入了解API。比方说吧,比如在学Java的Date类,书里很有可能列出相关的api,让你照着学。但在开发项目的过程中,你是会根据需求(比如如何转换时间格式)去找api,然后网上找个类似代码改下即可。

也就是说,在你入门阶段,哪怕学全了Date类的API的用法,对你帮助也不大,有可能过段时间就忘了,但是你得通过运行代码,了解Date类可以干嘛,那么以后你工作时遇到问题,就可以知道抄哪方面的答案里。其他的,java Uitl类,String类等等,你也可以照着这个学,别过多关注语法,但要知道什么类可以干嘛。

也就是说,在学java核心部分的语法时,需要通过运行代码,了解上文提到的技能点(搭建环境,基本语法,面向对象,集合,异常处理和多线程),一定别过于深入,比如别去死记硬背API参数的含义,这些API的用法,可以等到做项目时用到时再去查。

第二步,通过JDBC学习数据库的用法。

你可以在Windows系统上搭建个mysql数据库,同时下载个navicat客户端,然后通过运行JDBC的代码,了解java操作数据库的基本做法,以及增删改查相关的SQL语法。上文给出的两本java书里也包含了这些技能。

同样请注意,在入门阶段学数据库技能的时候,可以只了解增删改查的sql,适当了解下索引和事物的概念,其他深入的技能,比如存储过程,游标,触发器等等,可以不用过多关注。

第三步,立即学Spring Boot,大多数公司是用Spring Boot干活,换句话说,你如果要达到找到工作的最低需求,一定得用Spring Boot。而且在学Spring Boot时,你可能会遇到大量之前java核心的语法点,比如异常处理,集合,类或面向对象等,这时,你可以放在Spring boot做项目的环境中学,遇到不懂的语法点再查,你就能学的很快。就好比单独背单词不容易,但放在语境里背,就好理解多了。

学Spring Boot时,你可以用我写的书,我的书里不仅包含了Spring Boot + JPA做增删改查的相关技能要点,而且还包含了项目常用的junit,logback,restful等组件或技术,这本书能很块帮你入门。

当你学到能用Spring Boot+JPA做增删改查的业务,并运行通最后两个大案例(一个是spring boot+vue全栈,一个是分布式组件汇总)后,其实你的能力,已经达到了到公司里做项目的最低标准。

上述内容的学习时间一般是,java核心+数据库,顶多两个月,学的时候要边运行代码边学,只学我列出的内容。而Spring boot大概也用2个月。再打个余量,也就是说,半年足够让你从零基础到能干活。如果你平时上心点,每天都用4个小时以上学,估计3,4个月就能学到能干活的程度。

后面很重要。你Java入门了,光有能力不行,你还得让面试官认为你行,所以下文里给出的是一些面试相关的技能。

1 先准备简历,把你学校里毕业设计,课程设计和java相关的项目经验全写上,同时在写上所有的你运行通的学习项目。列上项目的目的,不是让面试官看到你项目业务很复杂,而是通过项目描述,让面试官感觉你会基本的Spring boot开发。

这里请注意,通过写简历,你至少能让面试官看到你有半年到1年的开发经验,同时掌握spring boot+JPA做增删改查业务的基本技能。如果你的简历无法让面试官看到这点,你的简历估计根本没面试机会。

我有篇文章,是关于写简历的,可以供你参考。

2 准备面试,背题不用说了,多找面试题,而且多多益善。比如java面试题,Spring 面试题,Spring boot面试题,数据库面试。背题以后,你还要适当准备些算法题,比如排序等,这也可以靠刷题来积累经验。

3 但你更要会通过项目介绍,让面试官感觉你能用Spring boot做基本的(增删改查)项目。关于面试的流程,我这里有篇文章可以供你参考,里面包含了面试官提问Java的大概套路。

虽然本问题是关于如何自学Java,而且上文里也给出了自学java和通过Java找工作的相关步骤,但毕竟,通过Java找工作的相关面试技巧决定着自学java的成败,所以这里就啰嗦下,展开说明下零工作经验的Java程序员找工作的诀窍。

先说准备简历的相关技巧。

1 如果你的毕业设计或课程设计或是实习项目是在公司里做的,那么把这些经验写到简历上。如果不是,就把你做过的学习项目写到简历上去,这种项目经验越多越好,至少写2个,如果没项目经验,这份简历大概率没面试机会。

2 理顺你做过的,或者是你运行通的所有项目的业务流程,具体包括,这个业务是由谁发起,有哪些模块参与,用到了哪些技术,如果调用出错该怎么处理。

就以物流系统中的生成快递单业务来举例,快递员在接收快递时,扫描快递单上的条形码会触发该业务,该业务首先会验证条形码的真伪,随后会在订单流水里插入一条数据,并向收款表里插入一条数据,最后会在终端打印一个二维码给用户,供用户查询快递状态。

该模块用到了Spring boot+JPA,日志是用logback输出(其他用到的技术自行补充),在该流程中,如果遇到任何异常,均会输出异常日志,向终端输出错误提示,同时不会打印二维码。

其他你做过的任何流程,均要按上述方式准备。面试时,面试官可能会挑几个业务流程来甄别项目的真假,所以你需要准备。面试官不关心业务,但你说的业务别出现明显问题,出现问题,就说明你的项目时虚构的,就有可能直接fail。

3 准备好简历和项目说辞后,刷面试题,这点上文已经提到,所以就不展开说了。但需要注意,仅凭刷题,未必能过面试。

4 为你在简历中写的每个技术,找个项目落脚点。比如你说用了Spring boot+jpa,用到了logback输出日志。你要知道这些技术在项目里是怎么用的,落实在哪些需求点上?比如是用logback的info方法输出物流方面的日志。

5 如果你真的做过商业项目,那么按如下说辞准备项目管理相关的软件,以此证明你还参与过项目管理,有一定的项目管理经验。

项目是用Maven管理,用GIT存代码,用Jenkins部署上线,用jira开任务,测试人员用jira开bug。

其实做到这种程度,通过自学的零工作经验的Java程序员基本上可以去找工作了,而且还真能找到工作了。看到这里大家可以发现,只要方法得当,上述准备工作不需要太久,估计一周就足够了,毕竟Spring boot等技术,该学的都学了,项目该运行的也都运行了。面试准备工作做到这个份上,足以去挑战若干能力一般的技术面试官了。

准备好简历后,投简历面试找工作时,请注意如下的操作要点。

1 先去面试小公司,毕竟刚开始你要用小公司来练习说辞,而且哪怕你准备再充分,项目描述方面总可能会有漏洞,通过刚开始的几轮面试,你还能发现并解决这些硬伤。

2 根据你面试时被问题的问题,不断扩大你的背题范围。比如你之前只准备了logback语法相关说辞,但人家问了logback不同日志级别的含义,那么你回来以后可以立即去看相关用法。

3 按照我上文给出的步骤,外带经过3到5轮面试的练习,在之后的面试中,应该可以收获offer,可能就公司规模比较小而已。这个时候先放一下,再去挑战些好点的公司。

此时可以挑战哪些公司呢?准备下英语,挑战下外企。其实外企面试要求并不高,最近我辅导的学员,甚至有个别人,直接能以正式员工的身份入职外企。而且外企需要的英语不难,只要会自我介绍项目介绍即可,面试前多练习几次就行。

或者是以外派身份进外企,银行,保险公司或大厂,当然如果能以正式身份进去那最好了。按照我辅导我学员面试的经验,当学员拿到第一份offer后,此时心态会很放得开,而且又经过了多轮面试的磨练,还真有不少人能以外派身份进好公司。而且,此时哪怕进不了这种公司,一般的小公司是没问题的。

4 找工作时,如果投了5份简历没收到面试通知,这说明简历有问题,需要检查简历并改进。如果面试了5家没一家给进一步面试机会,这说明面试方法不对。此时别继续尝试了,改进方法后再尝试。

我在上海,可能我会辅导我的朋友和学员面试,所以从我的视角来看,java方面只要Spring boot+jpa增删改查会做,而且掌握足量的面试技巧, 一般都能找到工作。

也讲那么多了,这里做个总结:

1 自学java一定要以找工作为目标。因为衡量学习成败的标准不是运行通多少项目,掌握了多少技能点,只能是“是否找到Java相关工作”

2 本文不仅讲述了自学Java的路线,而且还讲述了写简历和面试的相关技巧。这些技巧是我从辅导我朋友和学员的诸多案例中总结出来的,对大家多少会有些帮助。

3 学习Java一定得分两步走,先入行再提升,在入行阶段一定别过多学习高深的技能。

如果大家在学习java或用java找工作方面有进一步的问题,欢迎来咨询我。

1 凡是发起咨询,我会通过我出过的两本书的电子版来和大家交流,这两本书的价值就超过了咨询的费用。

2 提供修改简历的辅导,能最大程度上让你的简历得到面试机会。

3 进行面试辅导,告诉你如何准备项目介绍,如何准备面试时的亮点,以及如何在面试中尽可能地引导面试官在你熟悉的范围内提问。

4 我本人是在外企工作,也有一些朋友在上海的外企和大厂,如果这些公司有内推的机会,我还会尽量帮大家推荐到这些公司。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3