程序員面試筆試通關寶典

聚慕課教育研發中心

  • 出版商: 清華大學
  • 出版日期: 2021-03-01
  • 定價: $359
  • 售價: 8.5$305
  • 語言: 簡體中文
  • 頁數: 240
  • 裝訂: 平裝
  • ISBN: 7302563802
  • ISBN-13: 9787302563808
  • 相關分類: 面試技巧
  • 立即出貨 (庫存=1)

  • 程序員面試筆試通關寶典-preview-1
  • 程序員面試筆試通關寶典-preview-2
  • 程序員面試筆試通關寶典-preview-3
程序員面試筆試通關寶典-preview-1

買這商品的人也買了...

商品描述

《程序員面試筆試通關寶典》深入解析企業面試與筆試真題,並在解析過程中結合職業需求深入地融入並擴展了核心編程技術。《程序員面試筆試通關寶典》是專門為程序員求職和提升核心編程技能量身打造的編程技能學習與求職用書。 全書共10章。首先講解了求職者在面試過程中的禮儀和技巧;接著帶領讀者學習數據類型、面向對象、字符串和數組、算法等基礎知識,並深入講解了泛型、集合、框架以及異常處理等核心編程技術;同時還深入探討了在Java開發中的線程、Servlet和JavaScript基礎等高級應用技術;最後,對數據庫中的核心技術進行了擴展性介紹。 《程序員面試筆試通關寶典》多角度、全方位竭力幫助讀者快速掌握程序員的面試及筆試技巧,構建從高校到社會的就職橋梁,讓有志於從事軟件行業的讀者輕松步入職場。另外,《程序員面試筆試通關寶典》贈送資源比較多,我們在《程序員面試筆試通關寶典》前言部分對資源包的具體內容、獲取方式以及使用方法等做了詳細說明。 《程序員面試筆試通關寶典》適合想從事軟件行業或即將參加程序員面試求職的讀者閱讀,也可作為電腦相關專業畢業生的求職指導用書。

作者簡介

聚慕課教育研發中心,是有一家軟件開發公司和線下培訓機構共同組建的IT圖書研發中心,具有18年的圖書開發和12年軟件開發經驗。該研發中心有軟件開發團隊,一批一線軟件培訓講師,高校青年教師以及學科專家團隊構成。致力於IT類圖書策劃、組稿、及編寫。我們對計算機圖書市場進行科學、嚴謹的調查分析,緊跟高新科技,深度挖掘讀者需求,整合優質作者資源,協助作者制定創作計劃、確立創作思想與體例,並實時監控創作質量與進度,確保做出讓讀者讀得懂、用的好、學的會的計算機類圖書。

目錄大綱

第1章  面試禮儀和技巧 001
1.1  面試前的準備 001
1.1.1  瞭解面試企業的基本情況以及企業文化 001
1.1.2  瞭解應聘職位的招聘要求以及自身的優勢和劣勢 003
1.1.3  簡歷的投遞 003
1.1.4  禮貌答復面試或筆試通知 004
1.1.5  瞭解公司的面試流程 005
1.1.6  面試前的心理調節 006
1.1.7  儀容儀表 006
1.2  面試中的應對技巧 007
1.2.1  自我介紹 007
1.2.2  面試中的基本禮儀 008
1.2.3  如何巧妙地回答面試官的問題 009
1.2.4  如何回答技術性的問題 010
1.2.5  如何應對自己不會的題 011
1.2.6  如何回答非技術性的問題 011
1.2.7  當與面試官對某個問題持有不同觀點時,應如何應對 012
1.2.8  如何向面試官提問 012
1.2.9  明人“暗語” 013
1.3  面試結束 014
1.3.1  面試結束後是否會立即收到回復 014
1.3.2  面試沒有通過是否可以再次申請 015
1.3.3  怎樣處理錄用與被拒 015
1.3.4  錄用後的薪資談判 016
1.3.5  入職準備 016

