blovekyo 发表于 2017-3-3 07:09:49

java web开发必备知识

  从各种招聘网站的要求上筛选出了一些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.熟悉常用的设计模式,有大型分布式、高并发、高负载、高可用性系统的设计开发经验者优先;
页: [1]
查看完整版本: java web开发必备知识