2.網(wǎng)絡層:IP分類,子網(wǎng)劃分,超網(wǎng)。ARP協(xié)議,ICMP協(xié)議。理解內(nèi)部網(wǎng)關和外部網(wǎng)關,vpn等
3.貪心算法:理解赫夫曼編碼(筆試??几拍睿?/div>
4.B樹B+樹用于理解數(shù)據(jù)庫索引
5.常用的圖算法:廣度優(yōu)先,深度優(yōu)先,最短路徑算法(最好有現(xiàn)成的代碼),最小生成樹。
2.JAVA知識基礎:
2.1JAVA基礎
推薦書籍:編程思想
1.掌握java常用技術,io、多線程、反射、常用集合框架
2.對處理輸入輸出的IO進行熟悉,用于筆試
3.對Iterator,Iterable和Comparable,Comparator了解,以及常用集合的遍歷和排序。
4.對NIO一定要熟悉,以及了解JMS和RPC
5.對JAVA基礎概念要熟悉,比如抽象類和接口區(qū)別等,這些熟記。
2.2JAVA源碼
1.hashmap,hashtable,concurrentHashMap源碼以及區(qū)別
2.其他集合框架:linkedHashMap,LinkedHashSet,Copy-On-Write等
3.對Lock,Object,String等類的源碼了解。
2.3JAVA并發(fā)API
推薦書籍:應付筆試面試:JAVA多線程編程與核心技術。真正神書:JAVA并發(fā)編程實戰(zhàn)。
Synchronize 和 Lock 的區(qū)別與用法
2.wait()和await() notify()和signal(),wait()和sleep()區(qū)別與用法
3.其他的API用法:yield,join等
4.voliate深入理解,以及CAS理解
5.JAVA鎖底層實現(xiàn):自旋鎖,阻塞鎖,可重入鎖,偏向鎖,等。
6.線程池和阻塞隊列
7.以及一些常用的并發(fā)實現(xiàn)案例如生產(chǎn)者和消費者
2.4理解JVM
推薦書籍:深入理解JAVA虛擬機
1.JAVA內(nèi)存模型,哪個區(qū)域存放哪些內(nèi)容
2.引用技術法和可達性分析法
3.對象的強、軟、弱和虛引用區(qū)別與作用
4.jvm垃圾回收機制,以及回收算法
5.常見的OOM和SOF的原因和解決方案,以及通過什么工具進行分析。
6.常見的JVM輸入?yún)?shù)熟悉
7.了解GC停頓,逃逸分析,TLAB區(qū),堆外內(nèi)存等
8.常用垃圾收集器:G1,CMS等
9.了解常用性能監(jiān)控工具:如visualvm jconsole等
10.必須熟悉虛擬機類加載機制,包括原理步驟,以及雙親委派方式的原理。
3.常規(guī)儲備知識學習
3.1數(shù)據(jù)庫:
推薦書籍:sql入門:Mysql必知必會。深入理解:高性能Mysql
1.常用關聯(lián)查詢語法,自己所動手寫幾個
2.數(shù)據(jù)庫索引深入認識和理解
3.JDBC學習
4.常用數(shù)據(jù)庫調(diào)優(yōu)手段:比如通過索引調(diào)優(yōu)
5.InnoDB和MyISAM 區(qū)別
6.了解主鍵,外鍵,索引,唯一索引
7.了解索引、視圖、觸發(fā)器、游標和存儲過程
8.常用關系型數(shù)據(jù)庫和非關系型數(shù)據(jù)庫:關系型了解:Mysql,Oracle 非關系型了解:redis,Hbase,monogodb等
3.2設計模式:
推薦書籍:設計模式之禪
1.單例模式的幾種寫法一定要會
2.JDK中對應的設計模式:如IO中的裝飾模式和設配器模式等
3.框架中常用的設計模式:如Struts中的責任鏈模式,Spring中的工廠模式,動態(tài)代理模式等
4.了解6大設計原則
3.3HTTP協(xié)議:
推薦書籍:HTTP權威指南
1.什么是HTTP,協(xié)議版本等
2.學會使用瀏覽器查看HTTP請求與響應
3.熟悉HTTP請求頭和請求體
4.熟悉HTTP響應頭和響應體
5.了解Rest風格
3.4神一般的Spring:
推薦書籍:Spring實戰(zhàn)和Spring技術內(nèi)幕
1.了解IOC原理和作用
2.了解AOP原理和作用
3.常用的XML配置
4.Spring事務原理和使用
5.SpringMVC
6.了解Spring的webflow,遠程服務,rest,消息,安全等
7.新功能:Spring boot和cloud
4.后端學習之路
4.1WEB后端學習之路
推薦書籍:可以選擇一些SSH整合開發(fā)之類的
1.JSP和Servlet學習
2.XML和JSON解析學習
3.前端知識:HTML、css,js
4.JDBC學習,文件上傳\下載,JAVAMail等
5.可以利用jsp和Servlet開發(fā)簡單項目
6.接著框架學習:Struts2,Hibernate,Spring以及相互整合開發(fā)
7.接著可以了解:SpringMvc,Mybatis,Lucene,shiro等
8.利用框架實現(xiàn)簡單項目比如CMS。
4.2服務架構學習之路(此部分筆試面試不一定學習)
推薦書籍:分布式服務框架原理與實踐和微服務設計
1.了解SOA和微服務
2.負載均衡:LVS,NGINX等
3.RPC框架學習:RMI,Thrift等
4.消息框架學習:ActiveMq等
5.Netty通信框架學習
6.服務框架:dubbo
4.3Hadoop學習之路(此部分筆試面試不一定學習)
推薦書籍:Hadoop權威指南
1.熟悉mapReduce和HDfS
2.Hadoop集群搭建
3.了解:zk,hive,hbase,pig,mahout等
4.zk幾個常用作用如做注冊中心,放配置信息等。