背景:
阅读IT学生网新闻

Java学到什么程度可以找工作

[日期:03-05] 来源:IT学生网  作者:QQ251048012 计算机培训学校

如果你也关注IT行业,你一定能发现,一直都有人不断地散布有关程序员的负面内容:什么Java开发饱和了、学Java找不到工作、程序员吃青春饭、中年危机有多厉害、35岁一定面临裁员、程序员秃头脱发穿格子衫、直男无趣不洗澡……等等等等。

IT民工荒.jpg

其实说这些话的没有一个是程序员,都是柠檬精的抹黑或者外行人的偏见。这里贴一张2011年的老图,回头看看2011年就唱衰“IT民工荒”的那帮人,10年就快过去了,你们口中的“IT民工”至今依然领着傲人的薪水,互联网科技公司的薪资待遇领先其他行业好几倍,就问你们三个字:“香不香?

2020年2月Java开发工资.jpg

实际上Java初级开发岗位对于从业者的要求并不高,通常能够熟练使用常见的Java框架就可以找到第一份工作了(很可能是外包)。但是外行人难免忐忑,心里没谱儿,到底Java学到何种程度可以找到工作呢?本文就从一个程序员是如何诞生的视角,以校招和社招两个角度向大家讲解面试官会问些什么以及求职者该准备什么。

面向校招编程

1、Java核心方面,集合,多线程,异常处理,IO,面向对象,泛型,注解,反射……各种编程通用语法大概率会问到,比如就问些ArrayList和LinkedList的差别;用Java实现堆栈,链表,队列,散列表,树等的数据结构;操练各种排序算法。

2、前端基础方面HTML5 CSS3 JS(和Java一样复杂,会使用就行), 不要以为是后端工程师,不学前端,在实际工作中div+css布局一定要麻溜的,JS的dom操作必须给力。

3、web服务器方面,Tomcat和Nginx服务器搭建,配置文件,Servlet,JSP,Filter,Listener,http协议等。Tomcat目录结构必须了如指掌。让你手动部署个webapp总要会。哪里配置虚拟主机,哪里改端口号,web-info文件夹下的内容外部无法访问这些都要懂一点。

4、数据库方面,能会基本的增删改查即可,外带一些基本概念,比如事务怎么处理,JDBC里批处理怎么处理。会写增删改查的SQL语句,知道存储过程之类的概念,会通过索引优化查询条件,多表关联、左外右外不能怂,这里请注意,至少得用过一种商业化数据库,推荐Mysql。

5、Web框架方面,需要以全栈的形式,了解SSM,或Spring Boot或Spring Cloud从前端到后端的基本语法,至少能在项目经理短期帮助下,能照着别人的例子写代码。应届生候选人只要能讲清楚相关框架的语法点和流程即可,最多再附带说明下mybatis等组件的用法,至于redis,dubbo,根本没要求。需要有Spring+Spring MVC+mybatis框架的实际操作能力(不是商业项目开发能力),至于有Spring Boot或Spring Cloud,那更好了。了解Spring里IOC, AOP,Mybatis里的ORM过程是WEB框架考察核心。

6、综合技能方面,能知道基本的数据结构知识(线性表外带排序外带一些树的技能),基本的操作系统知识(一般仅限于线程进程概念),基本网络通讯知识(一般仅限于网络通讯模型和tcp udp协议),但这仅仅是“需要知道”而已。

如果你是一位普通的大学生:

计算机四大课.jpg

起码要学好计算机专业的“四大课”——

  1. 数据结构

  2. 计算机组成原理

  3. 计算机网络

  4. 计算机操作系

大学生学好计算机四大专业课无论是应对校招,还是考研皆可,不负青春。

如果你是一位优秀的大学生:

剑指offer .jpg

  1. 《剑指offer》刷一遍,有些重点的题一定要滚瓜烂熟;

  2. leetcode有时间一定要刷,对解题思路很有帮助。

  3. 去网上(GitHub)找项目做,并且把这个项目做成面试中最大的筹码。

这就需要你对于你的作品中的每一行代码都要很熟,用到的技术不仅要会用,还要理解底层,并且像“练号”一样的不断完善它。

如果你在面试中祭出你的作品,那面试官的问题一定是围绕你自己做的项目开展的,想一下,你把面试官带进自己的领域,又侃侃而谈,就像邀请面试官来家做客一样自信满满的表现,一定给你打高分,offer准没跑了。

面向社招编程

如果错过了校招机会,只能面向社招的话,那么无疑是从“Easy模式”瞬间提升到“Hard模式”。不但面向校招编程所需技能一样都不能少,还需要多多益善的商业项目实战经验。这还真的就像玩游戏选择难度一样,还是同样的配方,还是熟悉的味道,只不过需要你操作更强,出错更少才能过关。

难度模式.jpeg

这就需要你必须是“过来人”才能通关hard模式,也就是社招通常要求的“三年工作经验”起步。没有人开局就Hard模式通关的吧?除非是个脑残游戏,Java可并不脑残,那该怎么办呢?说白了就是相比校招,需要更多的商业项目经验。

注意商业项目经验,是指的真实项目经验,所做项目可部署上线,不是应届生做毕业设计用的那种学习项目。如何才能刷到真正的商业项目实战经验呢?无非就是前期疯狂的不要钱刷实习,找各种机会参与到真实的项目中,并且尽可能的把Java技能树全部点亮。

2019Java开发路线图.jpg

社招的面试官问的问题可就没有校招时那般“小儿科”了,问题会涉及日常开发工作的全部技术栈的方方面面,对于面试者来说就要准备得面面俱到了。

什么源码剖析、JVM底层调优、Nginx性能调优、算法深入、LeetCode中级题、分布式部署方式、微服务设计思想、Redis\MemberCache\RocketMq\kafka\ElasticSearch等中间件、Dubbo高可用、Netty对RPC框架序列化、服务治理……等等等等等

社招的要求每年是水涨船高,你很可能还需要看这些书:thinking in Java,effective java,深入理解java虚拟机,java多线程,java并发编程实战,springmvc,dubbo,netty实战,高性能MySql,Redis实战,深入理解Nginx,Springboot,Springcloud,jdk集合源码,jdk并发包源码。

看完这些,找个一二线互联网工作不成问题。

最后,既然选择IT行业,就要有终生学习的觉悟,Keep Leaning :)

 

IT学生网内容分类