===mysql
当你从事Java一年后,从新找工做时,才会真实的感觉到“金三银四”这四个字背后的意思。linux
工做第一年,每每是什么都充满新鲜感,什么都学习,冲劲十足的一年;WEB行业知识更新特别快,今天一个框架的新版本,明天又是另外一个新框架,有时每每根据项目的须要来不断学习新东西;因此,不少时候感受,本身用过的东西不少呀!可是真正深刻研究的东西却很少。程序员
面试,是跳槽后第一个须要面对的问题;并且不一样公司面试的着重点不一样;可是却有一个共同点:Java基础是必考的。面试
工做第一年,可能问你String对象建立的理解,经常使用的框架是什么等等;-redis
工做第三年,就问你Java内存分配机制是什么,类是如何加载的等等;算法
-spring
工做第五年,就问你经常使用的设计模式是什么,你在工做中充当什么角色,怎么独立完成一个模块等等;能够看出——这是一个典型的程序员的成长过程:sql
使用Java-----→深刻理解Java积累经验-----→独立设计分析能力-----→独当一面的多面手!数据库
所以,必须学习:数据库最经常使用的是Oracle了(固然银行项目等须要DB2等),熟练掌握使用存储过程,触发器等;UML项目中常常要写文档,项目经理的基本功,程序员走向设计的基本功;linux系统须要掌握经常使用的linux命令——部署在windows操做系统上的项目不多吧。其余就很少说了,你们能够补充。学习上,兴趣是最大的老师;项目驱动也是不错的选择,总之,不学习不行。windows
行业背景很是重要;工做3年后必须肯定本身的行业背景
好比:一直从事电信行业,一直从事银行项目,一直从事ERP行业等等。一个程序员不多是一直写代码的,就是写代码也要知道业务逻辑,知足什么需求;俗话说隔行如隔山,每一个行业的业务都不同,甚至差异很大。
好比:你一直从事流媒体的研究,让你跳槽到一家银行项目,完了,一切从头学吧,之前的行业经验都用不上了;并且,一个公司公司招人,就是但愿找到那些很容易上手,不须要培训业务好久的程序员;频繁跳槽的朋友,必定要注意这点;一直在一个行业呆久了,就能够成为这个行业的专家;咱们能够常常看到,一个项目组的某个leader,代码写的通常,可是却能够跟客户流畅的沟通,控制着新需求的提出,bug的修正等等;而客户也很愿意跟他打交道,由于那些老的项目只有他能维护,他甚至熟悉系统的每一张表结构——-可想在这个行业呆的时间有多久啦。
什么是职业规划—-就是你短时间或者长期的一个职业计划!大道理不讲,咱简单点。先问你几个问题:
a.你工做几年了,你愿意一直和新入行的新手同样就是个简单的程序员吗?-
b. 你愿意一直写代码,而不关心其余吗?
-
c. 一个项目的前期需求,设计,后期部署维护,领导找到你,你说咱搞不定,行吗?程序员不是敲代码的机器。第一年太多东西不懂,你能够一切遵从老大的安排,敲敲代码,看看数据库,测试本身和别人的代码;可是第二年,你仍是这样吗?不可能的,一年的经验你彻底能够入行了,是时候该学习怎么进行需求分析,怎么设计数据库,怎么写各种文档,怎么写更好的代码?这是高级程序员的要求!
什么是高级程序员?
因此,一个项目立项后,你要积极的参与到前期设计中,跟老同志们一道思考分析问题,学习经验!OK,你这就成长啦!千万不要认为程序员就是写代码的哦!!!
并且,经过一个项目的开发,你要能粗略的统计出一个功能的开发时间;好比一个模块有20个小功能点,你开发了80个小时,每一个小功能点平均2小时——这时在前期就能评估工做量啦。
固然每一个人的效率和工做质量是不一样的,因人而异,可是大概的工做量应该是能够统计出来的,用于统计一个项目的工做周期;具有上面的能力,你起码已是一个项目组的骨干啦!
此时,就能够带领小弟作开发而不是一个平凡的被带领者啦。不少公司的项目骨干和项目经理都不是经过招聘的来的,都是培养出来的——-工做2年,思考能力不错,善于动手,很上道!OK,此时项目经理和公司中层可能就注意到你了,就会给你多分配任务慢慢的锻炼你,这时候千万不要闹别扭哦(曾赶上这样一个同事,技术很好,人也不错,领导忽然给他分配不少任务,他开始是默默承受,后来闹意见啦!领导找他谈话后,他算明白啦!顶过一段时间就基本适应,能够快速的作完;后来他成了咱们那批人中新的项目leader啦),跟带你的人好好学习,多劳动,很快就出头啦!若是你工做了多年,属于老鸟了,也要善于带人,能提携小弟!由于只有小弟成长了,你身上的担子才会轻,项目才会顺畅的进行!
并且高级程序员(本科为例)工做四年左右工资就达到一个瓶颈了(一线城市是9K—25K),这时候必须“转型”—–高级程序员只是你能力的一部分,系统分析师,架构师,项目经理才是你应该告诉别人的职务,薪资才能再次提高。
跳槽要学习的技术就多了跳槽时时刻刻都在发生,可是我建议你们跳槽以前,先想清楚为何要跳槽。
切不可跟风,看到同事一个个都走了,本身也盲目的开始面试起来(期间也没有准备充分),究竟是由于技术缘由(影响本身的发展,偏移本身规划的轨迹),仍是钱给少了,不受重视。准备不充分的面试,彻底是浪费时间,更是对本身的不负责(若是title很高,当我没说)。
今天给你们分享下在此次跳槽中整理的Java面试大纲,其中大部分都是面试过程当中的面试题,能够对照这查漏补缺,固然了,这里所列的确定不可能覆盖所有方式。
项目介绍大部分状况,这是一场面试的考门题,面试官问这个问题,主要是考察你的概述能力和全局视野。有的人常常抱怨本身天天在堆业务,但没有成长。事实上,不少状况下确实在堆业务,但并非没有成长的。并不是作中间件或者技术架构才是成长,例如咱们的需求分析能力,沟通协做能力,产品思惟能力,抽象建模能力等都是一个很是重要的硬实力。
好的,如今进入正文:
还有跟多就不在这里一一列举了。固然可能还有些没有写上去,还请谅解。如需完整资源可加QQ:941002778 进行领取。
本次分享的资源涵盖知识点:Java基础、Java集合、JVM、多线程、spring原理、微服务、分布式、Netty、RPC、设计模式、网络、Java算法、数据结构、云计算等
有什么问题,也很是欢迎你们留言沟通,在这里提早祝你们2020年都能找到一个合适的工做~
特别声明:本文素材来源于网络,仅做为分享学习之用,若有侵权,请联系删除!