想要成功應(yīng)聘Java高級(jí)開(kāi)發(fā)工程師,8個(gè)你必須知道的面試考綱
市面上,有很多Java的學(xué)習(xí)圖書(shū),大部分圖書(shū)的內(nèi)容都在講解著Java最為基礎(chǔ)的部分,有些稍微不正規(guī)的書(shū)中,可能還會(huì)存在些許錯(cuò)誤的內(nèi)容,而且網(wǎng)上也有千奇百怪的Java面試題,很多也是著重在Java基礎(chǔ)上。實(shí)際上應(yīng)聘Java高級(jí)開(kāi)發(fā)工程師的話,這些基礎(chǔ)知識(shí)的存貨是遠(yuǎn)遠(yuǎn)不夠的,除此之外,必須懂得算法,數(shù)據(jù)結(jié)構(gòu),操作系統(tǒng)等知識(shí)。由于內(nèi)容涉及較多,所以不講解具體的技術(shù),而是從企業(yè)招聘Java高級(jí)開(kāi)發(fā)工程師的面試題進(jìn)行了整理,希望對(duì)大家有幫助。
一、Java基礎(chǔ)
1、面向?qū)ο?/p>
- 掌握面向?qū)ο蟮暮诵乃枷氩⑸疃壤斫?/li>
- 掌握并理解封裝繼承多態(tài)相關(guān)技術(shù)
2、I/O
- 掌握字節(jié)流FileInputStream,F(xiàn)ileOutputStream和字符流FileWriter,OutputStreamWriter并熟練運(yùn)用
- 掌握File類型的構(gòu)造,獲取和創(chuàng)建刪除
3、多線程
- 掌握Thread類型
- 掌握多線程的程序運(yùn)行原理及并發(fā)并行
4、異常
- 掌握異常的工作原理并且掌握異常的處理方式
二、Java虛擬機(jī)
1、JVM內(nèi)存區(qū)域劃分
- 掌握J(rèn)VM內(nèi)存參數(shù)設(shè)置及調(diào)優(yōu)
- 掌握程序計(jì)數(shù)器、堆、虛擬機(jī)棧、本地方法棧、方法區(qū)(Java8已移除)、元空間(Java8新增)的作用及基本原理
2、類加載
- 掌握類的加載階段:加載、鏈接(驗(yàn)證、準(zhǔn)備、解析)初始化、使用、卸載。
- 掌握類加載器分類及其應(yīng)用程序類加載器、自定義加載器。
三、J2EE
- 掌握Servlet內(nèi)置對(duì)象、動(dòng)作及相關(guān)特點(diǎn)和工作原理
- 掌握Spring框架的IOC和AOP實(shí)現(xiàn)原理(反射和動(dòng)態(tài)代理)
- 至少掌握一個(gè)MVC框架(Spring MVC)的工作原理,并熟練運(yùn)用。
四、數(shù)據(jù)結(jié)構(gòu)和算法
- 掌握線性表和樹(shù)的特點(diǎn)并熟練運(yùn)用
- 掌握常用的排序和查找算法:插入排序(希爾排序)、選擇排序(堆排序)、交換排序(冒泡排序)順序查找、二分查找、哈希查找
- 熟練運(yùn)用排序和查找思想解決編程問(wèn)題
五、數(shù)據(jù)庫(kù)
- 掌握SQL語(yǔ)句的編寫(xiě)
- 掌握數(shù)據(jù)庫(kù)的優(yōu)化(SQL層面和表設(shè)計(jì)層面)
- 至少掌握一款數(shù)據(jù)庫(kù)產(chǎn)品
- 熟悉高并發(fā)、大數(shù)據(jù)情況下的數(shù)據(jù)庫(kù)開(kāi)發(fā)。
六、Web技術(shù)
- 掌握AJAX的工作原理。
- 至少熟悉一款JS框架(比如JQuery)
七、Linux
- 熟練運(yùn)用Linux常見(jiàn)命令
- 熟悉Linux操作系統(tǒng)基本概念及特點(diǎn)
八、正則表達(dá)式
- 掌握常見(jiàn)正則表達(dá)式