第2章  編程面試基礎 017
2.1  Java核心知識 017
2.1.1  數據類型 017
2.1.2  常量和變量 019
2.1.3  運算符和表達式 020
2.1.4  流程控制語句 022
2.2  面向對象 024
2.2.1  面向對象的三大特性 024
2.2.2  類和對象 025
2.2.3  抽象類和抽象方法 026
2.2.4  接口 027
2.3  精選面試、筆試題解析 028
2.3.1  Java基本數據類型之間如何轉換 028
2.3.2  談談你對面向對象的理解 029
2.3.3  Java中的訪問修飾符有哪些 029
2.3.4  重載和重寫 029
2.3.5  什麽是構造方法 030
2.3.6  局部變量與成員變量有什麽區別 031
2.3.7  解釋一下break、continue以及return的區別 032
2.3.8  Java中的基本數據類型有哪些 033
2.3.9  Java中this的用法 034
2.3.10  接口和抽象類 034
2.4  名企真題解析 035
2.4.1  值傳遞和引用傳遞 035
2.4.2  什麽是類的反射機制 036
2.4.3  Java創建對象的方式有哪幾種 037

第3章  字符串和數組 038
3.1  字符串 038
3.1.1  String類 038
3.1.2  字符串的創建 039
3.1.3  字符串的連接 040
3.1.4  字符串的基本操作 041
3.1.5  字符串的類型轉換 042
3.2  一維數組 043
3.2.1  數組的定義 043
3.2.2  數組的聲明 043
3.3  二維數組 044
3.3.1  數組的定義 044
3.3.2  數組的聲明 045
3.4  數組的排序 045
3.5  精選面試、筆試題解析 047
3.5.1  String是基本的數據類型嗎 047
3.5.2  StringBuffer和StringBuilder有什麽區別 047
3.5.3  求順序排列數組中絕對值最小的數 048
3.5.4  統計字符中的字母、空格、數字和其他字符個數 050
3.5.5  比較兩個字符串是否相等 050
3.5.6  用quicksort算法實現對整數數組的排序 051
3.5.7  輸入字符串,打印出該字符串的所有排列 052
3.5.8  求最大值與最小值 053
3.5.9  在字符串中找出第一個只出現一次的字符 054
3.5.10  求中位數 055
3.5.11  反轉句子的順序 056
3.5.12  一個字符串中包含*和數字,將*放到數字的前面 057
3.6  名企真題解析 058
3.6.1  檢查輸入的字符串是否是迴文(不區分大小寫) 058
3.6.2  如何對數組進行旋轉 059

第4章  算法 061
4.1  棧和隊列 061
4.1.1  棧和隊列的使用 061
4.1.2  棧和隊列的實現 062
4.2  鏈表 066
4.3  樹 067
4.3.1  二叉樹 067
4.3.2  二叉樹的遍歷 068
4.4  排序 069
4.4.1  歸並排序 069
4.4.2  桶排序 069
4.4.3  堆排序 070
4.4.4  快速排序 070
4.5  精選面試、筆試題解析 070
4.5.1  如何在單鏈表中插入節點 070
4.5.2  如何判斷兩棵二叉樹是否相等 072
4.5.3  冒泡排序的基本思想是什麽,它是如何實現的 073
4.5.4  常用排序算法總結 073
4.5.5  如何打印兩個鏈表的公共部分 075
4.5.6  在給定數組中,找到需要排序的最短子數組長度 075
4.5.7  如何判斷二叉樹是否為平衡二叉樹 076
4.5.8  如何根據入棧序列判斷可能的出棧順序 077
4.5.9  如何使用兩個棧來實現一個隊列 078
4.5.10  如何實現最小棧 079
4.6  名企真題解析 080
4.6.1  如何使用一個數組來實現m個棧 080
4.6.2  如何找出單向鏈表中的倒數第n個節點 081
4.6.3  如何使用先序遍歷和中序遍歷重建二叉樹 082
4.6.4  如何刪除單向鏈表中的節點 083

