《進入IT企業必讀的324個Java面試題》是2011年8月1日電子工業出版社出版的圖書,作者是張昆。本書主要介紹了面試須知、Java程式設計、Java Web開發、常見算法以及多個必讀的面試題目。
基本介紹
內容簡介,圖書目錄,
內容簡介
本書涵蓋了Java面試中會經常出現的問題,並指導讀者快速、巧妙地回答問題。全書共分18章,內容涵蓋了面試前必須要知道的幾件事、Java程式基礎、Java語言中的符號、數據類型及類型轉換、數組與字元串、流程控制、異常處理及記憶體管理、輸入/輸出流、面向對象、Java的多執行緒、包和訪問控制、集合、資料庫、J2EE技術、XML/UML技術、Servlet/JSP技術以及常見的上機編程和思維訓練等有趣的試題。
圖書目錄
第一篇 求職你準備好了嗎
第1章 面試前必須知道的幾件事2
一次次的求職面試,就像一場場無形的戰役一樣,決定著不同的人生和不同人的命運。如果想在戰役中取得勝利,就必須做到知己知彼,才能百戰百勝。想要在眾多對手中脫穎而出,靠的不再是健壯的體魄,而是靈敏的思維和充分的準備,在戰鬥即將打響之際,你準備好了嗎?通過學習本書,你將準備充分,信心十足,摩拳擦掌等待戰場上大顯身手的那一刻。
1.1 做好自己的職業規劃2
1.1.1 走好職業生涯第一步2
1.1.2 確定符合自己的人生目標3
1.1.3 緊跟社會發展的步伐3
1.1.4 為職業生涯畫上圓滿的句號4
1.2 面試的流程4
1.2.1 填寫求職申請表4
1.2.2 筆試4
1.2.3 面試5
1.2.4 壓力測試7
1.2.5 外語能力測試8
1.2.6 綜合測試8
1.3 一個漂亮的簡歷9
1.3.1 中文簡歷的製作9
1.3.2 英文簡歷的製作10
1.3.3 如何用E-mail投遞簡歷11
1.3.4 簡歷瀏覽量低的原因12
1.3.5 華麗的辭藻未必是美的13
1.3.6 簡歷被篩選的秘密14
1.4 著裝要注意的問題14
1.4.1 面試著裝(男生篇)14
1.4.2 面試著裝(女生篇)15
1.5 面試官經常問到的幾個問題15
問題1 談談你的缺點15
問題2 你為什麼選擇我們公司16
問題3 對這項工作,你有哪些可
預見的困難16
問題4 如果我錄用你,你將怎樣
開展工作16
問題5 與上級意見不一時,
你將怎么辦17
問題6 你能為我們做什麼17
問題7 你是應屆畢業生,缺乏經驗,
如何能勝任這項工作17
問題8 你希望與什麼樣的上級共事18
問題9 你在前一家公司離職的
原因是什麼18
問題10 你以前的上級對你的
評價如何19
問題11 如果你的工作出現失誤,給
本公司造成經濟損失,你認為
該怎么辦19
問題12 怎樣理解團隊?請舉例並
說明啟示20
1.6 大公司VS小公司20
1.6.1 大公司VS小公司的區別20
1.6.2 大公司的利和弊21
1.6.3 小公司的利和弊21
第二篇 Java程式設計
第2章 Java程式基礎24
學好Java最重要的一個步驟就是上機編程,熟悉Java的開發運行環境是成為一個Java程式設計師的第一步。通過Java編程基礎方面的考查,可以全面體現面試者對於Java語言的理解程度和熟練程度。在本章內容中通過真實的面試題,從多個角度講解Java編程基礎部分的考點,使面試者能夠快速掌握Java面試的要領,提高自己在面試中成功的機率。
2.1 環境搭建與開發24
面試題1 如何在Linux環境下
安裝JDK28
面試題2 如何編譯運行應用程式30
面試題3 Java開發工具32
面試題4 關於Java命令提示符的
問答題33
2.2 Java語言概述36
面試題5 關於Java命名規範的
代碼分析題37
面試題6 關於Java代碼安全的
選擇題38
面試題7 關於Java語言的特性的
問答題39
面試題8 關於Java的類和對象的
選擇題40
2.3 變數與常量41
面試題9 變數及其範圍41
面試題10 根據代碼找出錯誤原因42
面試題11 修改錯誤代碼43
面試題12 關於靜態方法的
代碼分析題43
面試題13 關於在類中定義方法的
選擇題44
面試題14 關於main()的選擇題44
面試題15 關於靜態變數的選擇題44
面試題16 關於實例成員和
類成員區別45
面試題17 找出錯誤的代碼47
第3章 Java語言符號49
Java程式語言同其他程式語言一樣,也是由語法規則和語義定義組成的。語法規則制定了由語言元素構造合法的句式,語義定義則解釋了這些句式的含義,應深刻理解各知識點的概念,牢記一些Java的語法,從而達到學習的目的。
3.1 標識符49
面試題1 選擇合法的標識符49
面試題2 找出錯誤的代碼50
3.2 關鍵字51
面試題3 Java中的關鍵字151
面試題4 Java中的關鍵字252
面試題5 關鍵字語法含義52
3.3 分隔設定53
面試題6 Java中的注釋154
面試題7 Java中的注釋254
3.4 算數運算符55
面試題8 求表達式的結果57
面試題9 編程計算103的值58
3.5 關係運算符58
面試題10 確定x的取值範圍59
面試題11 equals()和==60
面試題12 分析程式寫出結果61
3.6 邏輯運算符61
面試題13 根據程式選擇正確的
運行結果64
3.7 位運算符64
面試題14 指出錯誤代碼的位置68
面試題15 選出相等的值68
面試題16 根據代碼,推測結果69
3.8 條件運算符69
面試題17 關於條件運算符的
操作規則70
3.9 賦值運算符71
面試題18 選出正確的賦值語句72
3.10 優先權和結合性72
面試題19 運算符的結合性測試73
面試題20 寫出程式運行結果74
第4章 數據類型及類型轉換75
數據類型是指數據的內在表現形式。Java語言是一個強調數據類型的語言,在聲明任何變數時,必須將該變數定義為一種數據類型。根據數據的不同形式,數據劃分為多種不同的類型。數據類型不同,所進行的運算就不同,取值範圍也不同。Java提供的數據類型包括基本數據類型和複合數據類型。本章主要介紹數據的基本類型。在Java程式中,總共有8大基本類型,包括4種整型、1種字元型、2種浮點型、1種布爾型,除了這幾種基本類型外,其他都屬於複合數據類型。表4.1體現了Java語言中各數據類型的劃分。
4.1 整型數據75
面試題1 int和Integer有什麼區別76
面試題2 正確的賦值方式77
面試題3 選擇合法的聲明77
面試題4 正確表示八進制值78
面試題5 Java的原始數據類型78
面試題6 int的取值範圍79
面試題7 根據代碼選擇正確的答案79
面試題8 正確表示10的十六進
制值80
面試題9 判斷表達式的正誤80
4.2 實型數據80
面試題10 選出對float變數的
合法聲明82
面試題11 正確的賦值82
面試題12 合法的聲明83
4.3 字元型數據83
面試題13 char的取值範圍84
面試題14 哪些表達式的
結果是正確的85
面試題15 在char中是否能存儲漢字85
4.4 布爾型數據86
面試題16 對boolean型變數的聲明
哪個是正確的87
面試題17 選出合法的表達式87
4.5 數據類型轉換88
面試題18 選出合法的類型轉換91
面試題19 基本數據類型與String
之間的轉換92
4.6 值傳遞92
面試題20 選擇正確的結果92
面試題21 final的參數傳遞95
第5章 數組與字元串97
本章介紹Java中預定義的兩個類:數組與字元串。它們也是所有程式設計語言必須要處理的兩類數據結構。在傳統語言(如C)中,數組和字元串都只是一片連續的記憶體空間,用於存放同類型的數據,語言本身並沒有為它提供更多的支持。Java將其設計為對象,內置了更多的方法,降低了程式設計師的工作量。另外,Java會對數組的下標進行檢測,如果有下標越界的情況,就會及時報告,避免了困擾C/C++程式設計師的一大難題。下面就從數組開始講起。
5.1 一維數組97
面試題1 選擇合法的數組聲明99
面試題2 對數組進行初始化100
面試題3 默認初始化100
面試題4 根據代碼選擇正確的答案101
面試題5 根據代碼選出對結果
正確描述的選項102
面試題6 編程題(求最大數)102
5.2 二維數組103
面試題7 判斷程式的運行結果106
面試題8 將正確的選項插入指定的
位置107
面試題9 選擇二維數組的合法聲明107
面試題10 獲得數組的大小108
面試題11 編程題(根據要求
設計程式)108
5.3 類String字元串111
面試題12 分析代碼的輸出結果114
面試題13 String的數據類型115
面試題14 判斷程式的返回結果115
面試題15 判斷創建的對象個數115
5.4 類StringBuffer字元串116
面試題16 String和StringBuffer的
區別119
面試題17 正確的構造方法119
面試題18 setLength方法的作用119
第6章 流程控制121
什麼是流程控制?流程就是做一件事情的順序,或者說是次序。在程式設計中,流程就是要完成一個功能,而流程控制則是指如何在程式設計中控制完成某種功能的次序。
語句是程式的控制成分,它具有特定的語法規則和嚴格的表達方法,用來控制程式的運行,因此語句也是一些具有結構化的控制結構。這些控制結構可以歸為三類:順序結構、選擇結構和循環結構。實現這些控制結構的語句可分為5類:表達式語句、複合語句、分支語句、循環語句和跳轉語句。本章將逐一介紹這些語句。
6.1 if控制語句121
面試題1 分析代碼的運行結果124
面試題2 寫出if語句的運行結果124
面試題3 分析程式代碼是否有錯125
面試題4 編程題126
6.2 switch控制語句126
面試題5 分析代碼的運行結果128
面試題6 根據已知結果選擇
未知條件129
面試題7 switch語句的使用範圍130
面試題8 找出代碼中的錯誤並改正130
面試題9 編程題131
6.3 循環控制語句131
面試題10 選出錯誤代碼的
位置(while)135
面試題11 分析代碼選擇正確的
答案(for)136
面試題12 寫出程式的運行結果
(do-while)137
面試題13 判斷do…while語句的
輸出結果137
面試題14 編程題138
6.4 跳轉控制語句140
6.4.1 break跳轉語句140
6.4.2 continue跳轉語句141
6.4.3 return返回語句143
面試題15 分析程式的運行結果144
面試題16 關於break和continue的
描述哪些是正確的145
面試題17 可以返回最大值的方法145
面試題18 編程題146
第7章 異常處理及記憶體管理147
在實際項目開發過程中,經常會遇到這樣的問題,例如某程式在編譯時沒有產生錯誤信息,但在程式運行時,經常會出現一些運行時的錯誤,這種錯誤對Java而言就是一種異常。異常指的是程式在運行時發生的錯誤或者不正常的狀況,有了異常就要有相應的處理方式。異常處理是Java的一個優點,在異常處理中,它的處理機制設計先進、使用方便,不僅提高了程式的健壯性,而且還大大降低了程式設計師的編程工作量。因此想成功地成為一名合格的Java程式設計師,掌握好異常處理機制是編寫大型程式必不可少的基本功。
7.1 異常的分類147
面試題1 運行時異常與一般異常的
異同149
面試題2 所有異常的基礎類150
7.2 異常的處理方式之一:try/catch150
面試題3 分析代碼的運行結果152
面試題4 對try-catch-finally的
正確理解153
面試題5 分析代碼的運行結果153
7.3 異常的處理方式之二:throws154
面試題6 正確的異常聲明方式156
面試題7 使用throws處理異常156
7.4 異常的處理方式之三:throw157
面試題8 分析程式的運行結果159
面試題9 異常處理160
7.5 記憶體的管理162
面試題10 垃圾回收162
面試題11 對象在什麼地方變得
適用於垃圾收集164
面試題12 對垃圾回收的正確描述165
面試題13 關於finalize()的
正確描述165
面試題14 垃圾收集167
面試題15 Sun公司程式設計師考試中的
常見題型168
第8章 輸入/輸出流170
如果一個應用程式沒有輸入和輸出,那么就不能給使用者提供所需要的信息。輸入和輸出也是整個應用程式為用戶提供的接口,讓用戶能夠清楚此應用程式的目的是什麼、要做什麼等。例如,從鍵盤上輸入一些數據,在顯示器上顯示數據,並將其存入一個檔案中,這些都會涉及信息輸入/輸出的處理。在Java中,信息的輸入和輸出(I/O)是程式設計語言中一個很重要的部分。I/O就是指應用程式對這些設備的數據輸入與輸出,在程式中,鍵盤被用做檔案輸入,顯示器被用做檔案輸出。
8.1 File類170
8.1.1 目錄和檔案管理170
8.1.2 隨機存取檔案Random-
AccessFile類172
面試題1 FileInputStream類構造
方法的參數176
面試題2 建立檔案“file.txt”176
8.2 Stream類176
8.2.1 位元組流的處理方式177
8.2.2 Reader類和Writer類180
8.2.3 FileReader和FileWriter類183
8.2.4 BufferedReader和Buffered-
Writer類184
面試題3 InputStream類中的方法186
面試題4 什麼是System.out186
面試題5 分析代碼的編譯運行結果187
面試題6 將字元寫入檔案末尾187
面試題7 補全程式188
面試題8 創建一個InputStreamReader
的實例189
面試題9 編程題189
第9章 面向對象191
面向對象編程(Object Oriented Programming,OOP)對於IT界的將士來說並不陌生,因為從跨入IT界的大門開始,首先接觸的就是OOP,每個人每天都在說OOP,要有OOP思想,但是什麼是OOP?什麼是OOP思想呢?不論是剛接觸Java的小將,還是工作多年的老將,對這個問題都感到很茫然,感覺很抽象化,腦海里只是一個模糊的概念,因為問題的抽象化,理解的難度大,所以大部分的招聘企業將其作為考核的標準,因此如何理解OOP設計思想、繼承及接口等是面試中常見的考試內容。
9.1 抽象191
9.2 繼承192
面試題1 分析程式的輸出結果194
面試題2 根據給定代碼判斷
輸出結果195
面試題3 對程式的正確分析196
9.3 封裝197
9.3.1 成員變數的封裝197
9.3.2 成員函式的封裝199
面試題4 類的描述200
面試題5 對封裝的理解201
9.4 多態201
9.4.1 方法重載201
9.4.2 方法重寫202
面試題6 分析所執行的代碼203
面試題7 分析代碼的運行結果204
面試題8 實現多態的機制205
9.5 內部類206
面試題9 實例分析206
9.5.1 在類中創建一個內部類的實例207
9.5.2 在對象中創建一個內部類的
實例208
9.5.3 關於final聲明的一個實例209
面試題10 分析代碼的輸出結果211
面試題11 關於內部類的問答題212
面試題12 找出代碼中的錯誤212
9.6 抽象類212
面試題13 關於抽象方法的問題215
面試題14 編程題,仔細看清
代碼的需求215
9.7 接口217
面試題15 抽象類和接口的區別219
面試題16 根據代碼找出錯誤219
9.8 方法的重寫和重載220
9.8.1 方法重寫的實例220
9.8.2 方法重載的實例221
面試題17 重寫和重載的區別223
面試題18 哪些方法可以
加入類Man中223
9.9 構造函式224
9.9.1 合法的構造函式224
面試題19 選擇合法的構造函式225
9.9.2 構造函式重載225
面試題20 寫出程式的運行結果226
面試題21 關於構造函式的選擇題228
面試題22 指出代碼的錯誤之處228
面試題23 針對this()方法的找錯題229
第10章 Java的多執行緒230
到目前為止,在傳統的程式語言裡,大多數的程式設計者習慣上考慮怎樣使程式從頭到尾順序地執行各任務的方法,即一個程式只有一條執行路線,但是在生活中會有很多過程是同時發生的。Java的“多執行緒”恰可彌補這個缺憾,它可以讓不同的程式塊一起運行,可以讓程式運行更為順暢,也可以達到多任務同時處理的目的。
10.1 認識執行緒230
10.1.1 執行緒的5種狀態230
10.1.2 關於單執行緒的一個實例231
面試題1 關於執行緒基礎的簡答題232
面試題2 對執行緒的正確敘述232
10.2 多執行緒的創建方式233
10.2.1 繼承Thread類創建執行緒的
方式233
10.2.2 實現Runnable接口創建執行緒的
方式234
面試題3 簡要回答創建執行緒的兩種
方式及區別237
面試題4 對Threads的正確描述237
10.3 執行緒和進程237
10.4 執行緒的同步238
10.4.1 多執行緒同步代碼塊239
10.4.2 多執行緒同步方法240
面試題5 執行緒同步的方法241
面試題6 分析代碼片段242
面試題7 找出代碼中的錯誤243
面試題8 分析程式的輸出結果243
面試題9 指向不同類實例的多執行緒244
面試題10 編程題
(Thread和Runnable)246
10.5 執行緒的操作247
面試題11 設定執行緒名稱247
面試題12 關於isAlive()的推測題248
面試題13 關於resume()的選擇題249
面試題14 關於sleep()和write()的
簡答題250
面試題15 關於yield()方法的
選擇題250
面試題16 編程題250
第11章 包和訪問控制254
在Java里,可以將具有相似功能和具有共用性質的類和接口放到一個檔案里,這樣既可以劃分類名空間,又可以控制類之間的訪問。再將這些檔案一起編譯執行,如此的程式代碼將更易於維護。同時在將類分割開之後對於類的使用也就有了相應的訪問許可權。本章將介紹如何使用包及訪問控制許可權。
11.1 包的創建及使用254
11.1.1 包的創建254
11.1.2 包的使用255
面試題1 選擇正確的代碼片段257
面試題2 選擇正確的Java語法258
面試題3 了解native聲明258
面試題4 選擇正確的答案259
11.2 Java常用類庫259
11.2.1 Java JDK中的常用軟體包259
11.2.2 容易混淆的軟體包261
面試題5 Object中hasCode()的
返回類型值262
面試題6 Object類中的clone()方法264
面試題7 hasCode()與equals()264
面試題8 Math.abs()方法的使用264
面試題9 Math. ceil(-6.8)的值
等於多少266
面試題10 誰的值會等於12266
11.3 訪問控制267
面試題11 不能被外部類所訪問的
修飾符269
面試題12 只能被同包中的類訪問的
修飾符270
面試題13 正確的聲明270
面試題14 類中的調用方法271
第12章 類集框架272
在計算機科學中,有兩門很重要的課程——數據結構和算法——來告訴你如何完成常見的任務。由於人們對這兩者的學習和理解是相當有難度的,所以Java的設計者為了幫助程式設計師能夠快速越逾壕溝,設計了大量的方法,將常用的數據結構和算法封裝在裡面。這些處理數據結構和算法的類,都統一放在集合庫中,本章就將介紹這些類的使用。
12.1 類集接口272
12.1.1 Collection接口的使用方法272
12.1.2 List接口的使用方法273
12.1.3 Set接口的使用方法274
12.1.4 SortedSet接口的使用方法274
12.1.5 Iterator接口的使用方法275
面試題1 Collection和Collections的
區別275
面試題2 用什麼方法來區分Set里的
元素是否重複276
面試題3 Collection接口的子接口276
面試題4 集合框架中的核心接口276
面試題5 可以按序存放元素的
集合接口277
面試題6 根據程式代碼選擇正確的
選項277
12.2 接口實現類的使用278
12.2.1 List接口的實現類278
12.2.2 Set接口的實現類283
12.2.3 Map映射接口285
面試題7 HashMap和Hashtable的
區別286
面試題8 heap和stack的區別286
面試題9 常用的類集合287
面試題10 關於List、Map、Set的
問答題287
面試題11 關於ArrayList、Vector、
LinkedList的問答題287
面試題12 覆蓋方法287
面試題13 分析代碼的輸出結果288
面試題14 寫出程式的輸出結果289
面試題15 接口java.util.Map.Entry中
定義的原型是什麼289
面試題16 如何實現hashCode()方法290
面試題17 實現Map接口的對象291
第13章 資料庫292
本章介紹如何使用Java類庫中的類來編寫資料庫應用程式,資料庫(Database)在程式中扮演著重要的角色。大部分實用的應用程式都會使用資料庫來存儲信息。資料庫與應用程式相互獨立,資料庫負責持久化數據,應用程式負責業務邏輯。要學習資料庫編程,除了學習Java類庫中的有關類如JDBC,還需要專門學習資料庫的查詢語言——SQL,學習這種專門為資料庫設計的語言,就可以在Java程式中編寫資料庫應用程式。語言學習完畢後,還要學習資料庫軟體,對資料庫進行可視化操作。如Oracle、MySQL等大型資料庫。
13.1 SQL292
13.1.1 SQL的基本數據定義語句292
13.1.2 SQL的基本數據操作語句296
13.1.3 SQL中的統計函式299
面試題1 如何使用LIKE運算符299
面試題2 如何使用ORDER BY子句300
面試題3 對約束的理解300
面試題4 關於SQL的面試題
(中興面試題)300
13.2 JDBC資料庫編程301
13.2.1 創建數據源301
13.2.2 載入驅動程式304
13.2.3 連線數據源305
13.2.4 對資料庫的操作305
面試題5 Connection類中的事物
處理方法有哪些309
面試題6 JDBC連線資料庫的步驟309
面試題7 用JDBC寫一段程式309
13.3 Oracle資料庫311
面試題8 判斷SELECT語句的
查詢結果311
面試題9 處理分組的子句是什麼311
面試題10 可以返回非空表達式的
函式是什麼311
面試題11 如何理解索引312
面試題12 PL/SQL的內置數據類型
是什麼312
面試題13 什麼是視圖312
面試題14 冷備份和熱備份的不同點
及其各自的優點313
面試題15 如何利用備份恢復
資料庫313
13.4 SQL Server資料庫313
面試題16 COUNT(*)函式的作用
是什麼313
面試題17 請選擇正確的答案313
面試題18 分析SQL語句的結果314
面試題19 選擇正確的SQL語句314
面試題20 TRUNCATE TABLE
命令的作用是什麼315
面試題21 如何理解BETWEEN…
AND315
面試題22 選擇正確的SELECT語句315
面試題23 SQL Sever的系統資料庫
是什麼315
面試題24 刪除數據表316
面試題25 如何聲明游標316
第三篇 Java Web開發
第14章 J2EE(Java EE)和EJB 3.0技術開發318
J2EE是Java平台企業版的簡稱(Java Platform,Enterprise Edition),它包含一組技術規範與指南,包含許多組件,主要可以簡化且規範套用系統的開發與部署,進而提高可移植性、安全與再用價值。
J2EE基於Java SE,此外新加了企業套用所需的類庫。Sun公司在其Java平台企業版最初命名為J2EE,從J2EE 1.5版本後更名為Java EE 5.0。Java EE是軟體技術發展的結果。
14.1 J2EE的核心API與組件318
面試題1 什麼是J2EE320
面試題2 關於J2EE的名詞解釋321
14.2 EJB組件321
14.2.1 搭建EJB 3.0開發環境321
14.2.2 Session Bean(會話Bean)325
14.2.3 Message-Driven Bean
(訊息驅動Bean)331
14.2.4 Entity Bean
(開發實體Bean)334
面試題3 什麼是EJB335
面試題4 EJB規定禁止的操作
有哪些336
面試題5 EJB與Java Bean有什麼
區別336
面試題6 EJB的類型有哪幾種337
面試題7 Session Bean的分類337
面試題8 開發無狀態會話Bean337
面試題9 在Entity Bean中如何與表
進行映射338
面試題10 Entity Bean中哪些方法
實現了數據同步339
面試題11 Entity Bean的分類340
面試題12 正確理解Message-
Driven Bean340
面試題13 Bean的生命周期範圍341
14.3 常見的J2EE套用伺服器341
面試題14 如何在WebLogic上部
署EJB341
面試題15 如何給WebLogic的記憶體
指定大小342
面試題16 J2EE的套用伺服器
有哪些342
面試題17 persistent與non-persistent
的區別342
面試題18 在WebLogic中發布EJB
需要哪些配置檔案343
面試題19 JBoss伺服器監聽服務
默認連線埠是什麼343
面試題20 創建一個Enterprise Applica-
tion的同時還會創建
哪個組件343
面試題21 選出錯誤的操作344
面試題22 創建JDBC344
第15章 XML、UML和MVC345
在本章主要講解一下XML和UML的基本概念和簡單的使用方式以及MVC的含義。XML(eXtensible Markup Language)是由全球資訊網協會(W3C)推出的新一代數據交換的標準,翻譯成中文就是“可擴展標識語言”。UML(Unified Modeling Language)是一種建模語言,是進行需求分析和概要設計的主要工具。MVC(Model,View,Controller)是Application開發的設計模式。M是指數據模型;V是指用戶界面;C則是控制器。
15.1 XML345
15.1.1 XML的基礎知識345
15.1.2 XML解析模型347
面試題1 XML有哪幾種解析技術353
面試題2 如何使用XML技術353
面試題3 選擇正確的描述353
面試題4 在DTD中哪個元素屬性
可加不可加354
面試題5 XML的組成包括幾部分355
面試題6 關於對於內部DTD文檔的
敘述,哪個選項是正確的355
面試題7 在DTD文檔中CONTENT的
規範356
面試題8 什麼是對象模型(DOM)356
15.2 UML356
面試題9 選擇正確的UML類圖360
面試題10 活動圖強調什麼361
面試題11 跨越多個用例的單個
對象的行為類型圖361
面試題12 什麼是用例圖362
面試題13 用例之間的關係362
面試題14 表示系統行為的圖
有哪些363
面試題15 用例圖由哪幾部分組成363
面試題16 什麼是模型364
15.3 MVC364
面試題17 理解MVC設計模式365
面試題18 MVC各個部分的實現技術
及實現方法365
第16章 JSP/Servlet技術366
在Java開發中,JSP/Servlet是屬於Web層技術,JSP與Servlet是一體的兩面,你可以使用單獨一項技術來解決動態網頁呈現的需求,但最好的方式是取兩者的長處,JSP是由網頁設計人員導向的,而Servlet是由程式設計人員導向的,目前國內的大部分Java開發均是Java Web開發,理清它們之間的職責可以讓兩個不同專長的團隊彼此合作,並降低相互間的牽製作用。所以,Servlet/JSP也是在Java程式設計師面試中必考的內容。
16.1 JSP的核心技術366
16.1.1 JSP的基本語法366
16.1.2 JSP指令367
16.1.3 JSP動作368
16.1.4 JSP內置對象370
面試題1 在瀏覽器中如何訪問JSP
檔案374
面試題2 分析代碼的輸出結果374
面試題3 JSP頁面跳轉的方式375
面試題4 JSP位於MVC模式的
哪一層375
面試題5 標籤庫的指令375
面試題6 <jsp:useBean>的屬性376
面試題7 Page指令的屬性376
面試題8 JSP的內置對象及其作用376
面試題9 JSP注釋標籤的語法格式377
面試題10 Page指令中屬性的作用377
面試題11 Cookie的工作流程378
面試題12 靜態頁面和動態頁面中
INCLUDE的作用
是否相同378
面試題13 JSP的動作指令379
16.2 Servlet的核心技術379
16.2.1 Servlet接口379
16.2.2 Servlet接口實現類382
16.2.3 HttpServlet對象383
16.2.4 Servlet的生命周期383
16.2.5 Servlet之間的跳轉384
面試題14 Servlet的生命周期385
面試題15 Servlet的class檔案放在
哪個目錄下385
面試題16 ServletContext
對象的產生386
面試題17 Servlet配置中的標記386
面試題18 Servlet位於MVC模式的
哪一層387
面試題19 在Servlet生命周期中,
哪個方法只能調用一次387
面試題20 標識會話的方法387
面試題21 可以讀取ServletContext對象
屬性的方法是什麼388
面試題22 部署時,<Servlet>標籤中
可以包含哪些標籤388
面試題23 Servlet中的狀態碼389
面試題24 在HttpServlet中,處理
請求的方法有哪些390
第四篇 算 法
第17章 常見的Java上機面試題392
上機編程考試,要求面試者能夠根據題目的要求,使用一種編程工具,編寫全部代碼並調試運行。這主要是考查面試者代碼書寫和編程的熟練程度。值得注意的是,這類面試題要求能夠正確運行,往往要求面試者使用比較原始的JDK編譯方式也就是使用DOS命令提示符,而不是提供Eclipse或者JBuilder等快速開發環境。本章將經常出現的上機編程題進行分類,希望能夠給讀者帶來幫助和啟示。
17.1 Java基礎編程試題392
面試題1 怎樣截取字元串392
面試題2 怎樣實現元素互換393
面試題3 怎樣實現元素排序395
面試題4 怎樣實現Singleton模式
編程397
面試題5 哥德巴赫猜想的近似證明398
面試題6 怎樣實現金額轉換400
面試題7 愛因斯坦的階梯問題404
面試題8 如何判斷迴文數字405
17.2 資料庫編程試題406
面試題9 根據表結構寫出相應的SQL
語句406
面試題10 編寫MySQL資料庫的
JDBC連線407
17.3 Java高級編程試題408
面試題11 怎樣用SAX解析XML408
面試題12 利用Servelt的doPost方法
實現表單內容的讀取410
面試題13 編程實現Servlet的記錄
訪問功能411
第18章 思維與智力測試414
這類面試題對面試者提出了更高的要求。思維拓展方面的試題大體可以分為兩類,一類是思維拓展編程,首先需要面試者建立編程模型,然後使用代碼編程並給出答案;另一類是智力測試,考查面試者思考問題的方式方法和反應能力,不需要編程來解決問題。
18.1 思維拓展測試414
面試題1 擲骰子遊戲414
面試題2 求出最大公約數416
面試題3 階乘階梯式的函式417
面試題4 背包問題419
面試題5 求最大的連續組合值
(華為校園招聘筆試題)421
面試題6 洗撲克牌(亂數排列)422
面試題7 巧妙過橋424
面試題8 字元移動(金山筆試題)426
面試題9 八皇后問題427
18.2 智力(IQ)測試430
面試題10 找出質量不相同的球431
面試題11 有多少人及格432
面試題12 他說的是真話嗎432
面試題13 哪個開關控制哪盞燈433
面試題14 誰的存活機率最大433
面試題15 猴子分桃434
面試題16 三個女兒的年齡分別
是多少435
面試題17 哪一種是“王牌”花色435
面試題18 巧猜撲克牌436
面試題19 誰得第二名437
面試題20 計時燒繩437
面試題21 海盜分金問題437
面試題22 聰明的法官438
附錄A 個人簡歷英文辭彙速查440