2020应届生学java要什么水平才不会out?

昼白的小站

最近有不少的同学在问我 java该怎么学才能找到好工作,所以特地出此文来给那些迷茫的java小白们一点建议,以便同学们少走些弯路,在本文里,就将结合我面试实习生和毕业生的标准,专门给在校生这个群体一些学习Java方面的建议。

一、java面试会面些什么


说一下自己的以前经历,记得我IT职场第一次面试,当时我的技术水平跟大家差不多,就是刚入门的水准,毕竟是一个刚接触的小白。但是作为一个刚开始工作的新手,找到一家小型公司的Java开发工作还是比较容易的,毕竟现在最多的就是互联网公司,每个公司对于员工的要求也是天差地别。比如阿里、华为这样的公司,他们可能对于学历要求比较高。而一些只有几十个人的创业公司,他们更加注重这个人的技术能力、实践能力、解决问题的能力。

创业型小公司的特点就是人气比较少,平时做事情比较杂。在这里我说的是不到百人的创业公司,这样公司在国内是最多的,以我多年在职场的经验来看,大多数这样的创业型公司,他们很难招聘到非常优秀的技术人才。第一个是他们没有这样的实力去给他们发工资,第二是比较优秀的人才一定是被大公司挖走的。这样的公司本身没有什么底气,所以他们对于应聘者要求也会比较低,学历基本都是不看的,Java基础知识能良好的掌握,能独立做几个Java Web项目,基本都可以应聘上,最基本的CRUD可以独立完成。对于这样的公司,已经是不错了。

这种小型的创业公司招聘人才的渠道非常少,每个月的薪水得不到保障,而且整个办公环境也比较差,但是工作时间倒是一点都不少。所以,像去这种类型的公司找工作,只要自己真正的学了一些本领,基本上都可以很容易找到工作。

一般定位中小型企业,都是说那些100人以上,500人以下的成熟公司。普遍都是叫不上名字,但是公司还算有发展潜力的,这样的公司稍微正规一点,整个的办公环境会好很多,以及一些福利待遇,而且不用担心发不出来工资的问题。招聘技术人才和培训人才会有自己的一套标准。他们的要求一般都是大专学历以上的,对于个人的技术上把关更严格一点,除了可以良好的掌握Java基础知识和项目之外,还会考查你的debug能力,代码规范、异常处理能力,以及对一些Java高级特性的理解能力,可能最好多用过一些框架。这就要求我们在学习的过程中,多付出精力写代码,并且对于一些原理问题要搞清楚。

二、java要学到的技术


1.Java SE部分 初级语法,面向对象,异常,IO流,多线程,Java Swing,JDBC,泛型,注解,反射等。

2.数据库部分,基础的sql语句,sql语句调优,索引,数据库引擎,存储过程,触发器,事务等。

3. 前端部分, HTML5 CSS3 JS(和Java一样复杂,会使用就行), HTML DOM Jquery BootStrap等。

4. Java EE部分,Tomcat和Nginx服务器搭建,配置文件,Servlet,JSP,Filter,Listener,http协议,MVC等。

5. 框架部分,每个框架都可以分开学,在去学如何使用SSM 或者SSH框架,如何搭建,如何整合。开发中为什么会用框架,Rest是啥?Spring为啥经久不衰,底层如何实现等。

6.两三种设计模式,掌握常用的,比如单例模式的多种实现,责任链模式,工厂模式,装饰器模式等,了解常用场景。

7. 基础算法和数据结构,八大排序算法,查找算法。(面试会问)

8. (不做硬性要求) 熟练使用maven等构建工具,git等版本控制工具,熟悉常用linux命令,log4j,dubug,junit单元测试,日志打印工具,Redis等NoSql。

9,也是最重要的一条,对待Java要时刻充满激情!

昼白的小站


三、用一个月的时间了解Java核心部分的内容


通过上文,大家大致可以了解到毕业时找工作的目标,如果再不了解,可以实际看下招聘要求,甚至直接多去参加招聘会和面试,总之优先考察实际的开发能力,具体在Java核心部分,该如何高效学习呢?

