2021春招馬上要結(jié)束了椿胯,抓住這最后的尾巴來總結(jié)一下2010年到2021年最常見的面試題,以及我這些年面試大廠的一些經(jīng)驗
面試題模塊匯總
MyBatis 面試題
1绒北、什么是 Mybatis戳稽?
2、Mybaits 的優(yōu)點
3痹仙、MyBatis 框架的缺點
4是尔、MyBatis 框架適用場合
5、MyBatis 與 Hibernate 有哪些不同开仰?
6拟枚、#{}和${}的區(qū)別是什么?
7众弓、當(dāng)實體類中的屬性名和表中的字段名不一樣 恩溅,怎么辦 ?
8谓娃、 模糊查詢 like 語句該怎么寫? 36
9暴匠、通常一個 Xml 映射文件,都會寫一個 Dao 接口與之對應(yīng)傻粘,請問每窖, 這個 Dao 接口的工作原理是什么?Dao 接口里的方法弦悉,參數(shù)不同時窒典, 方法能重載嗎? 37
10稽莉、Mybatis 是如何進(jìn)行分頁的瀑志?分頁插件的原理是什么?
11、Mybatis 是如何將 sql 執(zhí)行結(jié)果封裝為目標(biāo)對象并返回的劈猪?都有哪些映射形式昧甘?
12、如何執(zhí)行批量插入?
13战得、如何獲取自動生成的(主)鍵值?
14充边、在 mapper 中如何傳遞多個參數(shù)?
15、Mybatis 動態(tài) sql 有什么用常侦?執(zhí)行原理浇冰?有哪些動態(tài) sql?
16聋亡、Xml 映射文件中肘习,除了常見的 select|insert|updae|delete 標(biāo)簽之外,還有哪些標(biāo)簽坡倔?
18漂佩、為什么說 Mybatis 是半自動 ORM 映射工具?它與全自動的區(qū)別在哪里罪塔? 43
19投蝉、 一對一蜘矢、一對多的關(guān)聯(lián)查詢 这弧?
20辆脸、MyBatis 實現(xiàn)一對一有幾種方式?具體怎么操作的崎溃?
21框仔、MyBatis 實現(xiàn)一對多有幾種方式,怎么操作的乞封?
22酥诽、Mybatis 是否支持延遲加載匙隔?如果支持爽锥,它的實現(xiàn)原理是什么涌韩?
23、Mybatis 的一級氯夷、二級緩存 46
24臣樱、什么是 MyBatis 的接口綁定?有哪些實現(xiàn)方式腮考?
25雇毫、使用 MyBatis 的 mapper 接口調(diào)用時有哪些要求?
26踩蔚、Mapper 編寫有哪幾種方式棚放?
27、簡述 Mybatis 的插件運(yùn)行原理馅闽,以及如何編寫一個插件
ZooKeeper 面 試題
1. ZooKeeper 面試題飘蚯? 50
2. ZooKeeper 提供了什么馍迄? 51
3. Zookeeper 文件系統(tǒng) 51
4. ZAB 協(xié)議? 52
5. 四種類型的數(shù)據(jù)節(jié)點 Znode 52
6. Zookeeper Watcher 機(jī)制 -- 數(shù)據(jù)變更通知 53
7. 客戶端注冊 Watcher 實現(xiàn) 54
8. 服務(wù)端處理 Watcher 實現(xiàn) 55
9. 客戶端回調(diào) Watcher 55
10. ACL 權(quán)限控制機(jī)制 56
11. Chroot 特性 57
12. 會話管理 57
13. 服務(wù)器角色 58
14. Zookeeper 下 Server 工作狀態(tài) 58
15. 數(shù)據(jù)同步 59
16. zookeeper 是如何保證事務(wù)的順序一致性的局骤? 61
17. 分布式集群中為什么會有 Master攀圈? 61
18. zk 節(jié)點宕機(jī)如何處理? 61
19. zookeeper 負(fù)載均衡和 nginx 負(fù)載均衡區(qū)別 62
20. Zookeeper 有哪幾種幾種部署模式峦甩? 62
21. 集群最少要幾臺機(jī)器赘来,集群規(guī)則是怎樣的? 62
22. 集群支持動態(tài)添加機(jī)器嗎? 62
23. Zookeeper 對節(jié)點的 watch 監(jiān)聽通知是永久的嗎穴店?為什么不是永久的? 63
24. Zookeeper 的 java 客戶端都有哪些撕捍? 63
25. chubby 是什么拿穴,和 zookeeper 比你怎么看泣洞? 64
26. 說幾個 zookeeper 常用的命令。 64
27. ZAB 和 Paxos 算法的聯(lián)系與區(qū)別默色? 64
28. Zookeeper 的典型應(yīng)用場景 64
Dubbo 面 試題
1球凰、為什么要用 Dubbo? 68
2腿宰、Dubbo 的整體架構(gòu)設(shè)計有哪些分層? 69
3呕诉、默認(rèn)使用的是什么通信框架,還有別的選擇嗎? 70
4吃度、服務(wù)調(diào)用是阻塞的嗎甩挫? 70
5、一般使用什么注冊中心椿每?還有別的選擇嗎伊者? 70
6、默認(rèn)使用什么序列化框架间护,你知道的還有哪些亦渗? 71
7、服務(wù)提供者能實現(xiàn)失效踢出是什么原理汁尺? 71
8法精、服務(wù)上線怎么不影響舊版本? 71
9痴突、如何解決服務(wù)調(diào)用鏈過長的問題搂蜓? 71
10、說說核心的配置有哪些辽装? 71
11帮碰、Dubbo 推薦用什么協(xié)議? 72
12如迟、同一個服務(wù)多個注冊的情況下可以直連某一個服務(wù)嗎收毫? 72
13攻走、畫一畫服務(wù)注冊與發(fā)現(xiàn)的流程圖? 73
14此再、Dubbo 集群容錯有幾種方案昔搂? 73
15、Dubbo 服務(wù)降級输拇,失敗重試怎么做摘符? 74
16、Dubbo 使用過程中都遇到了些什么問題策吠? 74
17逛裤、Dubbo Monitor 實現(xiàn)原理? 74
18猴抹、Dubbo 用到哪些設(shè)計模式带族? 75
19、Dubbo 配置文件是如何加載到 Spring 中的蟀给? 76
20蝙砌、Dubbo SPI 和 Java SPI 區(qū)別? 77
21跋理、Dubbo 支持分布式事務(wù)嗎择克? 77
22、Dubbo 可以對結(jié)果進(jìn)行緩存嗎前普? 77
23肚邢、服務(wù)上線怎么兼容舊版本? 78
24拭卿、Dubbo 必須依賴的包有哪些骡湖? 78
25、Dubbo telnet 命令能做什么记劈? 78
26勺鸦、Dubbo 支持服務(wù)降級嗎? 79
27目木、Dubbo 如何優(yōu)雅停機(jī)换途? 79
28、Dubbo 和 Dubbox 之間的區(qū)別刽射? 79
29军拟、Dubbo 和 Spring Cloud 的區(qū)別? 80
30誓禁、你還了解別的分布式框架嗎懈息? 81
Elasticsearch 面 試題
1、elasticsearch 了解多少摹恰,說說你們公司 es 的集群架構(gòu)辫继,索引數(shù)據(jù)大小怒见,分片有多少,以及一些調(diào)優(yōu)手段 姑宽。 81
2遣耍、elasticsearch 的倒排索引是什么 83
3、elasticsearch 索引數(shù)據(jù)多了怎么辦炮车,如何調(diào)優(yōu)舵变,部署 84
4、elasticsearch 是如何實現(xiàn) master 選舉的 85
5瘦穆、詳細(xì)描述一下 Elasticsearch 索引文檔的過程 86
6纪隙、詳細(xì)描述一下 Elasticsearch 搜索的過程? 87
7扛或、Elasticsearch 在部署時绵咱,對 Linux 的設(shè)置有哪些優(yōu)化方法 88
8、lucence 內(nèi)部結(jié)構(gòu)是什么告喊? 88
9麸拄、Elasticsearch 是如何實現(xiàn) Master 選舉的派昧? 89
10黔姜、Elasticsearch 中的節(jié)點(比如共 20 個)搏恤,其中的 10 個選了一個master腔长,另外 10 個選了另一個 master,怎么辦角塑? 90
11五慈、客戶端在和集群連接時纳寂,如何選擇特定的節(jié)點執(zhí)行請求的? 90
12泻拦、詳細(xì)描述一下 Elasticsearch 索引文檔的過程毙芜。 90
13、詳細(xì)描述一下 Elasticsearch 更新和刪除文檔的過程争拐。 92
14腋粥、詳細(xì)描述一下 Elasticsearch 搜索的過程。 92
15架曹、在 Elasticsearch 中隘冲,是怎么根據(jù)一個詞找到對應(yīng)的倒排索引的万牺?
......................................................................................................................94
16通殃、Elasticsearch 在部署時霹购,對 Linux 的設(shè)置有哪些優(yōu)化方法? 94
17俩由、對于 GC 方面,在使用 Elasticsearch 時要注意什么? 96
18存炮、Elasticsearch 對于大數(shù)據(jù)量(上億量級)的聚合如何實現(xiàn)蜈漓? 97
19穆桂、在并發(fā)情況下,Elasticsearch 如果保證讀寫一致融虽? 97
20享完、如何監(jiān)控 Elasticsearch 集群狀態(tài)? 97
21衣形、介紹下你們電商搜索的整體技術(shù)架構(gòu)驼侠。 98
22、介紹一下你們的個性化搜索方案谆吴? 98
23、是否了解字典樹苛预? 98
24句狼、拼寫糾錯是如何實現(xiàn)的? 100
Memcached 面 試題
1热某、Memcached 是什么腻菇,有什么作用? 102
2昔馋、Memcached 服務(wù)分布式集群如何實現(xiàn)筹吐? 104
3、Memcached 服務(wù)特點及工作原理是什么秘遏? 105
4丘薛、簡述 Memcached 內(nèi)存管理機(jī)制原理? 105
5邦危、memcached 是怎么工作的洋侨? 107
6舍扰、memcached 最大的優(yōu)勢是什么? 107
7希坚、memcached 和 MySQL 的 query 107
8边苹、memcached和服務(wù)器的 local cache(比如 PHP的 APC、mmap
文件等)相比裁僧,有什么優(yōu)缺點个束? 108
9、memcached 的 cache 機(jī)制是怎樣的聊疲? 109
10播急、memcached 如何實現(xiàn)冗余機(jī)制? 109
11售睹、memcached 如何處理容錯的桩警? 110
12、如何將 memcached 中 item 批量導(dǎo)入導(dǎo)出昌妹? 110
13捶枢、如果緩存數(shù)據(jù)在導(dǎo)出導(dǎo)入之間過期了,您又怎么處理這些數(shù)據(jù)呢飞崖?
....................................................................................................................111
14烂叔、memcached 是如何做身份驗證的? 111
15固歪、memcached 的多線程是什么蒜鸡?如何使用它們? 112
16牢裳、memcached 能接受的 key 的最大長度是多少逢防? 112
17、memcached 最大能存儲多大的單個 item蒲讯? 113
18忘朝、memcached 能夠更有效地使用內(nèi)存嗎? 113
19判帮、什么是二進(jìn)制協(xié)議局嘁,我該關(guān)注嗎? 113
20 晦墙、memcached 的內(nèi)存分配器是如何工作的悦昵? 為什么不適用malloc/free!晌畅?為何要使用 slabs但指? 114
21、memcached 是原子的嗎? 114
22枚赡、如何實現(xiàn)集群中的 session 共享存儲氓癌? 115
23、memcached 與 redis 的區(qū)別贫橙? 116
Redis 面 試題
1贪婉、什么是 Redis? 118
2、Redis 的數(shù)據(jù)類型卢肃? 119
3疲迂、使用 Redis 有哪些好處? 119
4莫湘、Redis 相比 Memcached 有哪些優(yōu)勢尤蒿? 120
5、Memcache 與 Redis 的區(qū)別都有哪些幅垮? 120
6腰池、Redis 是單進(jìn)程單線程的? 120
7忙芒、一個字符串類型的值能存儲最大容量是多少示弓? 120
8、Redis 的持久化機(jī)制是什么呵萨?各自的優(yōu)缺點奏属? 121
9、Redis 常見性能問題和解決方案: 122
10潮峦、redis 過期鍵的刪除策略囱皿? 122
11、Redis 的回收策略(淘汰策略)? 123
12忱嘹、為什么 edis 需要把所有數(shù)據(jù)放到內(nèi)存中嘱腥? 124
13、Redis 的同步機(jī)制了解么德谅? 124
14爹橱、Pipeline 有什么好處,為什么要用 pipeline窄做? 124
15、是否使用過 Redis 集群慰技,集群的原理是什么椭盏? 125
16、Redis 集群方案什么情況下會導(dǎo)致整個集群不可用吻商? 125
17掏颊、Redis 支持的 Java 客戶端都有哪些?官方推薦用哪個? 125
18、Jedis 與 Redisson 對比有什么優(yōu)缺點? 125
19迅涮、Redis 如何設(shè)置密碼及驗證密碼疾宏? 126
20、說說 Redis 哈希槽的概念洲拇? 126
21、Redis 集群的主從復(fù)制模型是怎樣的? 126
22求橄、Redis 集群會有寫操作丟失嗎?為什么葡公? 126
23罐农、Redis 集群之間是如何復(fù)制的? 126
24催什、Redis 集群最大節(jié)點個數(shù)是多少涵亏? 127
25、Redis 集群如何選擇數(shù)據(jù)庫蒲凶? 127
26气筋、怎么測試 Redis 的連通性? 127
27豹爹、怎么理解 Redis 事務(wù)裆悄? 127
28、Redis 事務(wù)相關(guān)的命令有哪幾個臂聋? 127
29光稼、Redis key 的過期時間和永久有效分別怎么設(shè)置? 128
30孩等、Redis 如何做內(nèi)存優(yōu)化艾君? 128
31、Redis 回收進(jìn)程如何工作的肄方? 128
32冰垄、都有哪些辦法可以降低 Redis 的內(nèi)存使用情況呢? 128
33权她、Redis 的內(nèi)存用完了會發(fā)生什么虹茶? 128
34、一個 Redis 實例最多能存放多少的 keys隅要?List蝴罪、Set、Sorted Set 他們最多能存放多少元素步清? 129
35要门、MySQL 里有 2000w 數(shù)據(jù)虏肾,redis 中只存 20w 的數(shù)據(jù),如何保證redis 中的數(shù)據(jù)都是熱點數(shù)據(jù)欢搜? 129
36封豪、Redis 最適合的場景? 130
37炒瘟、假如 Redis 里面有 1 億個 key吹埠,其中有 10w 個 key 是以某個固定的已知的前綴開頭的,如果將它們?nèi)空页鰜恚? 131
38唧领、如果有大量的 key 需要設(shè)置同一時間過期藻雌,一般需要注意什么?132
39斩个、使用過 Redis 做異步隊列么胯杭,你是怎么用的? 132
40受啥、使用過 Redis 分布式鎖么做个,它是什么回事? 133
MySQL 面 試題
1滚局、MySQL 中有哪幾種鎖居暖? 134
2、MySQL 中有哪些不同的表格藤肢? 134
3太闺、簡述在 MySQL 數(shù)據(jù)庫中 MyISAM 和 InnoDB 的區(qū)別 134
4、MySQL 中 InnoDB 支持的四種事務(wù)隔離級別名稱嘁圈,以及逐級之間的區(qū)別省骂? 136
5、CHAR 和 VARCHAR 的區(qū)別最住? 136
6钞澳、主鍵和候選鍵有什么區(qū)別? 136
7涨缚、myisamchk 是用來做什么的轧粟? 137
8、如果一個表有一列定義為 TIMESTAMP脓魏,將發(fā)生什么兰吟? 137
9、你怎么看到為表格定義的所有索引茂翔? 137
10揽祥、LIKE 聲明中的%和_是什么意思? 138
11檩电、列對比運(yùn)算符是什么? 138
12、BLOB 和 TEXT 有什么區(qū)別俐末? 138
13料按、MySQL_fetch_array 和 MySQL_fetch_object 的區(qū)別是什么?138 14卓箫、MyISAM 表格將在哪里存儲载矿,并且還提供其存儲格式? 139
15烹卒、MySQL 如何優(yōu)化 DISTINCT闷盔? 139
16、如何顯示前 50 行旅急? 139
17逢勾、可以使用多少列創(chuàng)建索引? 140
18藐吮、NOW()和 CURRENT_DATE()有什么區(qū)別溺拱? 140
19、什么是非標(biāo)準(zhǔn)字符串類型谣辞? 140
20迫摔、什么是通用 SQL 函數(shù)? 140
21泥从、MySQL 支持事務(wù)嗎句占? 141
22、MySQL 里記錄貨幣用什么字段類型好 142
23躯嫉、MySQL 有關(guān)權(quán)限的表都有哪幾個纱烘? 142
24、列的字符串類型可以是什么和敬? 142
25凹炸、MySQL 數(shù)據(jù)庫作發(fā)布系統(tǒng)的存儲,一天五萬條以上的增量昼弟,預(yù)計運(yùn)維三年,怎么優(yōu)化啤它? 143
26、鎖的優(yōu)化策略 143
27舱痘、索引的底層實現(xiàn)原理和優(yōu)化 144
28变骡、什么情況下設(shè)置了索引但無法使用 144
29、實踐中如何優(yōu)化 MySQL 144
30芭逝、優(yōu)化數(shù)據(jù)庫的方法 145
31塌碌、簡單描述 MySQL 中,索引旬盯,主鍵台妆,唯一索引翎猛,聯(lián)合索引的區(qū)別, 對數(shù)據(jù)庫的性能有什么影響(從讀寫兩方面) 146
32接剩、數(shù)據(jù)庫中的事務(wù)是什么? 146
33切厘、SQL 注入漏洞產(chǎn)生的原因?如何防止懊缺? 147
34疫稿、為表中得字段選擇合適得數(shù)據(jù)類型 148
35、存儲時期 148
36鹃两、對于關(guān)系型數(shù)據(jù)庫而言遗座,索引是相當(dāng)重要的概念,請回答有關(guān)索引的幾個問題: 149
37俊扳、解釋 MySQL 外連接途蒋、內(nèi)連接與自連接的區(qū)別 150
38哆窿、Myql 中的事務(wù)回滾機(jī)制概述 150
39缤至、SQL 語言包括哪幾部分?每部分都有哪些操作關(guān)鍵字阅畴? 151
40抗果、完整性約束包括哪些筋帖? 151
41、什么是鎖冤馏? 152
42日麸、什么叫視圖?游標(biāo)是什么逮光? 152
43代箭、什么是存儲過程?用什么來調(diào)用涕刚? 153
44嗡综、如何通俗地理解三個范式? 153
45杜漠、什么是基本表极景?什么是視圖? 154
46驾茴、試述視圖的優(yōu)點盼樟? 154
47、 NULL 是什么意思 154
48锈至、主鍵晨缴、外鍵和索引的區(qū)別? 154
49峡捡、你可以用什么來確保表格里的字段只接受特定范圍里的值? 155
50击碗、說說對 SQL 語句優(yōu)化有哪些方法筑悴?(選擇幾條) 156
Java 并發(fā)編程(一)
1、在 java 中守護(hù)線程和本地線程區(qū)別延都? 156
2雷猪、線程與進(jìn)程的區(qū)別? 157
3晰房、什么是多線程中的上下文切換? 157
4射沟、死鎖與活鎖的區(qū)別殊者,死鎖與饑餓的區(qū)別? 158
5验夯、Java 中用到的線程調(diào)度算法是什么猖吴? 158
6、什么是線程組挥转,為什么在 Java 中不推薦使用海蔽? 159
7、為什么使用 Executor 框架绑谣? 159
8党窜、在 Java 中 Executor 和 Executors 的區(qū)別? 159
9借宵、如何在 Windows和 Linux上查找哪個線程使用的 CPU 時間最長幌衣?
....................................................................................................................160
10、什么是原子操作壤玫?在 Java Concurrency API 中有哪些原子類(atomic classes)豁护? 160
11、Java Concurrency API 中的 Lock 接口(Lock interface)是什么欲间? 對比同步它有什么優(yōu)勢楚里? 161
12、什么是 Executors 框架猎贴? 162
13班缎、什么是阻塞隊列?阻塞隊列的實現(xiàn)原理是什么嘱能?如何使用阻塞隊列來實現(xiàn)生產(chǎn)者-消費者模型吝梅? 162
14惹骂、什么是 Callable 和 Future? 163
15、什么是 FutureTask?使用 ExecutorService 啟動任務(wù)装蓬。 164
16乳蛾、什么是并發(fā)容器的實現(xiàn)肃叶? 164
17蹂随、多線程同步和互斥有幾種實現(xiàn)方法,都是什么因惭? 164
18岳锁、什么是競爭條件?你怎樣發(fā)現(xiàn)和解決競爭蹦魔? 165
19激率、你將如何使用 thread dump?你將如何分析 Thread dump勿决?165 20乒躺、為什么我們調(diào)用 start()方法時會執(zhí)行 run()方法,為什么我們不能直接調(diào)用 run()方法剥险? 173
21聪蘸、Java 中你怎樣喚醒一個阻塞的線程? 173
22表制、在 Java 中 CycliBarriar 和 CountdownLatch 有什么區(qū)別健爬? 173
23、什么是不可變對象么介,它對寫并發(fā)應(yīng)用有什么幫助娜遵? 174
24、什么是多線程中的上下文切換壤短? 175
25设拟、Java 中用到的線程調(diào)度算法是什么? 175
26久脯、什么是線程組纳胧,為什么在 Java 中不推薦使用? 176
27帘撰、為什么使用 Executor 框架比使用應(yīng)用創(chuàng)建和管理線程好跑慕? 176
28、java 中有幾種方法可以實現(xiàn)一個線程? 177
29核行、如何停止一個正在運(yùn)行的線程牢硅? 177
30、notify()和 notifyAll()有什么區(qū)別芝雪? 177
31减余、什么是 Daemon 線程?它有什么意義惩系? 178
32位岔、java 如何實現(xiàn)多線程之間的通訊和協(xié)作? 178
33蛆挫、什么是可重入鎖(ReentrantLock)赃承? 178
34、當(dāng)一個線程進(jìn)入某個對象的一個 synchronized 的實例方法后悴侵,其它線程是否可進(jìn)入此對象的其它方法? 179
35拭嫁、樂觀鎖和悲觀鎖的理解及如何實現(xiàn)可免,有哪些實現(xiàn)方式? 179
36做粤、SynchronizedMap和 ConcurrentHashMap有什么區(qū)別浇借? 181
37、CopyOnWriteArrayList 可以用于什么應(yīng)用場景怕品? 181
38妇垢、什么叫線程安全?servlet 是線程安全嗎? 182
39肉康、volatile 有什么用闯估?能否用一句話說明下 volatile 的應(yīng)用場景?183 40吼和、為什么代碼會重排序涨薪? 183
41、在 java 中 wait 和 sleep 方法的不同炫乓? 183
42刚夺、用 Java 實現(xiàn)阻塞隊列 185
43、一個線程運(yùn)行時發(fā)生異常會怎樣末捣? 185
44侠姑、如何在兩個線程間共享數(shù)據(jù)? 186
45箩做、Java 中 notify 和 notifyAll 有什么區(qū)別莽红? 186
46剩膘、為什么 wait, notify和 notifyAll這些方法不在 thread 類里面?
....................................................................................................................186
47肉瓦、什么是 ThreadLocal 變量滚躯? 186
48、Java 中 interrupted 和 isInterrupted 方法的區(qū)別柳畔? 187
49馍管、為什么 wait 和 notify 方法要在同步塊中調(diào)用? 187
50薪韩、為什么你應(yīng)該在循環(huán)中檢查等待條件? 188
51确沸、Java 中的同步集合與并發(fā)集合有什么區(qū)別? 188
52俘陷、什么是線程池罗捎? 為什么要使用它? 188
53拉盾、怎么檢測一個線程是否擁有鎖桨菜? 188
54、你如何在 Java 中獲取線程堆棧捉偏? 188
56倒得、Thread 類中的 yield 方法有什么作用? 189
57夭禽、Java 中 ConcurrentHashMap 的并發(fā)度是什么霞掺? 189
58、Java 中 Semaphore 是什么讹躯? 190
59菩彬、Java 線程池中 submit() 和 execute()方法有什么區(qū)別? 190
60潮梯、什么是阻塞式方法骗灶? 190
61、Java 中的 ReadWriteLock 是什么酷麦? 190
62矿卑、volatile 變量和 atomic 變量有什么不同? 191
63沃饶、可以直接調(diào)用 Thread 類的 run ()方法么母廷? 191
64、如何讓正在運(yùn)行的線程暫停一段時間糊肤? 191
65琴昆、你對線程優(yōu)先級的理解是什么? 191
66 馆揉、 什么是線程調(diào)度器(Thread Scheduler) 和時間分片(Time Slicing )业舍? 192
67、你如何確保main()方法所在的線程是Java 程序最后結(jié)束的線程?
....................................................................................................................192
68舷暮、線程之間是如何通信的态罪? 193
69、為什么線程通信的方法 wait(), notify() 和 notifyAll() 被定義在Object 類 里下面? 193
70复颈、為什么 wait(), notify()和 notifyAll ()必須在同步方法或者同步塊中被調(diào)用? 193
71沥割、為什么 Thread 類的 sleep()和 yield ()方法是靜態(tài)的耗啦? 193
72、如何確保線程安全机杜? 194
73帜讲、同步方法和同步塊,哪個是更好的選擇椒拗? 194
74似将、如何創(chuàng)建守護(hù)線程? 194
75蚀苛、什么是 Java Timer 類玩郊?如何創(chuàng)建一個有特定時間間隔的任務(wù)?195
Java 并發(fā)編程(二)
1枉阵、并發(fā)編程三要素? 195
2预茄、實現(xiàn)可見性的方法有哪些兴溜? 195
3、多線程的價值耻陕? 196
4拙徽、創(chuàng)建線程的有哪些方式? 196
5诗宣、創(chuàng)建線程的三種方式的對比膘怕? 196
6、線程的狀態(tài)流轉(zhuǎn)圖 197
7召庞、Java 線程具有五中基本狀態(tài) 197
8岛心、什么是線程池?有哪幾種創(chuàng)建方式篮灼? 198
9忘古、四種線程池的創(chuàng)建: 199
10、線程池的優(yōu)點诅诱? 199
11髓堪、常用的并發(fā)工具類有哪些? 199
12、CyclicBarrier 和 CountDownLatch 的區(qū)別 199
13干旁、synchronized 的作用驶沼? 200
14、volatile 關(guān)鍵字的作用 200
15争群、什么是 CAS 200
16回怜、CAS 的問題 201
17、什么是 Future祭阀? 201
18鹉戚、什么是 AQS 202
19、AQS 支持兩種同步方式: 202
20专控、ReadWriteLock 是什么 202
21抹凳、FutureTask 是什么 203
22、synchronized 和 ReentrantLock 的區(qū)別 203
23伦腐、什么是樂觀鎖和悲觀鎖 203
24赢底、線程 B 怎么知道線程 A 修改了變量 204
25、synchronized柏蘑、volatile幸冻、CAS 比較 204
26、sleep 方法和 wait 方法有什么區(qū)別? 204
27咳焚、ThreadLocal 是什么洽损?有什么用? 204
28革半、為什么 wait()方法和notify()/notifyAll()方法要在同步塊中被調(diào)用
29碑定、多線程同步有哪幾種方法? 205
30又官、線程的調(diào)度策略 205
31延刘、ConcurrentHashMap 的并發(fā)度是什么 206
32、Linux 環(huán)境下如何查找哪個線程使用 CPU 最長 206
33六敬、Java 死鎖以及如何避免碘赖? 206
34、死鎖的原因 206
35外构、怎么喚醒一個阻塞的線程 207
36普泡、不可變對象對多線程有什么幫助 207
37、什么是多線程的上下文切換 207
38典勇、如果你提交任務(wù)時劫哼,線程池隊列已滿,這時會發(fā)生什么 207
39割笙、Java 中用到的線程調(diào)度算法是什么 208
40 权烧、 什么是線程調(diào)度器(Thread Scheduler) 和時間分片(Time Slicing)眯亦? 208
41、什么是自旋 208
42般码、Java Concurrency API中的 Lock 接口(Lock interface)是什么妻率?
對比同步它有什么優(yōu)勢? 209
43板祝、單例模式的線程安全性 209
44宫静、Semaphore 有什么作用 209
45、Executors 類是什么券时? 210
46孤里、線程類的構(gòu)造方法、靜態(tài)塊是被哪個線程調(diào)用的 210
47橘洞、同步方法和同步塊捌袜,哪個是更好的選擇? 210
48、Java 線程數(shù)過多會造成什么異常炸枣? 210
Java 面試題(一)
1虏等、面向?qū)ο蟮奶卣饔心男┓矫妫? 211
2、訪問修飾符 public,private,protected,以及不寫(默認(rèn))時的區(qū)別适肠?
3映企、String 是最基本的數(shù)據(jù)類型嗎叙赚? 213
4、float f=3.4;是否正確锭碳? 213
5软免、short s1= 1; s1= s1+ 1;有錯嗎?short s1= 1; s1+= 1;有錯嗎熊尉?
6殿漠、Java 有沒有 goto亥鬓? 214
7、int 和 Integer 有什么區(qū)別息尺? 214
8、&和&&的區(qū)別疾掰? 218
9搂誉、解釋內(nèi)存中的棧(stack)、堆(heap)和方法區(qū)(method area)的用法静檬。
10炭懊、Math.round(11.5) 等于多少?Math.round(-11.5)等于多少拂檩?220 11侮腹、switch 是否能作用在 byte 上,是否能作用在 long 上稻励,是否能作用在 String 上父阻? 220
12愈涩、用最有效率的方法計算 2 乘以 8? 221
13加矛、數(shù)組有沒有 length()方法履婉?String 有沒有 length()方法? 222
14斟览、在 Java 中毁腿,如何跳出當(dāng)前的多重嵌套循環(huán)? 223
15苛茂、構(gòu)造器(constructor)是否可被重寫(override)已烤? 223
16、兩個對象值相同(x.equals(y) == true)妓羊,但卻可有不同的 hash code胯究,這句話對不對? 223
17侍瑟、是否可以繼承 String 類唐片? 224
18、當(dāng)一個對象被當(dāng)作參數(shù)傳遞到一個方法后涨颜,此方法可改變這個對
象的屬性费韭,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞庭瑰? 225
19星持、String 和 StringBuilder、StringBuffer 的區(qū)別弹灭? 226
20督暂、重載(Overload)和重寫(Override)的區(qū)別。重載的方法能否根據(jù)返回類型進(jìn)行區(qū)分穷吮? 227
21逻翁、描述一下 JVM 加載 class 文件的原理機(jī)制? 228
22捡鱼、char 型變量中能不能存貯一個中文漢字八回,為什么? 229
23驾诈、抽象類(abstract class)和接口(interface)有什么異同缠诅?.230 24、靜態(tài)嵌套類(Static Nested Class)和內(nèi)部類(Inner Class)的不同乍迄? 230
25管引、Java 中會存在內(nèi)存泄漏嗎,請簡單描述闯两。 234
26褥伴、抽象的(abstract)方法是否可同時是靜態(tài)的(static),是否可同時是本地方法(native)谅将,是否可同時被 synchronized 修飾? 236
27噩翠、闡述靜態(tài)變量和實例變量的區(qū)別戏自。 236
28、是否可以從一個靜態(tài)(static)方法內(nèi)部發(fā)出對非靜態(tài)(non-static) 方法的調(diào)用伤锚? 237
29擅笔、如何實現(xiàn)對象克隆屯援? 237
30猛们、GC 是什么?為什么要有 GC狞洋? 242
31弯淘、String s = new String(“xyz”);創(chuàng)建了幾個字符串對象? 244
32 吉懊、 接口是否可繼承( extends ) 接口庐橙? 抽象類是否可實現(xiàn)
33、一個”.java”源文件中是否可以包含多個類(不是內(nèi)部類)借嗽?有什么限制态鳖? 245
34、Anonymous Inner Class(匿名內(nèi)部類)是否可以繼承其它類恶导?是否可以實現(xiàn)接口浆竭? 245
35、內(nèi)部類可以引用它的包含類(外部類)的成員嗎惨寿?有沒有什么限制邦泄? 245
36、Java 中的 final 關(guān)鍵字有哪些用法裂垦? 245
37顺囊、指出下面程序的運(yùn)行結(jié)果 246
38、數(shù)據(jù)類型之間的轉(zhuǎn)換: 247
39蕉拢、如何實現(xiàn)字符串的反轉(zhuǎn)及替換包蓝? 248
40、怎樣將 GB2312 編碼的字符串轉(zhuǎn)換為ISO-8859-1 編碼的字符串企量?
43、比較一下 Java 和 JavaSciprt份乒。 252
45、Error 和 Exception 有什么區(qū)別瘾英? 254
46枣接、try{}里有一個 return 語句,那么緊跟在這個 try 后的 finally{}里的代碼會不會被執(zhí)行缺谴,什么時候被執(zhí)行但惶,在 return 前還是后? 255
47、Java 語言如何進(jìn)行異常處理湿蛔,關(guān)鍵字:throws膀曾、throw、try阳啥、catch添谊、finally 分別如何使用? 256
48察迟、運(yùn)行時異常與受檢異常有何異同斩狱? 257
50所踊、闡述 final、finally栗弟、finalize 的區(qū)別污筷。 258
51、類 ExampleA 繼承 Exception乍赫,類 ExampleB 繼承 ExampleA瓣蛀。259 52、List雷厂、Set惋增、Map 是否繼承自 Collection 接口? 260
53改鲫、闡述 ArrayList诈皿、Vector、LinkedList 的存儲性能和特性像棘。 261
54稽亏、Collection 和 Collections 的區(qū)別? 262
55缕题、List截歉、Map、Set 三個接口存取元素時烟零,各有什么特點? 262
56、TreeMap 和 TreeSet 在排序時如何比較元素昵骤?Collections 工具類中的 sort()方法如何比較元素? 262
57记罚、Thread 類的 sleep()方法和對象的 wait()方法都可以讓線程暫停執(zhí)行,它們有什么區(qū)別? 267
58壳嚎、線程的 sleep()方法和 yield()方法有什么區(qū)別桐智? 268
59、當(dāng)一個線程進(jìn)入一個對象的 synchronized 方法 A 之后诬辈,其它線程是否可進(jìn)入此對象的 synchronized 方法 B酵使? 268
60、請說出與線程同步以及線程調(diào)度相關(guān)的方法焙糟。 268
61口渔、編寫多線程程序有幾種實現(xiàn)方式? 276
62穿撮、synchronized 關(guān)鍵字的用法缺脉? 278
64攻礼、啟動一個線程是調(diào)用 run()還是 start()方法? 278
65栗柒、什么是線程池(thread pool)礁扮? 279
66、線程的基本狀態(tài)以及狀態(tài)之間的關(guān)系瞬沦? 280
67太伊、簡述 synchronized和 java.util.concurrent.locks.Lock 的異同?
68逛钻、Java 中如何實現(xiàn)序列化僚焦,有什么意義? 282
70、寫一個方法边坤,輸入一個文件名和一個字符串名扛,統(tǒng)計這個字符串在這個文件中出現(xiàn)的次數(shù)。 284
71茧痒、如何用 Java 代碼列出一個目錄下所有的文件肮韧? 286
72、用 Java 的套接字編程實現(xiàn)一個多線程的回顯(echo)服務(wù)器。288
73惹苗、XML 文檔定義有幾種形式?它們之間有何本質(zhì)區(qū)別耸峭?解析 XML 文檔有哪幾種方式桩蓉? 295
75院究、闡述 JDBC 操作數(shù)據(jù)庫的步驟。 296
76本涕、Statement 和PreparedStatement 有什么區(qū)別业汰?哪個性能更好?
77菩颖、使用 JDBC 操作數(shù)據(jù)庫時样漆,如何提升讀取數(shù)據(jù)的性能?如何提升更新數(shù)據(jù)的性能晦闰? 299
78放祟、在進(jìn)行數(shù)據(jù)庫編程時,連接池有什么作用呻右? 300
82、JDBC 能否處理 Blob 和 Clob落塑? 306
84芜赌、Java 中是如何支持正則表達(dá)式操作的仰挣? 308
Java 面試題(二)
1毁涉、Java 中能創(chuàng)建 volatile 數(shù)組嗎? 328
2锈死、volatile 能使得一個非原子操作變成原子操作嗎贫堰? 328
5缨该、10 個線程和 2 個線程的同步代碼偎行,哪個更容易寫? 329
6压彭、你是如何調(diào)用 wait()方法的睦优?使用 if 塊還是循環(huán)?為什么壮不?329 有經(jīng)驗程序員的 Java 面試題 330
8汗盘、什么是 Busy spin?我們?yōu)槭裁匆褂盟? 330
9询一、Java 中怎么獲取一份線程 dump 文件隐孽? 331
12缩功、用 wait-notify 寫一段代碼來解決生產(chǎn)者-消費者問題晴及? 331
13、用 Java 寫一個線程安全的單例模式(Singleton)嫡锌? 332
14虑稼、Java 中 sleep 方法和 wait 方法的區(qū)別? 332
15势木、什么是不可變對象(immutable object)蛛倦?Java 中怎么創(chuàng)建一個不可變對象? 332
16啦桌、我們能創(chuàng)建一個包含可變對象的不可變對象嗎溯壶? 333
數(shù)據(jù)類型和 Java 基礎(chǔ)面試問題 333
17、Java 中應(yīng)該使用什么數(shù)據(jù)類型來代表價格? 333
18且改、怎么將 byte 轉(zhuǎn)換為 String验烧? 333
19、Java 中怎樣將 bytes 轉(zhuǎn)換為 long 類型又跛? 333
20噪窘、我們能將 int 強(qiáng)制轉(zhuǎn)換為 byte 類型的變量嗎?如果該值大于byte 類型的范圍效扫,將會出現(xiàn)什么現(xiàn)象? 334
21直砂、存在兩個類菌仁,B 繼承 A,C 繼承 B静暂,我們能將 B 轉(zhuǎn)換為 C 么济丘? 如 C = (C) B; 334
22洽蛀、哪個類包含 clone 方法摹迷?是 Cloneable 還是 Object? 334
23郊供、Java 中 ++ 操作符是線程安全的嗎峡碉? 334
23、不是線程安全的操作驮审。它涉及到多個指令鲫寄,如讀取變量值,增加疯淫,
然后存儲回內(nèi)存地来,這個過程可能會出現(xiàn)多個線程交差。 335
24熙掺、a = a + b 與 a += b 的區(qū)別 335
25未斑、我能在不進(jìn)行強(qiáng)制轉(zhuǎn)換的情況下將一個 double 值賦值給 long 類型的變量嗎? 335
26、3*0.1 == 0.3 將會返回什么模燥?true 還是 false代赁? 336
27、int 和 Integer 哪個會占用更多的內(nèi)存载城? 336
28、為什么 Java 中的 String 是不可變的(Immutable)费就? 336
JVM 底層 與 GC(Garbage Collection) 的面試問題 336
31诉瓦、64 位 JVM 中,int 的長度是多數(shù)? 337
32睬澡、Serial 與 Parallel GC 之間的不同之處固额? 337
33、32 位和 64 位的 JVM煞聪,int 類型變量的長度是多數(shù)斗躏? 337
34、Java 中 WeakReference 與 SoftReference 的區(qū)別昔脯? 337
36云稚、JVM 選項 -XX:+UseCompressedOops 有什么作用隧饼?為什么要使用? 338
37静陈、怎樣通過 Java 程序來判斷 JVM 是 32 位 還是 64 位燕雁? 338
38、32 位 JVM 和 64 位 JVM 的最大堆內(nèi)存分別是多數(shù)鲸拥? 338
39拐格、JRE、JDK刑赶、JVM 及 JIT 之間有什么不同捏浊? 339
42谒所、怎么獲取 Java 程序使用的內(nèi)存热康?堆使用的百分比? 339
43劣领、Java 中堆和棧有什么區(qū)別姐军? 340
44、“a==b”和”a.equals(b)”有什么區(qū)別尖淘? 340
45奕锌、a.hashCode() 有什么用?與 a.equals(b) 有什么關(guān)系村生? 340
46惊暴、final、finalize 和 finally 的不同之處趁桃? 341
47辽话、Java 中的編譯期常量是什么肄鸽?使用它又什么風(fēng)險? 341
48油啤、List典徘、Set、Map 和 Queue 之間的區(qū)別(答案) 341
49益咬、poll() 方法和 remove() 方法的區(qū)別逮诲? 342
50、Java 中 LinkedHashMap 和 PriorityQueue 的區(qū)別是什么幽告?342 51梅鹦、ArrayList 與 LinkedList 的不區(qū)別? 342
52冗锁、用哪兩種方式來實現(xiàn)集合的排序帘瞭? 342
54、Java 中的 LinkedList 是單向鏈表還是雙向鏈表抛腕? 343
55芋绸、Java 中的 TreeMap 是采用什么樹實現(xiàn)的?(答案) 343
56担敌、Hashtable 與 HashMap 有什么不同之處摔敛? 343
57、Java 中的 HashSet全封,內(nèi)部是如何工作的马昙? 344
58、寫一段代碼在遍歷 ArrayList 時移除一個元素刹悴? 344
59行楞、我們能自己寫一個容器類,然后使用 for-each 循環(huán)碼土匀? 344
60子房、ArrayList 和 HashMap 的默認(rèn)大小是多數(shù)? 344
61就轧、有沒有可能兩個不相等的對象有有相同的 hashcode证杭? 345
62、兩個相同的對象會有不同的的 hash code 嗎妒御? 345
63解愤、我們可以在 hashcode() 中使用隨機(jī)數(shù)字嗎? 345
64乎莉、Java 中送讲,Comparator 與 Comparable 有什么不同奸笤? 345
66、在我 Java 程序中李茫,我有三個 socket揭保,我需要多少個線程來處理?
67魄宏、Java 中怎么創(chuàng)建 ByteBuffer秸侣? 346
68、Java 中宠互,怎么讀寫 ByteBuffer 味榛? 346
70搏色、ByteBuffer 中的字節(jié)序是什么? 346
71券册、Java 中频轿,直接緩沖區(qū)與非直接緩沖器有什么區(qū)別? 347
72烁焙、Java 中的內(nèi)存映射緩存區(qū)是什么航邢? 347
73、socket 選項 TCP NO DELAY 是指什么骄蝇? 347
74膳殷、TCP 協(xié)議與 UDP 協(xié)議有什么區(qū)別? 347
75九火、Java 中赚窃,ByteBuffer 與 StringBuffer 有什么區(qū)別?(答案) 347
76岔激、Java 中勒极,編寫多線程程序的時候你會遵循哪些最佳實踐? 348
77虑鼎、說出幾點 Java 中使用 Collections 的最佳實踐 348
78河质、說出至少 5 點在 Java 中使用線程的最佳實踐。 348
80掀鹅、列出 5 個應(yīng)該遵循的 JDBC 最佳實踐 349
81、說出幾條 Java 中方法重載的最佳實踐媒楼? 350
Date乐尊、Time 及 Calendar 的面試題 350
82、在多線程環(huán)境下划址,SimpleDateFormat 是線程安全的嗎扔嵌? 350
83限府、Java中如何格式化一個日期?如格式化為 ddMMyyyy 的形式痢缎?
84胁勺、Java 中,怎么在格式化的日期中顯示時區(qū)独旷? 351
85署穗、Java 中 java.util.Date 與 java.sql.Date 有什么區(qū)別? 351
86嵌洼、Java 中案疲,如何計算兩個日期之間的差距? 351
87麻养、Java 中褐啡,如何將字符串 YYYYMMDD 轉(zhuǎn)換為日期? 352
90、怎么利用 JUnit 來測試一個方法的異常许昨? 352
91懂盐、你使用過哪個單元測試庫來測試你的 Java 程序? 352
92车要、@Before 和 @BeforeClass 有什么區(qū)別? 352
93、怎么檢查一個字符串只包含數(shù)字?解決方案 353
94烟具、Java 中如何利用泛型寫一個 LRU 緩存思犁? 353
95、寫一段 Java 程序?qū)?byte 轉(zhuǎn)換為 long憔儿? 353
95、在不使用 StringBuffer 的前提下,怎么反轉(zhuǎn)一個字符串榆俺? 353
97、Java 中坞淮,怎么獲取一個文件中單詞出現(xiàn)的最高頻率茴晋? 353
99诺擅、Java 中,怎么打印出一個字符串的所有排列啡直? 354
100烁涌、Java 中苍碟,怎樣才能打印出數(shù)組中的重復(fù)元素? 354
101撮执、Java 中如何將字符串轉(zhuǎn)換為整數(shù)微峰? 354
102、在沒有使用臨時變量的情況如何交換兩個整數(shù)變量的值抒钱? 355
關(guān)于 OOP 和設(shè)計模式的面試題 355
103蜓肆、接口是什么?為什么要使用接口而不是直接使用具體類继效? 355
104症杏、Java 中,抽象類與接口之間有什么不同瑞信? 355
105厉颤、除了單例模式,你在生產(chǎn)環(huán)境中還用過什么設(shè)計模式凡简? 356
107) 什么情況下會違反迪米特法則?為什么會有這個問題秤涩? 356
109黎烈、什么是“依賴注入”和“控制反轉(zhuǎn)”?為什么有人使用匀谣? 356
110照棋、抽象類是什么?它與接口有什么區(qū)別武翎?你為什么要使用過抽象類烈炭? 357
111、構(gòu)造器注入和 setter 依賴注入宝恶,那種方式更好符隙? 357
113霹疫、適配器模式和裝飾器模式有什么區(qū)別? 358
114综芥、適配器模式和代理模式之前有什么不同更米? 358
120、Java 中针饥,嵌套公共靜態(tài)類與頂級類有什么不同厂抽? 359
121、 OOP 中的 組合丁眼、聚合和關(guān)聯(lián)有什么區(qū)別筷凤? 359
122、給我一個符合開閉原則的設(shè)計模式的例子苞七? 360
123藐守、抽象工廠模式和原型模式之間的區(qū)別? 360
125蹂风、嵌套靜態(tài)類與頂級類有什么區(qū)別卢厂? 361
126、你能寫出一個正則表達(dá)式來判斷一個字符串是否是一個數(shù)字嗎惠啄?
127慎恒、Java 中,受檢查異常 和 不受檢查異常的區(qū)別撵渡? 362
128融柬、Java 中,throw 和 throws 有什么區(qū)別 362
129姥闭、Java 中丹鸿,Serializable 與 Externalizable 的區(qū)別越走? 362
130棚品、Java 中,DOM 和 SAX 解析器有什么不同廊敌? 363
132骡澈、說出 5 個 JDK 1.8 引入的新特性锅纺? 363
133、Java 中肋殴,Maven 和 ANT 有什么區(qū)別囤锉? 363
Spring 面試題(一)
1.1 、不同版本的 Spring Framework 有哪些主要功能官地? 364
1.2 酿傍、什么是 Spring Framework? 365
1.3 驱入、列舉 Spring Framework 的優(yōu)點赤炒。 365
1.4 、Spring Framework 有哪些不同的功能亏较? 365
1.5 莺褒、Spring Framework 中有多少個模塊,它們分別是什么雪情? 365
1.7 旺罢、Spring 應(yīng)用程序有哪些不同組件旷余? 368
2.2 炉旷、什么是依賴注入? 369
2.4 、區(qū)分構(gòu)造函數(shù)注入和 setter 注入图仓。 370
2.5 罐盔、spring 中有多少種 IOC 容器? 370
2.6 救崔、 區(qū) 分 BeanFactory 和 ApplicationContext惶看。 371
2.8 纬黎、Spring IoC 的實現(xiàn)機(jī)制。 371
3.3 挪凑、spring 支持集中 bean scope? 375
3.4 逛艰、spring bean 容器的生命周期是什么樣的岖赋? 375
3.5 、什么是 spring 的內(nèi)部 bean瓮孙? 376
4.2 、如何在 spring 中啟動注解裝配翁垂? 379
4.3 铆遭、@Component, @Controller, @Repository, @Service 有何區(qū)別? 379
4.4 沿猜、@Required 注解有什么用广凸? 380
4.5 蛇尚、@Autowired 注解有什么用奴艾? 380
4.7 祈坠、@RequestMapping 注解有什么用害碾? 382
5.2 、列舉 Spring DAO 拋出的異常躺同。 383
5.3 阁猜、spring JDBC API 中存在哪些類? 383
5.4 笋籽、使用 Spring 訪問 Hibernate 的方法有哪些蹦漠? 384
5.5 椭员、列舉 spring 支持的事務(wù)管理類型 384
6.1 、什么是 AOP侍芝? 385
6.5 咧栗、有哪些類型的通知(Advice)逆甜? 387
6.6 、 指 出 在 spring aop 中 concern 和 cross-cutting concern 的不同之處致板。 387
6.8 斟或、Spring AOP and AspectJ AOP 有什么區(qū)別素征? 388
7.2 酥泛、描述一下 DispatcherServlet 的工作流程 389
7.3 欺税、介紹一下 WebApplicationContext 391
Spring 面試題(二)
4瘦馍、核心容器(應(yīng)用上下文) 模塊歼秽。 393
5、BeanFactory – BeanFactory 實現(xiàn)舉例情组。 393
15缩举、ApplicationContext 通常的實現(xiàn)是什么? 395
16、Bean 工廠和 Application contexts 有什么區(qū)別匹颤? 396
17仅孩、一個 Spring 的應(yīng)用看起來象什么? 396
19、有哪些不同類型的 IOC(依賴注入)方式另伍? 397
20鼻百、哪種依賴注入方式你建議使用,構(gòu)造器注入摆尝,還是 Setter 方法注入温艇? 397
22、一個 Spring Bean 定義 包含什么堕汞? 398
23勺爱、如何給 Spring 容器提供配置元數(shù)據(jù)? 398
25讯检、解釋 Spring 支持的幾種 bean 的作用域琐鲁。 399
26、Spring 框架中的單例 bean 是線程安全的嗎? 399
27人灼、解釋 Spring 框架中 bean 的生命周期围段。 399
28、哪些是重要的 bean 生命周期方法投放?你能重載它們嗎奈泪? 400
29、什么是 Spring 的內(nèi)部 bean灸芳? 400
30涝桅、在 Spring 中如何注入一個 java 集合? 400
35壁却、你可以在 Spring 中注入一個 null 和一個空字符串嗎? 402
36寻定、什么是基于 Java 的 Spring 注解配置? 給一些注解的例子 403
42.在 Spring 框架中如何更有效地使用 JDBC? 404
45僵芹、使用 Spring 通過什么方式訪問 Hibernate? 405
47.如何通過 HibernateDaoSupport 將 Spring 和 Hibernate 結(jié)合起來小槐? 406
49、Spring 框架的事務(wù)管理有哪些優(yōu)點凿跳? 406
52、在 Spring AOP 中疆栏,關(guān)注點和橫切關(guān)注的區(qū)別是什么曾掂? 407
61蛔糯、什么是織入。什么是織入應(yīng)用的不同點窖式? 409
62蚁飒、解釋基于 XML Schema 方式的切面實現(xiàn)。 410
64淮逻、什么是 Spring 的 MVC 框架琼懊? 410
66爬早、WebApplicationContext 411
67哼丈、什么是 Spring MVC 框架的控制器? 411
微服務(wù) 面試題
2车胡、微服務(wù)架構(gòu)有哪些優(yōu)勢? 413
4、設(shè)計微服務(wù)的最佳實踐是什么析命? 415
5主卫、微服務(wù)架構(gòu)如何運(yùn)作? 415
6鹃愤、微服務(wù)架構(gòu)的優(yōu)缺點是什么队秩? 416
7、單片昼浦,SOA 和微服務(wù)架構(gòu)有什么區(qū)別馍资? 417
8缔杉、在使用微服務(wù)架構(gòu)時唇撬,您面臨哪些挑戰(zhàn)洒扎? 418
9们衙、SOA 和微服務(wù)架構(gòu)之間的主要區(qū)別是什么历恐? 418
11凛膏、什么是領(lǐng)域驅(qū)動設(shè)計虐沥? 419
12熊经、為什么需要域驅(qū)動設(shè)計(DDD)? 420
16喜每、什么是 REST / RESTful 以及它的用途是什么务唐? 421
17雳攘、你對 Spring Boot 有什么了解? 421
18枫笛、什么是 Spring 引導(dǎo)的執(zhí)行器吨灭? 422
20喧兄、Spring Cloud 解決了哪些問題? 423
21海诲、在 Spring MVC應(yīng)用程序中使用 WebMvcTest 注釋有什么用處繁莹?
22檩互。你能否給出關(guān)于休息和微服務(wù)的要點特幔? 424
24蚯斯、您對 Distributed Transaction 有何了解? 424
25饵较、什么是 Idempotence 以及它在哪里使用拍嵌? 425
28茄猫、雙因素身份驗證的憑據(jù)類型有哪些狈蚤? 426
30脆侮、PACT 在微服務(wù)架構(gòu)中的用途是什么? 427
35、Container 在微服務(wù)中的用途是什么侈百? 429
36瓮下、什么是微服務(wù)架構(gòu)中的 DRY翰铡? 430
37、什么是消費者驅(qū)動的合同(CDC)讽坏? 430
38锭魔、Web,RESTful API 在微服務(wù)中的作用是什么路呜? 431
39迷捧、您對微服務(wù)架構(gòu)中的語義監(jiān)控有何了解? 431
40胀葱、我們?nèi)绾芜M(jìn)行跨功能測試漠秋? 431
42庆锦、Mock 或 Stub 有什么區(qū)別? 432
43轧葛、您對 Mike Cohn 的測試金字塔了解多少搂抒? 432
48爵赵、架構(gòu)師在微服務(wù)架構(gòu)中的角色是什么? 434
49慢蜓、我們可以用微服務(wù)創(chuàng)建狀態(tài)機(jī)嗎亚再? 435
50、什么是微服務(wù)中的反應(yīng)性擴(kuò)展晨抡? 435
Linux 面 試題
1氛悬、絕對路徑用什么符號表示?當(dāng)前目錄耘柱、上層目錄用什么表示如捅?主目錄用什么表示? 切換目錄用什么命令? 436
2调煎、怎么查看當(dāng)前進(jìn)程镜遣?怎么執(zhí)行退出?怎么查看當(dāng)前路徑士袄? 436
3悲关、怎么清屏谎僻?怎么退出當(dāng)前命令?怎么執(zhí)行睡眠寓辱?怎么查看當(dāng)前用戶id艘绍?查看指定幫助用什么命令? 436
4秫筏、Ls 命令執(zhí)行什么功能诱鞠? 可以帶哪些參數(shù),有什么區(qū)別这敬? 437
5航夺、建立軟鏈接(快捷方式),以及硬鏈接的命令崔涂。 437
6阳掐、目錄創(chuàng)建用什么命令?創(chuàng)建文件用什么命令堪伍?復(fù)制文件用什么命令锚烦? 437
7觅闽、查看文件內(nèi)容有哪些命令可以使用帝雇? 438
8、隨意寫文件命令蛉拙?怎么向屏幕輸出帶空格的字符串尸闸,比如”hello world”? 439
9、終端是哪個文件夾下的哪個文件孕锄?黑洞文件是哪個文件夾下的哪個命令吮廉? 439
11、復(fù)制文件用哪個命令轴脐?如果需要連同文件夾一塊復(fù)制呢调卑?如果需要有提示功能呢? 440
12大咱、刪除文件用哪個命令恬涧?如果需要連目錄及目錄下文件一塊刪除呢?刪除空文件夾用什么命令碴巾? 440
13溯捆、Linux 下命令有哪幾種可使用的通配符?分別代表什么含義?.440
14厦瓢、用什么命令對一個文件的內(nèi)容進(jìn)行統(tǒng)計提揍?(行號啤月、單詞數(shù)、字節(jié)數(shù))
15劳跃、Grep 命令有什么用顽冶? 如何忽略大小寫? 如何查找不含該串的行?