JAVA程序员做个1-2年,就会有感觉不知道再学什么了,因为基本上接触的项目自己所掌握的已经能胜任了。但,更高的职位要求是什么,这个还是需要找找的。
还好,网络资源比较多,这里汇总一下:
一、WEB编程
1.客户端WEB编程
a) 知道html和xhtml的区别
b) 熟悉框模型(盒子模型)概念,了解margin、border、padding的区别
c) 熟悉浮动、定位的概念,了解position、float的用法
d) 熟练运用jquery
e) 熟练运用ajax进行js编程
2.服务端Web编程
a) 熟练运用Java struts编程
b) 熟练运用session和cookies进行会话编程
c) 能够编写Ajax的服务端程序
d) 能够编写以图形方式输出报表的程序
e) 能够编写web方式的接口程序(比如跨系统的http单点登录、http网银交费、http短信发送)
二、业务处理能力
1.核心技能
a) 能够说出面向对象中“多态”的含义
b) 能够运用Java的反射机制编程
c) 编写过ejb程序
d) 能够使用“回调”方式编写事件型程序
e) 能够自己设计“定时任务”程序(不使用第三方组件)
2.数据库
a) 能够运用hibernate编程
b) 能够使用powerdesigner制作ER图并生成建表SQL
c) 精通JDBC中的事务处理
d) 能够编写多表查询的SQL语句,并清楚怎样来提高查询语句的运行效率
e) 能够运用数据库事务机制,编写业务同步锁程序(普通情况下可使用synchronized关键字修饰方法实现同步,但在集群环境中不能适用)
3.网络
a) 编写过socket程序
b) 编写过webservice客户端或服务端程序
c) 清楚“长连接”和“短连接”的区别
d) 能够自己设计“心跳”协议
e) 能够截取并分析网络报文
三、维护能力
1.Linux
a) 能够使用top等命令监控系统CPU、内存、进程、磁盘状态
b) 在Linux下安装过WAS
c) 能够编写简单的shell脚本
d) 能够监控客户连接数和WAS线程数
e) 能够查询分析syslog系统日志
2.WAS(websphere)
a) 能够部署WEB、EJB项目
b) 能够配置数据库连接(JNDI)
c) 能够监控WAS的输出日志
d) 能够通过WAS控制台监控WAS的各项性能参数
e) 能够停止、启动WAS服务
四、拓展能力
1.LAMP(Linux、Apache、Mysql、PHP)
a) 能够在REDHAT上安装LAMP
b) 了解apache配置中<Directory>、<Files>、<Location>、<Proxy>的区别
c) 能够配置mod_rewrite
d) 能够配置反向代理mod_proxy
e) 编写过PHP程序
2.Unix/Linux环境中的C编程
a) 能够编写多进程并发程序,会收集僵尸进程
b) 能够使用C编写socket服务端程序
c) 能够编写Tuxedo客户端程序
d) 了解进程调度、信号、内核、内存管理等概念
e) 能够使用系统共享内存、信号量、消息队列编程
这些,差不多JAVA初级程序员需要1年时间才能了解其中的内容,熟悉跟据自身情况,2-3年吧。
一点点看吧,黑天鹅事件太多,尽量多掌握这些基本技能了。
p.s.子曰:“见贤思齐焉,见不贤而内自省也!”
dml@2012.11.29