1. 在电脑上装jdk,eclipse,别用editplus之类的工具,最好再用eclipse的自动编译功能。这方面,其实是锻炼自己的动手搭建环境的能力,工作后,开发是一方面,搭建环境的能力同样重要。

2. 刚开始,一定得去找两三本Java入门书,先通过运行现有代码,理解代码的含义。别光看书不运行,开始阶段,也多运行别人的代码,别自己敲代码。这里建议直接找书,因为相比一些视频教材,毕竟书上的知识很系统,而且能正式出版的书一般没代码问题,能直接运行。不建议自己敲代码,是因为自己敲代码时,多少会遇到问题,遇到问题后延误学习进度是小,因为一直得不到解决从而影响学习信心,甚至终止学习了,事情就大了。

3. 如果找到两三本Java入门书,一般其中涵盖的知识系统大多很相似,大家可以先运行一遍所有代码,这样就能大致掌握代码结构和基本知识点,而且由于书上代码一般问题不大,而且质量也不会低,至少不会有太大的阻碍性问题。

4. 当运行好以后,着重观察集合,面向对象,多线程,IO处理,JDBC,异常处理相关章节,这个阶段,是以掌握API用法为主,在这基本上再看下诸如接口,抽象类,异常处理流程,垃圾回收之类的高级知识点。

在上述基础上,如果可以通过资料的帮助,用Java实现堆栈,链表,队列,散列表,树等的数据结构,同时操练各种排序算法,这对找工作也有些帮助。

四、用半个月的时间,以MySQL为例,了解数据库的大致操作


在数据库方面,最好也去找本书,同时在MYSQL上实践。为什么选MYSQL?因为这比较轻,相比Oracle而言,好安装,当然如果有条件装SQL Server之类的,那就更好了。

1. 在MySQL数据库上,实践各种增删改查的SQL语句,实践建表,建索引能技巧,同时实践一下诸如子查询,with as等等复杂的SQL语句。

2. 用JDBC连同MYSQL,在Java代码里做各种增删改查的操作。

3. 在此基础上,了解诸如索引,范式和锁等概念,这时候虽然认识也会很肤浅,但至少不会一头雾水了。

这样,在数据库方面,好歹有实际操作经验了,这为之后的项目实践,能打下很好的基础。


五、用一个月的时间,了解基于Spring的web框架


面试时更看重的是框架经验,这块学习的建议如下。

1. 先通过运行代码,了解Spring里IOC, AOP,这时应该注意各种配置。

2. 熟悉Spring的基本概念后,可以尝试跑一个SSM的小例子,这个例子可以非常简答,就一个页面也行,但要包含Spring MVC和Mybatis诸多要素,这样大家好歹能知道框架的构成,在这个基础上,可以继续扩展,加些必要的业务,从而进一步了解这个框架。

在这个阶段,还是最好看书上的例子,因为书上的例子一定能通,而且还会带部署和运行的步骤,还是不建议自己敲代码,因为SSM框架相对复杂,在这个阶段如果自己敲,很有可能会因为问题太多而放弃。

3. 在自己机器上跑通SSM框架的案例后,可以网上找个带业务的系统,比如图书管理系统等,从中看些前端和后端交互数据的流程,同时,结合业务看Mybatis里的ORM过程,以及Spring里的常用注解。

六、在学习过程中,可以避免的误区


Java方面,本人按照上述步骤辅导过不少在校的同学,只要肯上心练习,效果不会太差,不过很多同学在实践过程中会走弯路,这里列些普遍存在的问题,请大家在操练的过程中尽量避免。

1. 别钻牛角尖,先面再点。比如有同学对一个知识点不理解,或者一段代码运行有问题,就会在这个点上耗费很多时间,不解决就不继续。其实在这个过程中,首先需要全方位掌握SSM框架、Java技术和数据库,个别点如果有问题,可以跳过,或者一个案例运行不通可以运行其它类似的,总之别在一个点上花费太多的时间。