第5章  泛型、集合和框架 084
5.1  泛型 084
5.1.1  什麽是泛型 084
5.1.2  泛型接口和方法 085
5.2  集合 088
5.2.1  Collection集合 088
5.2.2  List集合 089
5.2.3  Set集合 090
5.2.4  Map集合 090
5.2.5  集合的遍歷 091
5.3  框架 093
5.3.1  Spring 093
5.3.2  Spring MVC 093
5.3.3  Struts2 093
5.3.4  Hibernate 094
5.4  精選面試、筆試題解析 094
5.4.1  泛型 094
5.4.2  什麽是限定通配符和非限定通配符 095
5.4.3  Spring和Spring MVC有什麽區別 096
5.4.4  什麽是AOP 096
5.4.5  Collection接口 097
5.4.6  HashMap和HashTable有什麽區別 099
5.4.7  垃圾回收機制 100
5.4.8  Set里的元素如何區分是否重復 101
5.4.9  Spring設計模式 101
5.4.10  接口的繼承 103
5.5  名企真題解析 103
5.5.1  創建Bean的三種方式 104
5.5.2  遍歷一個List有哪些不同的方式? 105
5.5.3  如何實現邊遍歷,邊移除Collection中的元素 105
5.5.4  攔截器和過濾器 106

第6章  異常處理 107
6.1  知識總結 107
6.1.1  什麽是異常 107
6.1.2  Java內置異常類 108
6.1.3  異常處理機制 109
6.1.4  throws/throw關鍵字 110
6.1.5  finally關鍵字 112
6.1.6  自定義異常 113
6.2  精選面試、筆試題解析 114
6.2.1  Java里的異常包括哪些 114
6.2.2  異常處理機制的原理和應用 115
6.2.3  throw和throws有什麽區別 116
6.2.4  Java中如何進行異常處理 117
6.2.5  Java中如何自定義異常 119
6.2.6  在聲明方法中是拋出異常還是捕獲異常 119
6.2.7  什麽時候使用throws 120
6.2.8  Java中Error和Exception有什麽區別 121
6.2.9  Java中的finally是否一定會執行 121
6.2.10  運行時異常和檢查異常有什麽區別 124
6.3  名企真題解析 124
6.3.1  請說一下Java中的異常處理機制 124
6.3.2  什麽是異常鏈 125
6.3.3  finally塊中的代碼執行問題 127
6.3.4  final、finally和finalize有什麽區別? 127

第7章  線程 129
7.1  線程基礎知識 129
7.1.1  線程和進程 129
7.1.2  線程的創建 130
7.1.3  線程的生命周期 132
7.1.4  線程同步機制 132
7.1.5  線程的交互 133
7.1.6  線程的調度 133
7.2  精選面試、筆試題解析 134
7.2.1  線程 134
7.2.2  死鎖與活鎖、死鎖與飢餓 135
7.2.3  Java中用到的線程調度算法是什麽 136
7.2.4  多線程同步和互斥 136
7.2.5  怎樣喚醒一個阻塞的線程 137
7.2.6  啟動一個線程是用run()方法還是start()方法 138
7.2.7  notify()方法和notifyAll()方法有什麽區別 139
7.2.8  樂觀鎖和悲觀鎖 139
7.2.9  線程安全 141
7.2.10  線程設計 144
7.3  名企真題解析 145
7.3.1  如何停止一個正在運行的線程 145
7.3.2  導致線程阻塞的原因有哪些 147
7.3.3  寫一個生產者—消費者隊列 148
7.3.4  在Java中wait()和sleep()方法有什麽不同 149

第8章  Servlet 151
8.1  Servlet基礎 151
8.1.1  Servlet簡介 151
8.1.2  Servlet的生命周期 152
8.1.3  get()和post()方法 153
8.1.4  Servlet HTTP狀態碼 154
8.1.5  Servlet過濾器 157
8.1.6  Cookie和Session 159
8.2  精選面試、筆試題解析 160
8.2.1  什麽是Servlet 160
8.2.2  Servlet是如何運行的 161
8.2.3  常見的狀態碼有哪些 162
8.2.4  GET和POST的區別 163
8.2.5  如何獲取請求參數值 165
8.2.6  重定向和轉發 166
8.2.7  過濾器、攔截器和監聽器分別是什麽 167
8.2.8  JSP的內置對象和方法 168
8.2.9  Cookie和Session有什麽區別 170
8.2.10  Servlet執行時一般實現哪幾個方法 171
8.2.11  Servlet是線程安全的嗎 172
8.3  名企真題解析 173
8.3.1  JSP和Servlet有哪些相同點和不同點 173
8.3.2  Servlet的生命周期是什麽 173
8.3.3  如何實現Servlet的單線程模式 174
8.3.4  四種會話跟蹤技術 174

