年薪40万+的Java工程师需要掌握哪些技能?(宏观+微观)大剖析

互联网时代下,由于信息技术的更新速度惊人,程序员的职业生涯是一个不断学习的过程。同时技术就相当于薪资,你的技术越高,薪资也就越高。有的人奋斗10年晋升为高级工程师,而有的人5年,甚至3年,就成为高级工程师、架构师,拿30万+、50万+的年薪。明确优秀Java工程师需要掌握的技能要求,可以助你在升职加薪的道路上少走弯路。下面播妞将从宏观和微观两方面,为大家详细剖析优秀Java工程师的技能要求。

呕心沥血整理

记得收藏转发哦

宏观方面

  1. Java(高级)

或许一般的程序员只需知道一些基础语法结构就可以应付了,但要成为高级Java工程师,要对JDBC、IO包、Util包、Text包、JMS、EJB、RMI、线程,有所研究。

如果可以,最好将Java的所有包都浏览一下,知道大概的API,这样你就会发现,其实很多功能通过Java的API都可以实现,有些时候不必自己费太多的脑筋。

  1. 设计模式

其实写代码并不是一件难事,但如何写得好就比较难了。这个“好”字包括代码可重用性,可维护性,可扩展性等。写出好的代码往往****要借助一些设计模式。

当然,通过个人长期的经验积累,可以形成自己代码风格。但既然前人已经给我们总结出了经验,我们何不踩着前人的肩膀前进?

  1. XML

现在的系统中不使用XML几乎是不可能的。XML的功能非常强大,它可以做数据转换、做系统的配置、甚至可保存你的系统业务数据。

因此必须了解XML,包括它的语法,结构,熟练的使用解析XML的一些API,比如JDOM,SAX等。因为在我们一般的项目中,XML往往担当系统配置信息的作用,需要用这些API解析这些配置信息,开发完美的项目。

  1. 精通使用一种或两种框架

像在《如何成为java初级程序员》中提到的那样,“框架都会有许多可重用的代码,良好的层次关系和业务控制逻辑,基于框架的开发使你可以省出很多的开发成本”。

但在这里希望你能精通,更多的是通过框架的使用了解框架的思想。这样自己在开发一个项目时思路会开阔一些。

  1. 熟悉主流数据库

真正比较大的项目都是有人专门做数据库的,但往往很多项目要求高级工程师,也参与数据库的设计以及SQL的编写。

所以为了更好的为国家做贡献,可以多了解一些主流数据库,比如SQLSERVER,ORACLE,多连接SQL和存储过程以及触发器。如果不是“科班”出身,还需要补充一些数据库原理方面的知识。

  1. 精通一种或两种WEBServer

作为JAVA工程师,不可避免地要部署你的项目到WebServer上,只有当你精通一种WebServer时,才可能最大限度地使用它的资源,这往往可以节省很多时间和精力。

  1. UML

在比较正规的开发团队中,UML是讨论项目的交流工具,你要想做一个软件工程师,你至少要能看懂。如果你想做高级工程师,那你要能通过它来描述你对项目的理解,尽管这不是必须,但却很重要。

  1. 站在更高角度分析问题

首先这不是一个知识点,也不是通过书本就能学得到的。在工作中多向身边的系统分析员、需求分析员、系统设计员学习,多站在他们角度去看待自己在开发的项目。

  1. 工具

在这个阶段可能会接触到不同的工具,尽管你还需要使用JB或者IDEA,但要对ROSE,Together多了解一些,因为要画UML了。不要再对Dreamweaver等HTML编辑器情有独钟了,那些JSP页面让初级程序员去写吧!

image
微观方面

向上滑动阅览

1.CoreJava部分这是最基础的,对于一个java高级开发/设计人员,你需要对这一部分达到精通的水平,重点内容如下:a.面向对象编程思想(封装继承多态接口);b.字符串处理;c.java.lang包,java.util包等常用包;d.java异常处理。
2.Java高级部分a.JavaI/O流;b.Java多线程技术;c.Java网络编程;d.JavaSwing。后两项可以了解即可,如果项目需要可以深入研究。
3.前端基本技能a.HTML+CSS网页开发;b.JavaScript;c.Jquery;d.浏览器兼容性CSShack(了解)。
4.熟练使用JSP+Servlet进行开发。
5.MVC设计模式,原理,以及相关框架,如Struts。
6.SSH框架。
7.缓存技术session&cookie。
8.熟练使用一种以上Java开发工具。(Eclipse/MyEclipse/Jbuilder/Jcreator/IntelliJIEDA/NetBeans)
9.熟练使用XML。
10.Java设计模式。
11.Java反射机制。
12.了解或熟悉C,C++,NET。
13.熟悉JDK的配置,环境变量。
14.数据库oracle必学,其他最好了解一种以上(mysql,sqlserver,access)oracle:视图,索引,存储过程,触发器,游标,常用函数。
15.数据库原理事务的原理,锁机制,表连接,复杂查询语句(工作经验),性能调优,锁表以及解决方案。16.JDBC,连接池。
17.Ajax,反向Ajax。
18.HTTP协议,request和response的原理,HTTPstatus(了解常用的),Https原理。
19.熟悉Linux基本命令,使用过Linux/Unix系统,可以编写shell脚本,可以在Linux上部署项目。
20.了解windows系统批处理脚本bat。
21.了解HTML5,最好学习过。
22.熟悉一种JS框架,如Prototype。
23.J2EE原理熟悉一种以上web容器如Tomcat,JBoss,websphere,weblogic.
24.熟悉ant或maven。
25.熟悉一门脚本语言,如python,ruby。26.了解php/asp。
27.了解ftp协议及原理。
28.熟练使用Junit测试,熟悉Mockito等测试工具。
29.熟悉javac,javadoc,native,native2ascii等常用命令。
30.熟悉常用的排序算法,如冒泡排序,快速排序等,最好自己研究过一些的算法。
31.了解Flex。
32.了解敏捷开发模式。
33.工作流workflow至少用过一种,如OSworkflow,了解原理。
34.使用过VPN了解其原理。
35.熟悉jstl表达式和el表达式。
36.熟悉webservice,WSDL,SOAP。
37.图片处理,如图片上传,预览,限制大小等。
38.版本控制工具,CVSVSSSVN。39.JSON技术,JSON+AJAX。
40.分页技术,最好自己实现过不仅仅是用过要知道原理。
41.JavaMail。
42.Java读写txt,excel,JXL技术。
43.JVM原理,JVM内存管理,GC,Java堆栈池。
44.熟练使用下面的工具:office办公软件,word,excel,ppt等plsql,sqldevelop数据库开发工具outlook大公司都用ue编辑器浏览器控制台,调试SHH/PUTTY远程
45.UML建模工具RationalRose等。
46.使用log4j。
47.使用过开放Api如百度,腾讯街景,新浪微博等。
48.页面静态化技术(伪静态页面)。
49.报表技术,使用过报表制作工具,如水晶易表。
50.定时任务,如Springbatch,学会自定义batch任务(不适用第三方工具)。
51.了解uuid。
52.b/s和c/s架构。
53.正则表达式。
54.了解jndijms。
55.ERP。
56.UNICODE编码,乱码解决。
57.开源网络编辑器,如ckEditor。
58.二进制原理。
59.使用过,了解过开源论坛框架,如discuzz。
60.GWT,Closure框架。
61.了解大数据,云计算。
62.搜索引擎搜索技术。
63.软件工程,项目管理。
在这里插入图片描述
怎么样?看完之后是不是十分“酸爽”?未来之路,借用屈原老师的一句话,路漫漫其修远兮,吾将上下而求索。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值