已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ava最新常見面試題 + 答案匯總1、面試題模塊匯總面試題包括以下十九個(gè)模塊:Java 基礎(chǔ)、容器、多線程、反射、對(duì)象拷貝、Java Web 模塊、異常、網(wǎng)絡(luò)、設(shè)計(jì)模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。如下圖所示:可能對(duì)于初學(xué)者不需要后面的框架和 JVM 模塊的知識(shí),讀者朋友們可根據(jù)自己的情況,選擇對(duì)應(yīng)的模塊進(jìn)行閱讀。適宜閱讀人群需要面試的初/中/高級(jí) java 程序員想要查漏補(bǔ)缺的人想要不斷完善和擴(kuò)充自己 java 技術(shù)棧的人java 面試官具體面試題下面一起來看 208 道面試題,具體的內(nèi)容。一、Java 基礎(chǔ)1.JDK 和 JRE 有什么區(qū)別?2.= 和 equals 的區(qū)別是什么?3.兩個(gè)對(duì)象的 hashCode()相同,則 equals()也一定為 true,對(duì)嗎?4.final 在 java 中有什么作用?5.java 中的 Math.round(-1.5) 等于多少?6.String 屬于基礎(chǔ)的數(shù)據(jù)類型嗎?7.java 中操作字符串都有哪些類?它們之間有什么區(qū)別?8.String str=i與 String str=new String(“i”)一樣嗎?9.如何將字符串反轉(zhuǎn)?10.String 類的常用方法都有那些?11.抽象類必須要有抽象方法嗎?12.普通類和抽象類有哪些區(qū)別?13.抽象類能使用 final 修飾嗎?14.接口和抽象類有什么區(qū)別?15.java 中 IO 流分為幾種?16.BIO、NIO、AIO 有什么區(qū)別?17.Files的常用方法都有哪些?二、容器18.java 容器都有哪些?19.Collection 和 Collections 有什么區(qū)別?20.List、Set、Map 之間的區(qū)別是什么?21.HashMap 和 Hashtable 有什么區(qū)別?22.如何決定使用 HashMap 還是 TreeMap?23.說一下 HashMap 的實(shí)現(xiàn)原理?24.說一下 HashSet 的實(shí)現(xiàn)原理?25.ArrayList 和 LinkedList 的區(qū)別是什么?26.如何實(shí)現(xiàn)數(shù)組和 List 之間的轉(zhuǎn)換?27.ArrayList 和 Vector 的區(qū)別是什么?28.Array 和 ArrayList 有何區(qū)別?29.在 Queue 中 poll()和 remove()有什么區(qū)別?30.哪些集合類是線程安全的?31.迭代器 Iterator 是什么?32.Iterator 怎么使用?有什么特點(diǎn)?33.Iterator 和 ListIterator 有什么區(qū)別?34.怎么確保一個(gè)集合不能被修改?三、多線程35.并行和并發(fā)有什么區(qū)別?36.線程和進(jìn)程的區(qū)別?37.守護(hù)線程是什么?38.創(chuàng)建線程有哪幾種方式?39.說一下 runnable 和 callable 有什么區(qū)別?40.線程有哪些狀態(tài)?41.sleep() 和 wait() 有什么區(qū)別?42.notify()和 notifyAll()有什么區(qū)別?43.線程的 run()和 start()有什么區(qū)別?44.創(chuàng)建線程池有哪幾種方式?45.線程池都有哪些狀態(tài)?46.線程池中 submit()和 execute()方法有什么區(qū)別?47.在 java 程序中怎么保證多線程的運(yùn)行安全?48.多線程鎖的升級(jí)原理是什么?49.什么是死鎖?50.怎么防止死鎖?51.ThreadLocal 是什么?有哪些使用場(chǎng)景?52.說一下 synchronized 底層實(shí)現(xiàn)原理?53.synchronized 和 volatile 的區(qū)別是什么?54.synchronized 和 Lock 有什么區(qū)別?55.synchronized 和 ReentrantLock 區(qū)別是什么?56.說一下 atomic 的原理?四、反射57.什么是反射?58.什么是 java 序列化?什么情況下需要序列化?59.動(dòng)態(tài)代理是什么?有哪些應(yīng)用?60.怎么實(shí)現(xiàn)動(dòng)態(tài)代理?五、對(duì)象拷貝61.為什么要使用克?。?2.如何實(shí)現(xiàn)對(duì)象克?。?3.深拷貝和淺拷貝區(qū)別是什么?六、Java Web64.jsp 和 servlet 有什么區(qū)別?65.jsp 有哪些內(nèi)置對(duì)象?作用分別是什么?66.說一下 jsp 的 4 種作用域?67.session 和 cookie 有什么區(qū)別?68.說一下 session 的工作原理?69.如果客戶端禁止 cookie 能實(shí)現(xiàn) session 還能用嗎?70.spring mvc 和 struts 的區(qū)別是什么?71.如何避免 sql 注入?72.什么是 XSS 攻擊,如何避免?73.什么是 CSRF 攻擊,如何避免?七、異常74.throw 和 throws 的區(qū)別?75.final、finally、finalize 有什么區(qū)別?76.try-catch-finally 中哪個(gè)部分可以省略?77.try-catch-finally 中,如果 catch 中 return 了,finally 還會(huì)執(zhí)行嗎?78.常見的異常類有哪些?八、網(wǎng)絡(luò)79.http 響應(yīng)碼 301 和 302 代表的是什么?有什么區(qū)別?80.forward 和 redirect 的區(qū)別?81.簡(jiǎn)述 tcp 和 udp的區(qū)別?82.tcp 為什么要三次握手,兩次不行嗎?為什么?83.說一下 tcp 粘包是怎么產(chǎn)生的?84.OSI 的七層模型都有哪些?85.get 和 post 請(qǐng)求有哪些區(qū)別?86.如何實(shí)現(xiàn)跨域?87.說一下 JSONP 實(shí)現(xiàn)原理?九、設(shè)計(jì)模式88.說一下你熟悉的設(shè)計(jì)模式?89.簡(jiǎn)單工廠和抽象工廠有什么區(qū)別?十、Spring/Spring MVC90.為什么要使用 spring?91.解釋一下什么是 aop?92.解釋一下什么是 ioc?93.spring 有哪些主要模塊?94.spring 常用的注入方式有哪些?95.spring 中的 bean 是線程安全的嗎?96.spring 支持幾種 bean 的作用域?97.spring 自動(dòng)裝配 bean 有哪些方式?98.spring 事務(wù)實(shí)現(xiàn)方式有哪些?99.說一下 spring 的事務(wù)隔離?100.說一下 spring mvc 運(yùn)行流程?101.spring mvc 有哪些組件?102.RequestMapping 的作用是什么?103.Autowired 的作用是什么?十一、Spring Boot/Spring Cloud104.什么是 spring boot?105.為什么要用 spring boot?106.spring boot 核心配置文件是什么?107.spring boot 配置文件有哪幾種類型?它們有什么區(qū)別?108.spring boot 有哪些方式可以實(shí)現(xiàn)熱部署?109.jpa 和 hibernate 有什么區(qū)別?110.什么是 spring cloud?111.spring cloud 斷路器的作用是什么?112.spring cloud 的核心組件有哪些?十二、Hibernate113.為什么要使用 hibernate?114.什么是 ORM 框架?115.hibernate 中如何在控制臺(tái)查看打印的 sql 語(yǔ)句?116.hibernate 有幾種查詢方式?117.hibernate 實(shí)體類可以被定義為 final 嗎?118.在 hibernate 中使用 Integer 和 int 做映射有什么區(qū)別?119.hibernate 是如何工作的?120.get()和 load()的區(qū)別?121.說一下 hibernate 的緩存機(jī)制?122.hibernate 對(duì)象有哪些狀態(tài)?123.在 hibernate 中 getCurrentSession 和 openSession 的區(qū)別是什么?124.hibernate 實(shí)體類必須要有無參構(gòu)造函數(shù)嗎?為什么?十三、Mybatis125.mybatis 中 #和 $的區(qū)別是什么?126.mybatis 有幾種分頁(yè)方式?127.RowBounds 是一次性查詢?nèi)拷Y(jié)果嗎?為什么?128.mybatis 邏輯分頁(yè)和物理分頁(yè)的區(qū)別是什么?129.mybatis 是否支持延遲加載?延遲加載的原理是什么?130.說一下 mybatis 的一級(jí)緩存和二級(jí)緩存?131.mybatis 和 hibernate 的區(qū)別有哪些?132.mybatis 有哪些執(zhí)行器(Executor)?133.mybatis 分頁(yè)插件的實(shí)現(xiàn)原理是什么?134.mybatis 如何編寫一個(gè)自定義插件?十四、RabbitMQ135.rabbitmq 的使用場(chǎng)景有哪些?136.rabbitmq 有哪些重要的角色?137.rabbitmq 有哪些重要的組件?138.rabbitmq 中 vhost 的作用是什么?139.rabbitmq 的消息是怎么發(fā)送的?140.rabbitmq 怎么保證消息的穩(wěn)定性?141.rabbitmq 怎么避免消息丟失?142.要保證消息持久化成功的條件有哪些?143.rabbitmq 持久化有什么缺點(diǎn)?144.rabbitmq 有幾種廣播類型?145.rabbitmq 怎么實(shí)現(xiàn)延遲消息隊(duì)列?146.rabbitmq 集群有什么用?147.rabbitmq 節(jié)點(diǎn)的類型有哪些?148.rabbitmq 集群搭建需要注意哪些問題?149.rabbitmq 每個(gè)節(jié)點(diǎn)是其他節(jié)點(diǎn)的完整拷貝嗎?為什么?150.rabbitmq 集群中唯一一個(gè)磁盤節(jié)點(diǎn)崩潰了會(huì)發(fā)生什么情況?151.rabbitmq 對(duì)集群節(jié)點(diǎn)停止順序有要求嗎?十五、Kafka152.kafka 可以脫離 zookeeper 單獨(dú)使用嗎?為什么?153.kafka 有幾種數(shù)據(jù)保留的策略?154.kafka 同時(shí)設(shè)置了 7 天和 10G 清除數(shù)據(jù),到第五天的時(shí)候消息達(dá)到了 10G,這個(gè)時(shí)候 kafka 將如何處理?155.什么情況會(huì)導(dǎo)致 kafka 運(yùn)行變慢?156.使用 kafka 集群需要注意什么?十六、Zookeeper157.zookeeper 是什么?158.zookeeper 都有哪些功能?159.zookeeper 有幾種部署模式?160.zookeeper 怎么保證主從節(jié)點(diǎn)的狀態(tài)同步?161.集群中為什么要有主節(jié)點(diǎn)?162.集群中有 3 臺(tái)服務(wù)器,其中一個(gè)節(jié)點(diǎn)宕機(jī),這個(gè)時(shí)候 zookeeper 還可以使用嗎?163.說一下 zookeeper 的通知機(jī)制?十七、MySql164.數(shù)據(jù)庫(kù)的三范式是什么?165.一張自增表里面總共有 7 條數(shù)據(jù),刪除了最后 2 條數(shù)據(jù),重啟 mysql 數(shù)據(jù)庫(kù),又插入了一條數(shù)據(jù),此時(shí) id 是幾?166.如何獲取當(dāng)前數(shù)據(jù)庫(kù)版本?167.說一下 ACID 是什么?168.char 和 varchar 的區(qū)別是什么?169.float 和 double 的區(qū)別是什么?170.mysql 的內(nèi)連接、左連接、右連接有什么區(qū)別?171.mysql 索引是怎么實(shí)現(xiàn)的?172.怎么驗(yàn)證 mysql 的索引是否滿足需求?173.說一下數(shù)據(jù)庫(kù)的事務(wù)隔離?174.說一下 mysql 常用的引擎?175.說一下 mysql 的行鎖和表鎖?176.說一下樂觀鎖和悲觀鎖?177.mysql 問題排查都有哪些手段?178.如何做 mysql 的性能優(yōu)化?十八、Redis179.redis 是什么?都有哪些使用場(chǎng)景?180.redis 有哪些功能?181.redis 和 memecache 有什么區(qū)別?182.redis 為什么是單線程的?183.什么是緩存穿透?怎么解決?184.redis 支持的數(shù)據(jù)類型有哪些?185.redis 支持的 java 客戶端都有哪些?186.jedis 和 redisson 有哪些區(qū)別?187.怎么保證緩存和數(shù)據(jù)庫(kù)數(shù)據(jù)的一致性?188.redis 持久化有幾種方式?189.redis 怎么實(shí)現(xiàn)分布式鎖?190.redis 分布式鎖有什么缺陷?191.redis 如何做內(nèi)存優(yōu)化?192.redis 淘汰策略有哪些?193.redis 常見的性能問題有哪些?該如何解決?十九、JVM194.說一下 jvm 的主要組成部分?及其作用?195.說一下 jvm 運(yùn)行時(shí)數(shù)據(jù)區(qū)?196.說一下堆棧的區(qū)別?197.隊(duì)列和棧是什么?有什么區(qū)別?198.什么是雙親委派模型?199.說一下類加載的執(zhí)行過程?200.怎么判斷對(duì)象是否可以被回收?201.java 中都有哪些引用類型?202.說一下 jvm 有哪些垃圾回收算法?203.說一下 jvm 有哪些垃圾回收器?204.詳細(xì)介紹一下 CMS 垃圾回收器?205.新生代垃圾回收
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)Mini LED行業(yè)開拓第二增長(zhǎng)曲線戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國(guó)搬家行業(yè)商業(yè)模式創(chuàng)新戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025-2030年中國(guó)風(fēng)電設(shè)備行業(yè)商業(yè)模式創(chuàng)新戰(zhàn)略制定與實(shí)施研究報(bào)告
- 2025年網(wǎng)絡(luò)工程師工作計(jì)劃(共5篇)
- 廣東省2024屆高三下學(xué)期三模英語(yǔ)試題
- 高端智能專用車制造項(xiàng)目環(huán)境影響報(bào)告書批前
- 年產(chǎn)100萬立方建筑用砂巖新建項(xiàng)目資金申請(qǐng)報(bào)告
- 二年級(jí)數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)1000題匯編集錦
- 2023屆江蘇省蘇州市高三二??记澳M地理卷(一)附答案
- 手工制瓷技藝2
- 口腔修復(fù)學(xué)(全套課件290p)課件
- 小學(xué)生心理問題的表現(xiàn)及應(yīng)對(duì)措施【全國(guó)一等獎(jiǎng)】
- 小學(xué)生科普人工智能
- 初中學(xué)段勞動(dòng)任務(wù)清單(七到九年級(jí))
- 退耕還林監(jiān)理規(guī)劃
- GB/T 1335.2-2008服裝號(hào)型女子
- GB 31247-2014電纜及光纜燃燒性能分級(jí)
- DCC20網(wǎng)絡(luò)型監(jiān)視與報(bào)警
- 項(xiàng)目實(shí)施路徑課件
- 《簡(jiǎn)單教數(shù)學(xué)》讀書心得課件
- 《室速的診斷及治療》課件
評(píng)論
0/150
提交評(píng)論