Java程式設計師面試筆試寶典第2版

《Java程式設計師面試筆試寶典 第2版》是2021年機械工業出版社出版的圖書。

基本介紹

  • 中文名:Java程式設計師面試筆試寶典 第2版
  • 出版時間:2021年11月1日
  • 出版社:機械工業出版社
  • ISBN:9787111690382
內容簡介,圖書目錄,

內容簡介

本書是一本講解Java程式設計師面試筆試的實用工具書。在寫法上,除了講解如何解答Java程式設計師面試筆試問題以外,還引入了相關知識點輔以說明,讓讀者能夠更加容易地理解和掌握。
本書囊括Java程式設計師面試筆試過程中的各類知識點。在內容廣度上,蒐集了近3年來幾乎所有IT企業針對Java崗位的筆試面試涉及的知識點,包括但不限於Java核心知識點(容器、多執行緒和IO等)、Java Web(Struts、MyBatis、Kafka、Spring等)、資料庫,所選擇知識點均為企業招聘時所考查的知識點。在講解的深度上,本書由淺入深,詳細分析每一個知識點,並提煉歸納,同時,引入相關知識點,並對其進行深度剖析,讓讀者不僅能夠理解每個知識點,還能在遇到相似問題的時候,也能遊刃有餘地解決,而這些內容很多是其他同類書籍所沒有的。書中根據知識點進行分門別類,結構合理,條理清晰,便於讀者進行學習與檢索。
本書是一本計算機相關專業畢業生面試、筆試的求職用書,同時也適合期望在計算機軟、硬體行業大顯身手的計算機愛好者閱讀。

圖書目錄

