java基礎(chǔ)非常重要,當(dāng)然也要深入理解原理,什么JVM,JMM,Classloader,還有一些常見(jiàn)類的源碼,自己可以試著分析一遍,現(xiàn)在讓你說(shuō)出LinkedList的內(nèi)部實(shí)現(xiàn)你能不能說(shuō)出來(lái),HashMap不用多說(shuō)了,80%的面試都會(huì)問(wèn)到。還有重要的,多線程,并發(fā),網(wǎng)絡(luò),IO。這些都是要看看的!特別是spring的源碼要好好看看,里面的架構(gòu)設(shè)計(jì)得非常好!
需要掌握的技術(shù)知識(shí)具體總結(jié)如下:
1、操作系統(tǒng)。尤其是內(nèi)存/線程/進(jìn)程方面
2、計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議,重點(diǎn)關(guān)注 TCP/UDP/HTTP。
3、數(shù)據(jù)結(jié)構(gòu)與算法。
4、數(shù)據(jù)庫(kù),知道m(xù)ysql存儲(chǔ)引擎中索引的實(shí)現(xiàn)機(jī)制、數(shù)據(jù)庫(kù)事務(wù)的幾種粒度、行鎖,表鎖;樂(lè)觀鎖,悲觀鎖等
5、設(shè)計(jì)模式,熟悉常用的幾種設(shè)計(jì)模式就行。
6、Java語(yǔ)言基礎(chǔ)。熟悉java語(yǔ)言基礎(chǔ),了解JVM、內(nèi)存模型,重點(diǎn)考察 面向?qū)ο?、集合框架(繼承關(guān)系,實(shí)現(xiàn)原理)、異常體系、IO體系、并發(fā)集合、多線程。熟悉多線程編程/并發(fā)/線程安全明顯可以加分。
7、J2EE,熟悉Spring/Spring MVC , ORM 什么的吧。看過(guò)源碼,了解原理之類的也明顯可以加分。
8、Linux,熟悉基本的linux命令就行吧
9、如果有自己做過(guò)的實(shí)習(xí)項(xiàng)目會(huì)加分不少。