柚子快報(bào)邀請碼778899分享:后端面試真題--Java篇
柚子快報(bào)邀請碼778899分享:后端面試真題--Java篇
Java基礎(chǔ)篇
Java基礎(chǔ)JVM框架1、Spring2、MyBaits3、MySQL4、Redis5、Tomcat6、Kafka
Java基礎(chǔ)
1、String類能否被繼承,為什么? 2、Java中的幾種基本數(shù)據(jù)類型,各占多少字節(jié) 3、String、StringBuffer、StringBuilder區(qū)別 4、ArrayList和LinkedList區(qū)別,數(shù)組和鏈表各自的時(shí)間復(fù)雜度? 抽象類和接口的區(qū)別,類是否可以繼承多個(gè)類?接口是否可以繼承多個(gè)接口?類可以實(shí)現(xiàn)多個(gè)接口嗎? 5、IO模型有哪些?講講nio、bio、aio及它們之間的區(qū)別,談?wù)剅eactor模型 6、Java中的HashSet是怎么工作的? 7、final的用途 8、深拷貝VS淺拷貝 9、列舉5個(gè)運(yùn)行時(shí)異常 10、有沒有可能2個(gè)不相等的對象有相同的hashcode? 11、a.hashcode()有什么用?與a.equal()有什么關(guān)系?== 和 equal的區(qū)別 12、繼承和聚合有什么區(qū)別? 13、講講Java的反射機(jī)制,反射的原理描述,反射類的三種創(chuàng)建實(shí)例方式是什么;在反射中Class.forName 和Classloader有什么區(qū)別?動(dòng)態(tài)代理和cglib實(shí)現(xiàn)的區(qū)別是什么? 14、描述動(dòng)態(tài)代理的幾種實(shí)現(xiàn)方式和各自優(yōu)點(diǎn) 15、jdk1.5引入了泛型,泛型是用來解決什么問題的? 16、什么是序列化,為什么要序列化?反序列化會遇到什么問題? 17、雙親委派機(jī)制是什么 18、類加載機(jī)制是什么 19、鎖機(jī)制 20、
JVM
1、什么時(shí)候會發(fā)生棧內(nèi)存溢出?當(dāng)內(nèi)存溢出怎么排錯(cuò)? 2、JVM內(nèi)存為什么要分新生代、老年代、持久代?新生代中為什么要分為Eden和Survivor? 3、垃圾回收算法的原理是什么?你知道哪幾種垃圾收集器?終點(diǎn)講講G1和cms,包括原理、流程、優(yōu)缺點(diǎn)。描述JVM中一次完整的GC流程。 4、G1和cms的區(qū)別,吞吐量優(yōu)先和響應(yīng)優(yōu)先的垃圾收集器怎么選擇 5、怎么打出線程棧信息?
框架
1、Spring
1、描述Spring的加載流程 2、Spring如何管理事務(wù)?如何配置事務(wù)(具體說出一些關(guān)鍵的xml元素) 3、Spring AOP的實(shí)現(xiàn)原理。說AOP中的幾個(gè)術(shù)語,它們是怎么相互工作的? 4、講講Spring事務(wù)的傳播機(jī)制 5、講講對Spring的理解。DI非單例注入原理, 6、Spring MVC用到的注解有哪些,有什么作用 7、講講springboot啟動(dòng)機(jī)制 8、Spring事件的實(shí)現(xiàn)原理?寫出幾個(gè)常用的事件。 9、Spring的bean的生命周期?比較BeanFactory和FactoryBean。Spring中使用到了FactoryBean的哪個(gè)方法?
2、MyBaits
3、MySQL
1、說說mysql的查詢優(yōu)化 2、說說臟讀、幻讀、不可重復(fù)讀 3、codis和redis集群的區(qū)別 4、mysql為什么要用b+樹不用平衡二叉樹做索引結(jié)構(gòu)? 5、創(chuàng)建數(shù)據(jù)庫索引應(yīng)該怎么考慮 6、
4、Redis
1、Redis的應(yīng)用場景有哪些 2、談?wù)凴edis的持久化機(jī)制 3、如何保證redis與數(shù)據(jù)庫的一致性?(例如用戶名既存在數(shù)據(jù)庫,又存在redis做緩存,有下面操做update_db(username);update_redis(username).但是執(zhí)行update_db(username)后有故障,update_redis(username)沒有執(zhí)行,應(yīng)該如何解決呢) 4、當(dāng)大量數(shù)據(jù)要求用redis保存,單機(jī)單點(diǎn)難以滿足需要,設(shè)計(jì)一個(gè)負(fù)載均衡的方案 5、如果一個(gè)業(yè)務(wù)依賴單點(diǎn)Redis,此redis故障導(dǎo)致業(yè)務(wù)不可用,該如何改進(jìn)? 6、Redis sharding有哪些做法?當(dāng)redis采用hash做sharding,現(xiàn)在有8個(gè)節(jié)點(diǎn)負(fù)載方案是pos=hash(key)%8,然后保存在pos節(jié)點(diǎn)上,這樣做有什么好處壞處?當(dāng)8個(gè)節(jié)點(diǎn)要擴(kuò)充到10個(gè)節(jié)點(diǎn),應(yīng)該怎么辦?有什么更方便的擴(kuò)充方案嗎?
5、Tomcat
6、Kafka
1、項(xiàng)目中哪里用到了Kafka?Kafka有哪些特性? 2、rabbitMQ、Kafka、RocketMQ對比 3、
柚子快報(bào)邀請碼778899分享:后端面試真題--Java篇
好文推薦
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。