1.Core Java部分
这是最基础的,对于一个java高级开发/设计人员,你需要对这一部分达到精通的水平,重点内容如下:
a.面向对象编程思想(封装继承多态接口)
b.字符串处理
c.java.lang包,java.util包等常用包
d.java异常处理
2.Java高级部分
a.Java I/O流
b.Java多线程技术
c.Java网络编程
d.Java Swing
后两项可以了解即可,如果项目需要可以深入研究
3.前端基本技能
* HTML + CSS网页开发
* JavaScript
* Jquery
* 浏览器兼容性 CSS hack(了解)
4.熟练使用JSP + Servlet进行开发
5.MVC设计模式,原理,以及相关框架,如Struts
6.SSH框架
7.缓存技术 session & cookie
8.熟练使用一种以上Java开发工具
Eclipse/MyEclipse/Jbuilder/Jcreator
9.熟练使用XML
JDOM w3c.dom SAX
10.Java设计模式
工厂模式,单例模式 ==
11.Java反射机制
反射的各种用法
12.了解或熟悉 C, C++, .NET
13.熟悉JDK的配置,环境变量
14.数据库oracle必学,其他最好了解一种以上(mysql,sql server,access==)
oracle:视图,索引,存储过程,触发器,游标,包,常用函数 ==
15.数据库原理
事务的原理,锁机制,表连接,复杂查询语句(工作经验),性能调优,锁表以及解决方案==
16.JDBC,连接池
17.Ajax,反向Ajax
18.HTTP协议,request 和 response的原理,HTTP status(了解常用的),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.熟悉常用的排序算法,如冒泡排序,快速排序等,最好自己研究过一些的算法,下面的这个就是我曾经研究过的一个:
http wenku baidu com /view/391db3f0941ea76e58fa04e9点html
31.了解Flex(不学也没关系)
32.了解敏捷开发模式
33.工作流workflow至少用过一种,如OSworkflow,了解原理
34.使用过VPN了解其原理
35.熟悉jstl表达式和el表达式
36.熟悉webservice,WSDL,SOAP
37.图片处理,如图片上传,预览,限制大小等,下面共享一(垃圾勿喷):
http wenku baidu com/view/05337bfc770bf78a6529541b点html
38.版本控制工具,CVS VSS SVN
39,JSON技术,JSON+AJAX
40.分页技术,最好自己实现过不仅仅是用过要知道原理
41.Java Mail
42.Java读写txt,excel
JXL技术
43.JVM原理,JVM内存管理,GC,Java堆栈池
44.熟练使用下面的工具:
office办公软件,word,excel,ppt等
plsql,sqldevelop 数据库开发工具
outlook大公司都用
ue编辑器
浏览器控制台,调试
SHH/PUTTY 远程
45.UML建模工具 Rational Rose等
46.使用log4j
47.使用过开放API如百度地图,腾讯街景,新浪微博等
48.页面静态化技术(伪静态页面)
49.报表技术,使用过报表制作工具,如水晶易表
50.定时任务,如Spring batch,学会自定义batch任务(不适用第三方工具)
51.了解uuid
52.B/s 和 C/s架构
53.正则表达式
54.了解JNDI JMS
55. ERP
56.unicode编码,乱码的解决
57.开源网络编辑器,如ckEditor
58.二进制原理
59,使用过,了解开源论坛框架,如discuzz
60, GWT ,Closure框架
61.了解 大数据,云计算
62.搜索引擎搜索技术
63.软件工程,项目管理
基本能力:
1.必须掌握OOP的主要要求,这样使用Java开发的系统才能是真正的Java系统。
2.写的代码必须符合流行的编码规范,例如类名首字母大写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全部小写等,
3.必须可以根据错误提示准确定义错误位置,迅速、准确排除常见错误。
4.必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii等命令。
5. 必须熟悉SQL语句基本语法,包括常规的性能调优。必须熟悉Oracle、DB2、SQL server、MySql、PostgreSQL等数据库中至少3种数据库的基本使用,常用前端工具,存储过程和触发器的编写。
6. 基本的JavaScript功底,DOM操作,能实现大部分菜单、树、简单动画等常用JavaScript效果。
7.必须熟悉Java的常用类库,包括java.lang、java.util、java.io、java.nio、java.math、java.net、java.text、java.awt和javax.swing包下大部分类,查阅API文档时能准确定位指定类,指定方法。
8. 必须熟悉Java EE常用类库,包括java.rmi、javax.naming、javax.print、javax.ejb、javax.jms、javax.mail、javax.resource、javax.servlet、javax.transaction、javax.xml包下的大部分类。
工具方面:
1. 能不借助任何IDE手动完成整个项目,至少掌握一种IDE工具的用法。
2. 至少掌握Tomcat、Jetty、Resin其中一种Web容器的各种详细用法,至少会掌握WebLogic、WebSphere、JBoss中一种应用服务器的各种详细用法。
3.懂得Ant、Maven中一种自动化工具的使用。
4.至少熟悉CVS,VSS中一种团队管理工具的用法
5.必须熟悉使用JUnit编写测试用例完成代码的自动测试。
6.至少掌握一种UML建模工具的用法。
提高方面:
1.掌握数据池、线程池等基本的缓冲池技术。
2.掌握消息队列、消息主题等分布式架构的设计思路。
3. 23种设计模式熟练使用10种以上――达到自然而然地使用这种设计模式,而不是满足于实现这个设计模式代码。
4.至少掌握Velocity、FreeMarker、SiteMesh、Ties、Struts、MyFaces、Tapestry、Spring、Hibernate、iBATIS等四种以上开源框架的用法,不是满足于简单的HelloWorld,而是要掌握了这个框架的80%以上的内容,并至少认真研究过一个开源框架的源代码――达到基本能实现这个框架的程度。
5.至少认真研究过一个开源Web容器(如Tomcat)的源代码,能实现一个具有基本功能的Web容器。
6. 至少认真研究过AppFuse、JPetStore等开源项目其中之一的源代码,掌握一个完整系统的整合开发方式。
7. 掌握贫血模式、DD模式、ROR模式等常用架构模式的设计,能合理选择恰当的架构模式。
8.至少参与过3个以上数据表在100个以上的项目,或者主持过一个数据表在100个以上的项目。对实际开发中各种常见问题,有成熟的应对方案。
9.有相当的workflow开发经验,掌握至少一种开源Workflow框架的用法。
这是最基础的,对于一个java高级开发/设计人员,你需要对这一部分达到精通的水平,重点内容如下:
a.面向对象编程思想(封装继承多态接口)
b.字符串处理
c.java.lang包,java.util包等常用包
d.java异常处理
2.Java高级部分
a.Java I/O流
b.Java多线程技术
c.Java网络编程
d.Java Swing
后两项可以了解即可,如果项目需要可以深入研究
3.前端基本技能
* HTML + CSS网页开发
* JavaScript
* Jquery
* 浏览器兼容性 CSS hack(了解)
4.熟练使用JSP + Servlet进行开发
5.MVC设计模式,原理,以及相关框架,如Struts
6.SSH框架
7.缓存技术 session & cookie
8.熟练使用一种以上Java开发工具
Eclipse/MyEclipse/Jbuilder/Jcreator
9.熟练使用XML
JDOM w3c.dom SAX
10.Java设计模式
工厂模式,单例模式 ==
11.Java反射机制
反射的各种用法
12.了解或熟悉 C, C++, .NET
13.熟悉JDK的配置,环境变量
14.数据库oracle必学,其他最好了解一种以上(mysql,sql server,access==)
oracle:视图,索引,存储过程,触发器,游标,包,常用函数 ==
15.数据库原理
事务的原理,锁机制,表连接,复杂查询语句(工作经验),性能调优,锁表以及解决方案==
16.JDBC,连接池
17.Ajax,反向Ajax
18.HTTP协议,request 和 response的原理,HTTP status(了解常用的),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.熟悉常用的排序算法,如冒泡排序,快速排序等,最好自己研究过一些的算法,下面的这个就是我曾经研究过的一个:
http wenku baidu com /view/391db3f0941ea76e58fa04e9点html
31.了解Flex(不学也没关系)
32.了解敏捷开发模式
33.工作流workflow至少用过一种,如OSworkflow,了解原理
34.使用过VPN了解其原理
35.熟悉jstl表达式和el表达式
36.熟悉webservice,WSDL,SOAP
37.图片处理,如图片上传,预览,限制大小等,下面共享一(垃圾勿喷):
http wenku baidu com/view/05337bfc770bf78a6529541b点html
38.版本控制工具,CVS VSS SVN
39,JSON技术,JSON+AJAX
40.分页技术,最好自己实现过不仅仅是用过要知道原理
41.Java Mail
42.Java读写txt,excel
JXL技术
43.JVM原理,JVM内存管理,GC,Java堆栈池
44.熟练使用下面的工具:
office办公软件,word,excel,ppt等
plsql,sqldevelop 数据库开发工具
outlook大公司都用
ue编辑器
浏览器控制台,调试
SHH/PUTTY 远程
45.UML建模工具 Rational Rose等
46.使用log4j
47.使用过开放API如百度地图,腾讯街景,新浪微博等
48.页面静态化技术(伪静态页面)
49.报表技术,使用过报表制作工具,如水晶易表
50.定时任务,如Spring batch,学会自定义batch任务(不适用第三方工具)
51.了解uuid
52.B/s 和 C/s架构
53.正则表达式
54.了解JNDI JMS
55. ERP
56.unicode编码,乱码的解决
57.开源网络编辑器,如ckEditor
58.二进制原理
59,使用过,了解开源论坛框架,如discuzz
60, GWT ,Closure框架
61.了解 大数据,云计算
62.搜索引擎搜索技术
63.软件工程,项目管理
基本能力:
1.必须掌握OOP的主要要求,这样使用Java开发的系统才能是真正的Java系统。
2.写的代码必须符合流行的编码规范,例如类名首字母大写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全部小写等,
3.必须可以根据错误提示准确定义错误位置,迅速、准确排除常见错误。
4.必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii等命令。
5. 必须熟悉SQL语句基本语法,包括常规的性能调优。必须熟悉Oracle、DB2、SQL server、MySql、PostgreSQL等数据库中至少3种数据库的基本使用,常用前端工具,存储过程和触发器的编写。
6. 基本的JavaScript功底,DOM操作,能实现大部分菜单、树、简单动画等常用JavaScript效果。
7.必须熟悉Java的常用类库,包括java.lang、java.util、java.io、java.nio、java.math、java.net、java.text、java.awt和javax.swing包下大部分类,查阅API文档时能准确定位指定类,指定方法。
8. 必须熟悉Java EE常用类库,包括java.rmi、javax.naming、javax.print、javax.ejb、javax.jms、javax.mail、javax.resource、javax.servlet、javax.transaction、javax.xml包下的大部分类。
工具方面:
1. 能不借助任何IDE手动完成整个项目,至少掌握一种IDE工具的用法。
2. 至少掌握Tomcat、Jetty、Resin其中一种Web容器的各种详细用法,至少会掌握WebLogic、WebSphere、JBoss中一种应用服务器的各种详细用法。
3.懂得Ant、Maven中一种自动化工具的使用。
4.至少熟悉CVS,VSS中一种团队管理工具的用法
5.必须熟悉使用JUnit编写测试用例完成代码的自动测试。
6.至少掌握一种UML建模工具的用法。
提高方面:
1.掌握数据池、线程池等基本的缓冲池技术。
2.掌握消息队列、消息主题等分布式架构的设计思路。
3. 23种设计模式熟练使用10种以上――达到自然而然地使用这种设计模式,而不是满足于实现这个设计模式代码。
4.至少掌握Velocity、FreeMarker、SiteMesh、Ties、Struts、MyFaces、Tapestry、Spring、Hibernate、iBATIS等四种以上开源框架的用法,不是满足于简单的HelloWorld,而是要掌握了这个框架的80%以上的内容,并至少认真研究过一个开源框架的源代码――达到基本能实现这个框架的程度。
5.至少认真研究过一个开源Web容器(如Tomcat)的源代码,能实现一个具有基本功能的Web容器。
6. 至少认真研究过AppFuse、JPetStore等开源项目其中之一的源代码,掌握一个完整系统的整合开发方式。
7. 掌握贫血模式、DD模式、ROR模式等常用架构模式的设计,能合理选择恰当的架构模式。
8.至少参与过3个以上数据表在100个以上的项目,或者主持过一个数据表在100个以上的项目。对实际开发中各种常见问题,有成熟的应对方案。
9.有相当的workflow开发经验,掌握至少一种开源Workflow框架的用法。