Java程序員目前就業(yè)形勢(shì)較好,因?yàn)镴ava的應(yīng)用太廣泛了,從網(wǎng)頁開發(fā)到手機(jī)安卓開發(fā),都離不開Java。 《Java程序員面試秘笈》是一本解析Java面試題的書,可以幫助求職者更好地準(zhǔn)備面試。本書共包含16章,囊括了目前企業(yè)中常見的面試題類型和考點(diǎn),包括Java語言基礎(chǔ)、Java面向?qū)ο箝_發(fā)、進(jìn)程和線程、類和對(duì)象、Servlet/JSP、J2EE、Java數(shù)據(jù)庫開發(fā)、SSH開源框架、軟件工程和UML、上機(jī)實(shí)踐、算法和邏輯思維等最常見的面試題。《Java程序員面試秘笈》通過技術(shù)點(diǎn)解析、代碼輔佐的方式,讓讀者能深刻領(lǐng)會(huì)每個(gè)考點(diǎn)背后的技術(shù)。 《Java程序員面試秘笈》緊扣面試精髓,對(duì)各種技術(shù)剖析一針見血,是想找工作的Java程序員和剛畢業(yè)學(xué)生的面試寶典。
作者簡(jiǎn)介: 陳浩,畢業(yè)于湖北理工學(xué)院,上學(xué)期間就喜歡研究開源技術(shù)和一些流行開源框架,喜歡Linux、Java和PHP。一直從事JavaWeb和PHP項(xiàng)目的開發(fā)和培訓(xùn),熟悉Eclipse、SQLServer、Oracle、MySQL等開發(fā)工具,熟悉Linux內(nèi)核源碼,目前經(jīng)營(yíng)自己的科技公司,并立志于為開源事業(yè)做出貢獻(xiàn)。 目錄: 第1章Java編程基礎(chǔ) 面試題1簡(jiǎn)單描述Java開發(fā)包的種類 面試題2Java語言的特性有哪些 面試題3Linux操作系統(tǒng)下如何安裝JavaSE開發(fā)環(huán)境 面試題4列出你熟悉的Java開發(fā)工具 面試題5用自己的語言描述Java中的類和對(duì)象 面試題6命名Java變量 面試題7理解成員 面試題8在Java中,對(duì)象是如何傳遞消息的 面試題9對(duì)于類的靜態(tài)變量的理解 面試題10類繼承的建模表示方法 面試題11使用jar命令 面試題12如何執(zhí)行mian()方法 面試題13Java開發(fā)原則 第2章Java語言基礎(chǔ)第1章Java編程基礎(chǔ) 面試題1簡(jiǎn)單描述Java開發(fā)包的種類 面試題2Java語言的特性有哪些 面試題3Linux操作系統(tǒng)下如何安裝JavaSE開發(fā)環(huán)境 面試題4列出你熟悉的Java開發(fā)工具 面試題5用自己的語言描述Java中的類和對(duì)象 面試題6命名Java變量 面試題7理解成員 面試題8在Java中,對(duì)象是如何傳遞消息的 面試題9對(duì)于類的靜態(tài)變量的理解 面試題10類繼承的建模表示方法 面試題11使用jar命令 面試題12如何執(zhí)行mian()方法 面試題13Java開發(fā)原則第2章Java語言基礎(chǔ) 面試題1掌握J(rèn)ava標(biāo)識(shí)符 面試題2掌握J(rèn)ava關(guān)鍵字 面試題3找出Java關(guān)鍵字 面試題4挑選Java關(guān)鍵字 面試題5選擇完整合法的Java注釋 面試題6int和Integer的區(qū)別是什么 面試題7哪些不屬于Java的原始類型 面試題8String和StringBuffer的區(qū)別 面試題9指出Java的原始數(shù)據(jù)類型并說出其分類 面試題10理解和掌握J(rèn)ava語言中的變量初始化 面試題11哪幾個(gè)是有效的聲明語句 面試題12選擇正確的代碼運(yùn)行結(jié)果 面試題13空文件是否為一個(gè)有效的Java程序源文件 面試題14嘗試編譯代碼并判斷結(jié)果 面試題15關(guān)于main()方法正確的描述是第3章運(yùn)算符和類型轉(zhuǎn)換 面試題1111%13的運(yùn)算結(jié)果 面試題2選擇正確的遞增運(yùn)算結(jié)果 面試題38|9&10^11的運(yùn)算結(jié)果 面試題4選擇表達(dá)式的輸出結(jié)果 面試題5選擇“abcd”instanceofObject的返回結(jié)果 面試題6考察運(yùn)算符的優(yōu)先級(jí) 面試題79+8%7+6的運(yùn)算結(jié)果 面試題8選擇正確的運(yùn)算結(jié)果 面試題9請(qǐng)給出equals()和==的區(qū)別 面試題10判斷一系列表達(dá)式運(yùn)算后的最終結(jié)果 面試題11賦值運(yùn)算符選擇題 面試題12參數(shù)傳遞選擇題 面試題13選擇正確結(jié)果 面試題14補(bǔ)全代碼 面試題15選擇正確的類型轉(zhuǎn)換 面試題16表達(dá)式5.4+"3.2"的結(jié)果 面試題17日期選擇題第4章聲明和訪問控制 面試題1選擇非法聲明語句 面試題2考察數(shù)組聲明 面試題3如何獲得數(shù)組大小 面試題4是否可以改變數(shù)組大小 面試題5數(shù)組索引從幾開始 面試題6如何初始化數(shù)組 面試題7選擇正確的合法聲明 面試題8類的聲明可否使用private 面試題9如何正確使用this 面試題10Java修飾符問題 面試題11談?wù)刦inal、finally、finalize的區(qū)別 面試題12final變量可以看作是常量嗎 面試題13包含抽象方法的一定是抽象類嗎 面試題14標(biāo)記Java類成員的可訪問性修飾符 面試題15哪些成員可以從包外部訪問 面試題16構(gòu)造器選擇題 面試題17構(gòu)造器有怎樣的執(zhí)行順序第5章流程控制、異常處理和斷言 面試題1選擇if語句執(zhí)行結(jié)果 面試題2判斷if語句中的錯(cuò)誤 面試題3判斷switch表達(dá)式的錯(cuò)誤 面試題4找出語句中的錯(cuò)誤 面試題5while語句選擇題 面試題6迭代語句for中的錯(cuò)誤 面試題7迭代語句for的編譯錯(cuò)誤 面試題8for語句的循環(huán)條件 面試題9哪個(gè)max方法可以正確返回最大值 面試題10break和continue關(guān)鍵詞的掌握 面試題11關(guān)于break和continue哪些描述正確 面試題12選出關(guān)于for描述正確的語句 面試題13哪個(gè)類是所有異常的基礎(chǔ)類 面試題14Java如何處理異常 面試題15選擇處理異常結(jié)果 面試題16有關(guān)異常的編譯結(jié)果 面試題17異常處理選擇題 面試題18如何使用throws 面試題19什么時(shí)候用assert 面試題20判斷哪幾條語句將拋出異常第6章深入理解面向?qū)ο蟮木?br/> 面試題1請(qǐng)說出面向?qū)ο蟮奶卣饔心男?br/> 面試題2列出面向?qū)ο蟮膸讉(gè)設(shè)計(jì)原則 面試題3關(guān)于類的說法哪些正確 面試題4指出類A和類B之間的關(guān)系 面試題5代碼中A和B的關(guān)系 面試題6Java方法重載選擇題 面試題7對(duì)于方法重載,哪些元素是必須相同的 面試題8選擇編譯結(jié)果 面試題9方法覆蓋選擇題 面試題10指出代碼的錯(cuò)誤 面試題11編譯代碼判斷結(jié)果 面試題12請(qǐng)說出Java語言中覆蓋和重載的相同與不同 面試題13說出代碼的編譯運(yùn)行結(jié)果 面試題14指出代碼哪里會(huì)出現(xiàn)錯(cuò)誤 面試題15父類構(gòu)造函數(shù)是先于子類構(gòu)造函數(shù)運(yùn)行嗎 面試題16怎樣才能輸出good 面試題17哪一個(gè)構(gòu)造函數(shù)能添加到標(biāo)記處而不會(huì)編譯錯(cuò)誤 面試題18哪一種說明是正確的 面試題19運(yùn)行下面代碼的結(jié)果是什么第7章對(duì)象生存期 面試題1如何理解垃圾回收 面試題2什么時(shí)候適合垃圾回收 面試題3什么地方對(duì)象變得適用于垃圾回收 面試題4關(guān)于垃圾回收哪些說法是正確的 面試題5選擇正確的Java垃圾回收說法 面試題6下面代碼中標(biāo)記的對(duì)象,哪里開始可以被回收 面試題7初始器選擇題 面試題8選擇正確的代碼塊型初始器 面試題9Java初始器執(zhí)行順序第8章線程 面試題1請(qǐng)說明進(jìn)程和線程的區(qū)別 面試題2一個(gè)具有生命的線程有哪些狀態(tài) 面試題3哪個(gè)方法是正確的啟動(dòng)新線程的方法 面試題4如何創(chuàng)建啟動(dòng)線程 面試題5選擇正確的線程說法 面試題6選擇正確的輸出結(jié)果 面試題7如何理解線程同步 面試題8線程同步選擇題 面試題9下面哪些事件會(huì)導(dǎo)致線程死亡 面試題10調(diào)用yield()方法可以保證什么 面試題11notify()方法定義在何處第9章面向?qū)ο蟮幕A(chǔ)類 面試題1Object類中hasCode()方法的返回類型是什么 面試題2Object類的clone()方法可以拋出哪個(gè)異常 面試題3關(guān)于對(duì)象的操作哪些說法正確 面試題4Math.abs(10,4)函數(shù)返回值 面試題5哪些代碼部分能夠打印出11 面試題6Math.ceil(-5.5)返回值 面試題7哪些運(yùn)算符不能用于合并字符串對(duì)象 面試題8如何提取字符串 面試題9String類的trim()方法有什么作用 面試題10String類的concat()方法 面試題11哪些表達(dá)式是非法的 面試題12哪個(gè)表達(dá)式結(jié)果為true 面試題13String對(duì)象的length()方法 面試題14理解StringBuffer類 面試題15理解setLength()方法 面試題16哪些參數(shù)列表具有相應(yīng)的StringBuffer類構(gòu)造函數(shù) 面試題17哪個(gè)方法不是StringBuffer定義的 面試題18請(qǐng)講述集合類的3個(gè)組成部分 面試題19哪些是集合框架中的核心接口 面試題20按序存放非唯一元素集合接口的名字 面試題21如何實(shí)現(xiàn)Java集合 面試題22打印輸出選擇題 面試題23Collection接口的哪些方法會(huì)返回true 面試題24實(shí)現(xiàn)Map接口的對(duì)象可以調(diào)用哪些方法 面試題25選擇正確的代碼輸出結(jié)果 面試題26哪個(gè)方法原型在接口java.util.Map.Entry中定義 面試題27哪個(gè)代碼提供了hashCode()方法的正確實(shí)現(xiàn) 面試題28關(guān)于System.out說法哪個(gè)正確 面試題29哪個(gè)語句可以建立文件“file.txt”的字節(jié)輸入流 面試題30哪個(gè)是正確的文件操作 面試題31哪個(gè)方法能夠獲得file.txt文件的父路徑 面試題32將“hello”字符寫入文件file.txt的末尾 面試題33哪個(gè)類是FilterOutputStream類構(gòu)造器的合法參數(shù)第10章Servlet/JSP基礎(chǔ) 面試題1Servlet和CGI的區(qū)別 面試題2描述Servlet的生命周期 面試題3控制臺(tái)正確的顯示結(jié)果 面試題4HTTP請(qǐng)求時(shí)Servlet會(huì)調(diào)用HttpServlet的哪個(gè)方法 面試題5如何把一個(gè)HTTP請(qǐng)求重定向到另外的URL 面試題6請(qǐng)描述Servlet和JSP的區(qū)別與聯(lián)系 面試題7JSP有哪些內(nèi)置對(duì)象?作用分別是什么 面試題8哪個(gè)不是JSP的隱含對(duì)象 面試題9請(qǐng)說出JSP的6個(gè)基本動(dòng)作指令和作用 面試題10JSP頁面如何跳轉(zhuǎn) 面試題11獲取頁面請(qǐng)求中一個(gè)文本框的輸入 面試題12如何使用標(biāo)簽 面試題13結(jié)束標(biāo)簽時(shí)調(diào)用哪個(gè)方法 面試題14${user.loginName}的執(zhí)行效果等同于哪一個(gè) 面試題15JSP容易混淆的問題 面試題16選擇正確的表達(dá)式 面試題17的輸出結(jié)果第11章JavaEE相關(guān)概念 面試題1J2EE(JavaEE)是什么 面試題2解釋JNDI、JMS、JTA、JAF、RMI 面試題3建立EnterpriseApplication時(shí)哪個(gè)J2EE組件會(huì)同時(shí)創(chuàng)建 面試題4哪個(gè)操作是不可行的 面試題5建立一個(gè)JDBCprovider時(shí),哪些字段必須填寫 面試題6什么是SOA,SOA有哪些特點(diǎn) 面試題7請(qǐng)說出什么是WebService 面試題8WebService由幾個(gè)基本技術(shù)組成,分別是什么 面試題9什么是JAXP、JAXM第12章數(shù)據(jù)庫技術(shù) 面試題1Connection的哪個(gè)方法可以建立PreparedStatement接口 面試題2在JDBC中可以調(diào)用存儲(chǔ)過程的接口是哪一個(gè) 面試題3哪些方法可以注冊(cè)一個(gè)JDBCDriver 面試題4ResultSet的方法 面試題5Statement、PreparedStatement和CallableStatement的區(qū)別 面試題6說出以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的 面試題7在一棵二叉樹上第5層的結(jié)點(diǎn)數(shù)最多是多少 面試題8數(shù)據(jù)庫系統(tǒng)的核心是什么 面試題9哪個(gè)是數(shù)據(jù)庫的正確描述 面試題10能夠給出數(shù)據(jù)庫物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是什么 面試題11SQL語句中修改表結(jié)構(gòu)的命令 面試題12給出Oracle中兩個(gè)查看表結(jié)構(gòu)的方法 面試題13針對(duì)Oracle數(shù)據(jù)庫編寫SQL查詢語句 面試題14常見的SQL查詢 面試題15Oracle臨時(shí)表有幾種?臨時(shí)表和普通表的主要區(qū)別是什么 面試題16說出冷備份和熱備份的不同點(diǎn)以及各自的優(yōu)點(diǎn) 面試題17編譯PL/SQLPackage時(shí)報(bào)告錯(cuò)誤,如何顯示出錯(cuò)信息 面試題18SQLServer如何連接認(rèn)證 面試題19在下劃線中填入相應(yīng)的答案 面試題20如何區(qū)分用戶臨時(shí)表和系統(tǒng)臨時(shí)表 面試題21SQLServer中自定義函數(shù)和存儲(chǔ)過程的區(qū)別 面試題22使用case語句 面試題23復(fù)雜的SQL查詢第13章常見的開源技術(shù) 面試題1什么是MVC設(shè)計(jì)模式?MVC分別代表什么 面試題2請(qǐng)畫出JSPModel1與JSPModel2的規(guī)范圖 面試題3Action如何轉(zhuǎn)發(fā)頁面 面試題4Struts2有哪些優(yōu)勢(shì) 面試題5針對(duì)Struts2框架的哪些說法是對(duì)的 面試題6對(duì)Struts2框架中的ActionContext描述正確的是 面試題7哪些不是Struts2的內(nèi)置result類型 面試題8在Struts2框架中如何配置Action范圍資源文件 面試題9Struts2框架的攔截器 面試題10如何使用OGNL表達(dá)式 面試題11簡(jiǎn)述你對(duì)IoC(InversionofControl)的理解 面試題12什么是依賴注入(DependencyInjection,DI),Spring的實(shí)現(xiàn)方式有哪些 面試題13簡(jiǎn)述Spring中Bean有哪些作用域 面試題14列出Spring中的事務(wù)傳播行為和隔離級(jí)別 面試題15哪個(gè)不是Hibernate的核心接口 面試題16針對(duì)Hibernate配置文件的哪些說法是正確的 面試題17請(qǐng)說明Hibernate有幾種映射類型,分別是什么 面試題18關(guān)于SessionFactory的說法哪些正確 面試題19哪些是屬于Session的方法 面試題20cascade屬性如何設(shè)置 面試題21提交幾條update語句 面試題22在持久化層的對(duì)象分為哪些狀態(tài) 面試題23Hibernate持久化對(duì)象狀態(tài)轉(zhuǎn)換 面試題24如何變成游離狀態(tài) 面試題25哪個(gè)技術(shù)不是Ajax技術(shù)體系的組成部分 面試題26XMLHttpRequest對(duì)象有幾個(gè)狀態(tài)值 面試題27java script中的函數(shù)和對(duì)象 面試題28如何使用java script創(chuàng)建對(duì)象 面試題29請(qǐng)簡(jiǎn)單介紹什么是JSF 面試題30請(qǐng)簡(jiǎn)述什么是MyFaces 面試題31MyFaces的默認(rèn)核心標(biāo)簽是什么 面試題32請(qǐng)簡(jiǎn)述FreeMarker技術(shù) 面試題33FreeMarker模板采用什么語言編寫 面試題34什么是Log4j 面試題35Log4j記錄器的優(yōu)先級(jí)順序是什么 面試題36哪些是Log4j日志的輸出樣式第14章軟件工程和UML 面試題1請(qǐng)說出軟件工程的4項(xiàng)基本原則 面試題2請(qǐng)列出軟件工程生命周期的6個(gè)階段 面試題3請(qǐng)說出3種軟件生命周期模型 面試題4請(qǐng)簡(jiǎn)單描述什么是建模 面試題5請(qǐng)簡(jiǎn)單解釋什么是UML 面試題6標(biāo)準(zhǔn)的UML內(nèi)容是由哪5種圖定義的 面試題7理解UML類圖 面試題8活動(dòng)圖強(qiáng)調(diào)什么 面試題9如何描述跨越多個(gè)用例的單個(gè)對(duì)象的行為 面試題10正確理解用例 面試題11判斷用例之間的關(guān)系 面試題12包(package)是UML的什么事物第15章上機(jī)編程面試題 面試題1如何拆分字符串 面試題2如何截取字符串 面試題3排序編程 面試題4排列組合數(shù)字 面試題5多線程編程 面試題6請(qǐng)編寫一個(gè)Singleton模式 面試題7金額轉(zhuǎn)換編程 面試題8編寫MySQL數(shù)據(jù)庫的JDBC連接 面試題9編寫SQL語句 面試題10編寫一個(gè)簡(jiǎn)單的Struts2框架應(yīng)用 面試題11編寫一個(gè)Struts2框架應(yīng)用的Action 面試題12編寫一個(gè)Hibernate應(yīng)用第16章考察算法和邏輯思維的面試題 面試題1河內(nèi)塔問題 面試題2三色旗問題 面試題3背包問題 面試題4洗撲克牌 面試題5求質(zhì)數(shù)編程 面試題6Craps賭博游戲 面試題7最大訪客數(shù)計(jì)算 面試題8燒香計(jì)時(shí) 面試題9丟失的1元錢 面試題10買水問題 面試題11如何分工錢 面試題12猜測(cè)撲克牌 面試題13黑白襪子 面試題14一次測(cè)量問題 面試題15經(jīng)典的海盜分贓難題 面試題16過橋問題 面試題17聰明的預(yù)言家面試技術(shù)人員,不是看他有多深多尖端的技術(shù),而是看他的基礎(chǔ)是否扎實(shí),是否有團(tuán)隊(duì)精神,是否具備可塑能力,是否有奉獻(xiàn)精神,大企業(yè)缺少的不是技術(shù)人員,是綜合素質(zhì)人才。本書的講解形式很好,沒有僅僅停留在技術(shù)的表面,而是通過原理、技巧和經(jīng)驗(yàn)等手段,讓讀者置身于面試實(shí)戰(zhàn)中,體會(huì)更多技術(shù)背后的東西。 ——世界500強(qiáng)企業(yè)HR總監(jiān)潘新民 我在工作中接觸了大量的技術(shù)公司和技術(shù)人員,他們都有對(duì)技術(shù)的滿腔熱愛。回憶之前面試的經(jīng)歷,他們都有一個(gè)相同的總結(jié):技術(shù)基礎(chǔ)決定上層建筑。本書給出了史上最全的Java面試題,讓讀者可以檢驗(yàn)自己的所學(xué),也可以在短期內(nèi)增長(zhǎng)自己的所學(xué)。只有打好這些基礎(chǔ),技術(shù)或個(gè)人才有更好的未來。 ——北京軟交所產(chǎn)品總監(jiān)靳華 如何在面試時(shí)展示自己最好的一面?如何給自己爭(zhēng)取更多的工作機(jī)會(huì)?本書從實(shí)際出發(fā),立足于Java的各方面技術(shù)細(xì)節(jié)。深讀此書,不僅可以加深你對(duì)Java語言的理解,同面試技術(shù)人員,不是看他有多深多尖端的技術(shù),而是看他的基礎(chǔ)是否扎實(shí),是否有團(tuán)隊(duì)精神,是否具備可塑能力,是否有奉獻(xiàn)精神,大企業(yè)缺少的不是技術(shù)人員,是綜合素質(zhì)人才。本書的講解形式很好,沒有僅僅停留在技術(shù)的表面,而是通過原理、技巧和經(jīng)驗(yàn)等手段,讓讀者置身于面試實(shí)戰(zhàn)中,體會(huì)更多技術(shù)背后的東西。 ——世界500強(qiáng)企業(yè)HR總監(jiān)潘新民 我在工作中接觸了大量的技術(shù)公司和技術(shù)人員,他們都有對(duì)技術(shù)的滿腔熱愛;貞浿懊嬖嚨慕(jīng)歷,他們都有一個(gè)相同的總結(jié):技術(shù)基礎(chǔ)決定上層建筑。本書給出了史上最全的Java面試題,讓讀者可以檢驗(yàn)自己的所學(xué),也可以在短期內(nèi)增長(zhǎng)自己的所學(xué)。只有打好這些基礎(chǔ),技術(shù)或個(gè)人才有更好的未來。 ——北京軟交所產(chǎn)品總監(jiān)靳華 如何在面試時(shí)展示自己最好的一面?如何給自己爭(zhēng)取更多的工作機(jī)會(huì)?本書從實(shí)際出發(fā),立足于Java的各方面技術(shù)細(xì)節(jié)。深讀此書,不僅可以加深你對(duì)Java語言的理解,同時(shí)可以讓你在面試時(shí),從容不迫,游刃有余。 ——Technicolor公司高級(jí)工程師 《Java程序性能優(yōu)化》作者葛一鳴
|