從各類招聘網站的要求上篩選出了一些java開發的一些基本的要求,對照自身看看有哪些缺陷。javascript
java基礎前端
既然是java web開發,java SE確定要學好了。java
多線程,IO,集合等,對隊列,緩存,消息等機制有了解。java併發模型,內存模型node
java虛擬機mysql
而後java虛擬機(jvm)也要懂,包括垃圾回收機制;jquery
java EElinux
傳統的java web的開發則是採用JSP+Servlet+Javabean實現的git
java web開發,或者通常的web開發分前端和後端。web
前端基礎部分包括:Html,CSS,Javascript,Html5,Ajaxredis
前端框架或者庫主要是從原生的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等。
一、2年以上Java開發經驗,基礎紮實,理解IO、多線程、集合等基礎框架,對JVM原理有必定的瞭解,同時熟悉.NET語言者優先;
二、精通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.熟悉主流開源框架技術,包括Struts二、Spring 、Hibernate、iBatis、MyBatis、Dubbo等,並對其架構設計及實現有必定了解;6.熟悉Tomcat、Weblogic、Oracle Golden Gate、ESB 等應用服務器和中間件的使用,熟悉Linux系統使用者優先;7.熟悉經常使用的設計模式,有大型分佈式、高併發、高負載、高可用性系統的設計開發經驗者優先;