2. 再啰嗦一下,最好先照着书上代码运行,开始阶段的学习方法是“复制粘贴运行理解”,在自己已经有一定的基础后,再尝试自己写代码。

3. 在操练SSM项目时,有些同学会照着视频上提到步骤做,如果有些视频步骤不对,这样就会有问题,所以还是建议照着书做。

4. 工具要选对,刚开始就eclipse,或者Idea,别用editplus或命令行。

上述是方法上的误区,其实最大的问题出在态度上,上述学习过程持续时间不会短,快则两三个月,慢则半年,如果中途因为效果不明显而放弃,那就很可惜了。

七、有学习项目经验后,争取找些商业项目的实践机会


按照上述步骤,让自己拥有最基本的SSM以及其它Java和数据库相关技能后,要做的绝不是继续积累学习项目经验,而是尽可能去找实习的机会,以积累商业项目的经验。在找实习经验方面,大家可以参照如下的建议。

1. 在我之前的博文里也提到,大三时,打听计算机学院里哪些老师和外面公司有合作,一般硕导都有这样的项目,然后直接去找老师,刚开始不要钱,只求经验,或许对各位在校生同学而言,这种方式是比较可行的,本人第一个商业项目经验也是由此得到的。

2. 一般学校里都会安排实习,实习的过程中,一定要重视,这个是实打实的商业项目经验。

3. 寒暑假,找软件公司,这可能会比较艰辛,因为在校阶段自己非常难找相关实习机会,但要去找。

4. 这个大家根据自己的实际情况自己斟酌:如果报培训班,多少能积累些项目经验,但这仅仅是学习项目经验,不过在培训班里,可以找相关老师推荐实习的机会。

5. 如果实在找不到实习的机会,那么尽可能通过各种渠道,去找商业项目经验的案例,如果有对这些案例感兴趣的可以关注私聊我,可以把这些年收集到的经验和项目分享给大家,虽然靠这种方式积累的商业项目经验质量就打折扣了,但好歹聊胜于无,而且毕竟很多毕业生,连学习项目经验都没。

不少在校的同学发现,哪怕实际只干了三个月的商业项目经验,自己的技能也会很大程度提升,而且实际的商业项目经验,会让大家掌握书本上根本不会多提但项目里一定会用的技能,比如JVM内存调优或多线程并发。从这意义上来讲,只要有条件,大学生朋友应该挤破头去找商业项目的经验,而不是悠哉游哉地坐在机房里敲代码。只要你有商业项目的经验,哪怕就三个月,找工作时你就有代差优势。

八、毕业生准备简历的要点


昼白的小站


按照上述步骤,大家在毕业时,多少会有些商业项目经验,再不济也能有学习项目经验,请记住,在招聘毕业生时,第一看项目经验,第二看项目里包含的技能,第三再问算法和理论问题,至于逻辑题和情商题,只供参考。

对此,毕业生在简历中,一定得突出做过的项目经验,优先挖掘商业项目经验,实在没有学习项目也行。如果没任何项目经验,那么找工作时会吃力很多。本文的重点是讲学习方法,准备简历的技能只是稍微提到。这块可以关注我,参考我之前写的博文,你的简历能帮你争取到面试机会吗?如果有时间的话,或许我会再专门针对毕业生朋友,写篇文章讲在java方面,如何准备简历和面试,以及如何找工作,大家敬请期待。

    

昼白的小站


希望本文能帮到大家,最后感谢大家能读完此文

本站部分文章资源来源于互联网,仅供学习交流,如若要商用,请购买正版!
若不听劝告,网友造成出现一切后果,与本站本人无关
本站有些资源未经测试,请注意网络安全,本站不对下载的资源造成的后果负责
免责声明
作者:昼白
转载请注明来源:https://www.zhoubaiwl.club/1790.htm
THE END
分享
二维码
打赏
< <上一篇
下一篇>>