前言
第1部分
Java核心知識
第1章 Java基礎知識/2
1.1 Java程式初始化的順序/2
1.2 構造方法/3
1.3 Java中clone方法的作用/4
1.4 反射/8
1.5 Lambda表達式/11
1.6 多態的實現機制/13
1.7 Overload和Override的區別/14
1.8 abstract class(抽象類)與
interface(接口)的異同/15
1.9 break、continue以及return的
區別/17
1.10 switch使用時的注意事項/17
1.11 volatile的作用/20
1.12 Java基本的數據類型/23
1.13 不可變類/24
1.14 值傳遞與引用傳遞的區別/26
1.15 ++i與i++的區別/29
1.16 字元串創建與存儲的機制/30
1.17 “==”、equals和hashCode的
區別/36
1.18 String、StringBuffer、StringBuilder
和StringTokenizer的區別/37
1.19 finally塊中的代碼什麼時候被
執行/39
1.20 異常處理/42
1.21 常見面試筆試真題/42
第2章 流/52
2.1 輸入輸出流/52
2.1.1 Java IO流的實現機制/52
2.1.2 管理檔案和目錄的類/54
2.1.3 Java Socket/55
2.1.4 Java序列化/55
2.2 同步與異步、阻塞與非阻塞/58
2.3 BIO/59
2.4 NIO/60
2.4.1 Buffer/61
2.4.2 Channel/63
2.4.3 Selector/65
2.4.4 AIO/69
2.5 常見面試筆試真題/72
第3章 容器/74
3.1 Collections框架/74
3.2 ArrayList、Vector和LinkedList的
區別/75
3.3 Map/76
3.3.1 HashMap/76
3.3.2 Java8之前的HashMap/78
3.3.3 Java8提供的HashMap/79
3.3.4 TreeMap/80
3.3.5 LinkedhashMap/81
3.3.6 Java8之前的LinkedHashMap/81
3.3.7 Java8中的LinkedHashMap/82
3.3.8 Hashtable/86
3.3.9 WeakHashMap/87
3.3.10 HashMap、HashTable、TreeMap
和WeakHashMap的區別/90
3.3.11 用自定義類型作為HashMap或Hashtable
的key需要注意的問題/90
3.3.12 ConcurrentHashMap/94
3.4 Set/98
3.4.1 HashSet/99
3.4.2 LinkedHashSet/99
3.4.3 TreeSet/100
3.5 BlockingQueue/100
3.5.1 ArrayBlockingQueue/101
3.5.2 LinkedBlockingQueue/103
3.5.3 PriorityBlockingQueue/104
3.5.4 ConcurrentLinkedQueue/106
3.5.5 DelayQueue/108
3.6 Collection 和 Collections的
區別/110
3.7 疊代器/111
3.8 並行數組/112
3.9 常見面試筆試真題/113
第4章 多執行緒/121
4.1 執行緒與進程/121
4.2 同步和異步有什麼區別/122
4.3 如何實現Java多執行緒/122
4.4 run與start的區別/125
4.5 多執行緒同步/126
4.6 Lock的分類/129
4.7 synchronized與Lock的異同/135
4.8 sleep與wait的區別/139
4.9 終止執行緒的方法/140
4.10 死鎖/141
4.11 守護執行緒/141
4.12 join方法的作用/142
4.13 如何捕獲一個執行緒拋出的
異常/143
4.14 執行緒池/145
4.14.1 Executor接口/145
4.14.2 ExecutorService/146
4.14.3 ThreadPoolExecutor/147
4.14.4 執行緒池的使用方法/149
4.15 ThreadLocal/152
4.15.1 套用實例/152
4.15.2 原理解析/153
4.15.3 改進/155
4.16 Latch/155
4.17 Barrier/156
4.18 Java中的Fork/Join框架/157
4.19 CAS/162
4.20 執行緒調度與優先權/165
4.21 常見面試筆試真題/166
第5章 記憶體分配/169
5.1 JVM記憶體劃分/169
5.2 運行時記憶體劃分/171
5.2.1 年輕代、老年代與永久代/171
5.2.2 元空間MetaSpace/172
5.3 垃圾回收/173
5.3.1 垃圾回收算法/173
5.3.2 串列垃圾回收/175
5.3.3 並行垃圾回收/176
5.3.4 並發標記清理回收/176
5.3.5 G1/178
5.3.6 Shenandoah/180
5.4 Java平台與記憶體管理/180
5.4.1 為什麼說Java是平台獨立性
語言/180
5.4.2 Java平台與其他語言平台的區別/181
5.4.3 JVM載入class檔案的原理機制/181
5.4.4 Java是否存在記憶體泄漏問題/182
5.4.5 Java中的堆和棧的區別/184
5.4.6 JVM常用的參數/185
5.5 常見面試筆試真題/187
第6章 設計模式/188
6.1 設計模式中的原則/188
6.1.1 單一職責原則/188
6.1.2 開放封閉原則/189
6.1.3 里氏替換原則/191
6.1.4 依賴倒置原則/192
6.1.5 接口隔離原則/193
6.1.6 合成復用原則/194
6.1.7 迪米特法則/195
6.2 單例模式/195
6.3 工廠模式/196
6.4 適配器模式/197
6.5 觀察者模式/198
6.6 常見面試筆試真題/199
第2部分
Java Web核心知識
第7章 Struts/203
7.1 Struts框架/203
7.2 Struts框架回響客戶請求的工作
流程/205
7.3 Struts框架的數據驗證/205
7.4 Form Bean的表單驗證流程/205
7.5元素包含的屬性/206
7.6 ActionForm Bean的作用/206
7.7 Struts2的請求處理流程/206
7.8 Struts2中的攔截器/207
7.9 Struts2國際化/207
7.10 常見面試筆試真題/208
第8章 MyBatis/209
8.1 MyBatis快取的基本概念/209
8.2 MyBatis分頁/210
8.3 MyBatis的查詢類型/210
8.4 MyBatis的延時載入/211
8.5 常見面試筆試真題/212
第9章 Redis/215
9.1 Redis的基本概念/215
9.2 Memcache與Redis的區別/216
9.3 Redis把所有數據放到記憶體中的
原因/217
9.4 Redis實現分散式鎖的方式/218
9.5 Redis高性能的原因/218
9.6 Redis持久化/219
9.7 Redis集群/219
9.8 Redis的Key過期的刪除策略/220
9.9 快取穿透/220
9.10 Redis哨兵(Sentinel)/221
9.11 Redis的Pipeline(管道)/221
9.12 Redis的String類型的實現
原理/222
9.13 常見面試筆試真題/223
第10章 Kafka/227
10.1 Kafka的訊息傳遞模式/227
10.2 Kafka 中的組件/228
10.3 Kafka的訊息生產者/230
10.3.1 Kafka生產者的運行的流程/231
10.3.2 Kafka生產者分區/232
10.3.3 Kafka訊息傳送(ACK)機制/232
10.3.4 副本的同步複製和異步複製/232 10.4 Kafka的訊息消費者/233
10.4.1 設計原理/233
10.4.2 監聽原理/234
10.4.3 API/234
10.5 Kafka的Topic和Partition/235
10.5.1 主題Topic/235
10.5.2 分片Partition/235
10.5.3 日誌/236
10.5.4 訊息副本Replications/237
10.6 流處理/239
10.7 Kafka吞吐量及訊息傳送/240
10.8 Kafka檔案高效存儲設計原理/240
10.9 其他訊息佇列介紹/241
10.10 常見面試筆試真題/242
第11章 Spring/248
11.1 Spring基礎/248
11.1.1 Spring的基本概念/248
11.1.2 Spring 中的模組/249
11.1.3 Spring框架的設計模式/250
11.1.4 IOC/253
11.1.5 Spring IOC容器/255
11.1.6 AOP的實現方法/256
11.1.7 Spring AOP 的註解/259
11.1.8 Spring Bean的基本概念/260
11.1.9 Spring的註解/262
11.1.10 Spring Bean的配置方式/262
11.1.11 Spring Bean的注入方式/263
11.1.12 Spring 支持的資料庫類型/264
11.2 Spring Boot/265
11.2.1 Spring Boot的優勢/265
11.2.2 Spring Boot 中的 Starter/265
11.2.3 Spring、Spring Boot 和 Spring Cloud
的關係/265
11.2.4 Spring Boot 的配置檔案格式/266
11.2.5 Spring Boot 配置載入順序/266
11.2.6 Spring Boot 如何定義多套不同環境
配置/267
11.2.7 Spring Boot的自動配置的實現
方式/267
11.2.8 Spring Boot Thin jar和Fat jar的
區別/268
11.3 Spring MVC/268
11.3.1 Spring MVC 框架/268
11.3.2 Spring MVC 的重要組件/269
11.3.3 DispatcherServlet 的工作流程/269
11.3.4 WebApplicationContext 的作用/269
11.3.5 Spring MVC常用的註解/270
11.4 Spring Data/270
11.5 Spring Cloud/271
11.5.1 微服務/271
11.5.2 Ribbon和 OpenFeign、RestTemplate
的關係與區別/272
11.5.3 Eureka/272
11.5.4 服務雪崩、服務熔斷和服務
降級/273
11.5.5 Spring Cloud config 配置加密的
方式/274
11.6 Dubbo框架/274
11.6.1 Dubbo的發展歷程和套用場景/274
11.6.2 Dubbo原理/275
11.6.3 Dubbo的整體架構設計分層/278
11.6.4 Dubbo支持的協定/278
11.6.5 Dubbo的註冊中心/278
11.6.6 Dubbo容錯方案/279
11.6.7 Dubbo負載均衡/280
11.6.8 Dubbo核心的配置/280
11.6.9 Sping項目與Dubbo的整合/280
11.6.10 Dubbo的服務降級/281
11.7 常見面試筆試真題/281
第3部分
其他知識點
第12章 資料庫/290
12.1 SQL/290
12.2 內連線與外連線/292
12.3 事務/292
12.4 存儲過程/294
12.5 範式/294
12.6 觸發器/295
12.7 游標/296
12.8 資料庫日誌/297
12.9 UNION和UNION ALL/297
12.10 視圖/298
12.11 三級封鎖協定/298
12.12 索引/299
12.13 常見面試筆試真題/300

相關詞條

熱門詞條

聯絡我們