第9章  JavaScript基礎 176
9.1  JavaScript 176
9.1.1  組成結構 176
9.1.2  核心語法 177
9.1.3  函數的定義和調用 179
9.1.4  JavaScript操作BOM對象 179
9.1.5  JavaScript操作DOM對象 180
9.2  jQuery 181
9.2.1  jQuery工作原理 181
9.2.2  事件與動畫 182
9.2.3  使用jQuery操作DOM 183
9.3  Vue.js 184
9.3.1  Vue.js簡介 184
9.3.2  基礎語法 184
9.3.3  Vue.js組件 185
9.4  AngularJS 186
9.4.1  AngularJS表達式 186
9.4.2  AngularJS指令 186
9.4.3  AngularJS Scope 188
9.4.4  事件、模塊和表單 189
9.5  精選面試、筆試題解析 190
9.5.1  如何實現DOM對象和jQuery對象間的轉換 190
9.5.2  AngularJS的雙向數據綁定原理是什麽 191
9.5.3  如何使用jQuery實現隔行變色的效果 191
9.5.4  談談你對Vue.js是一套漸進式框架的理解 192
9.5.5  如何改變瀏覽器地址欄中的網址 192
9.5.6  jQuery操作select下拉框的多種方法 193
9.5.7  如何在Vue.js中實現組件之間的傳值 194
9.5.8  什麽是vue的計算屬性 194
9.5.9  如何在頁面上實現前進、後退 195
9.5.10  JavaScript訪問HTML元素的幾種方式 196
9.5.11  在HTML頁面中如何引用JavaScript 197
9.5.12  請解釋JavaScript中this是如何工作的 197
9.5.13  v-if和v-show有什麽區別 198
9.5.14  請簡述$compile的用法 199
9.6  名企真題解析 199
9.6.1  如何使用JavaScript實現冒泡排序 199
9.6.2  如何取消$timeout()以及停止一個$watch() 200
9.6.3  JavaScript實現倒計時 200
9.6.4  請寫出完整的vue-router導航解析流程 201

第10章  數據庫 203
10.1  數據庫的分類 203
10.1.1  關系數據庫 203
10.1.2  非關系數據庫 204
10.2  SQL 204
10.3  數據庫對象 205
10.3.1  視圖 205
10.3.2  觸發器 205
10.3.3  存儲過程 206
10.4  事務 206
10.4.1  事務特性 207
10.4.2  隔離級別 207
10.5  並發控制和死鎖 208
10.5.1  並發控制 208
10.5.2  死鎖和活鎖 208
10.5.3  封鎖協議和兩段鎖協議 209
10.6  索引 209
10.7  安全機制 210
10.7.1  用戶標識與鑒別 210
10.7.2  存取控制 211
10.7.3  視圖機制 213
10.7.4  審計技術 213
10.7.5  數據加密 214
10.8  精選面試、筆試題解析 214
10.8.1  什麽是數據的物理獨立性和邏輯獨立性 214
10.8.2  關於數據庫的概念區分 214
10.8.3  SQL中提供了哪些自主存取控制語句 215
10.8.4  數據庫系統的安全性控制方法 215
10.8.5  產生死鎖的原因有哪些 216
10.8.6  SQL的約束有哪幾種 217
10.8.7  數據庫中表和視圖有什麽關系 218
10.8.8  數據庫中的索引在什麽樣的情況下會失效 218
10.8.9  自主存取控制和強制存取控制 219
10.8.10  存儲過程 219
10.8.11  數據庫的觸發器是什麽 220
10.8.12  索引有什麽作用,優缺點有哪些 220
10.8.13  數據庫的完整性規則指什麽 221
10.8.14  什麽是關系數據庫,它有哪些特點 222
10.9  名企真題解析 223
10.9.1  什麽是視圖,是否可以更改 223
10.9.2  存儲過程和函數有什麽區別 223
10.9.3  權限的授予和回收應如何實現 223
10.9.4  數據庫中的SQL語句怎樣優化 225