
从各种招聘网站的要求上筛选出了一些java开发的一些基本的要求,对照自身看看有哪些缺陷。
java基础
既然是java web开发,java SE肯定要学好了。
多线程,IO,集合等,对队列,缓存,消息等机制有了解。java并发模型,内存模型
java虚拟机
然后java虚拟机(jvm)也要懂,包括垃圾回收机制;
java EE
传统的java web的开发则是采用JSP+Servlet+Javabean实现的
java web开发,或者一般的web开发分前端和后端。
前端基础部分包括:Html,CSS,Javascript,Html5,Ajax
前端框架或者库主要是从原生的javascript上开发的,比如jquery,angularJS,bootstrap,还是先把javascript的基础打牢再用这些框架。
后端的框架有SSH(Struts,Spring,Hibernate),EJB,MyBatis(持久层框架,原来叫ibatis),freemarker,Shiro
消息
MQTT,分布式开放消息系统(RocketMQ)
数据库
基本的增删改查,索引,游标,触发器,存储过程,查询优化
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足
oracle,sqlserver,mysql,mongdb,redis,memcache,NoSQL
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
网络
HTTP协议,HTTPS协议,网络编程,TCP/IP
服务器
WebLogic的原理、使用和配置
Tomcat:轻量的JavaWeb容器,和WebLogic功能类似,使用简单、方便、免费、开源,但不支持EJB
JBoss:类似于Tomcat,功能更强,支持EJB
Resin
ngix
Apache,Jetty的基本配置与web应用的部署
这三种应用服务器至少掌握其中的一种是很必要的。
项目构建
有Ant,Maven,Gradle,Buildr
接口开发
webservice,restful web service
软件工程
可以理解UML设计和使用UML进行简单设计。
设计模式
单例模式,工厂模式
项目开发
敏捷编程,极限编程
大数据
Hadoop,spark,storm
数据结构和算法
链,队列,树,栈
加分项
规则引擎,如JBoss Drools,svn,git,jenkins
先写这么多,反正是要慢慢学的
2.有系统分析设计经验,掌握PowerDesigner、Visio、Rose等Case工具;
MongoDb等相关的数据库经验;
Dubbo,Kafka等;
具备TCP方面的网络编程经验,Netty,NIO
具备WEB方面的开发经验者更好。
分布式
OSGi,SOAP,
熟练掌握Linux平台命令与Tomcat的配置与应用管理能力;
C/C++服务器开发,各类主流开源框架
熟悉各类主流数据库和操作,熟悉数据库事务处理
熟悉项目管理流程
掌握sql语法,掌握如何优化数据库,调优sql语句;
有服务器和数据库优化经验者优先。
精通springmvc/mybatis/memcached/thrift/dbcp2/mysql/activemq /velocity/boostrap(有部分即可);
熟悉JBOSS、Tomcat等服务器产品,熟悉安装、调试、发布配置应用,熟悉Linux操作系统更佳;
加分项:zookeeper、redis、kafka等。
1、2年以上Java开发经验,基础扎实,理解IO、多线程、集合等基础框架,对JVM原理有一定的了解,同时熟悉.NET语言者优先;
2、精通servlet,JMS,Jdbc开发,熟悉Spring、iBatis、Netty等开源框架,能了解它的原理和机制,熟悉各种常用设计模式;
计算机及相关专业本科以上学历,两年以上全职工作经验。
熟练掌握java语言,有一定的数据结构和算法能力。
熟悉多线程,socket编程技术。
熟悉linux系统,了解常用系统性能分析工具和方法。
熟悉SQL,熟练使用至少一种SQL或NoSQL数据库。
熟悉web前端技术者优先。
熟悉node.js者优先。
熟练使用mysql或mongodb者优先。
有分布式系统,RPC调用开发经验者优先。
有高并发系统设计和开发经验者优先。
掌握运维技能者优先。
◆熟悉SVN、GIT等版本控制工具.
◆熟悉mysql数据库,了解SQL优化
◆熟悉LINUX操作系统,熟悉SHELL编程.
◆有过高并发特点的大型互联网应用的开发经验;
◆熟悉缓存架构,分布式架构;
扎实的Java基础,熟悉HTTP、Servlet、Json、XML、Socket等
3.java基础知识扎实,包括多线程、集合、缓存、消息队列、全文搜索等;
4.熟悉主流开源框架技术,包括Struts2、Spring 、Hibernate、iBatis、MyBatis、Dubbo等,并对其架构设计及实现有一定了解;
6.熟悉Tomcat、Weblogic、Oracle Golden Gate、ESB 等应用服务器和中间件的使用,熟悉Linux系统使用者优先;
7.熟悉常用的设计模式,有大型分布式、高并发、高负载、高可用性系统的设计开发经验者优先;