一線互聯(lián)網(wǎng)公司Java高級面試題總結(jié)

1、hashcode相等兩個類一定相等嗎?equals呢?相反呢?

2、介紹一下集合框架?

3、hashmap hastable 底層實現(xiàn)什么區(qū)別?hashtable和concurrenthashtable呢?

4、hashmap和treemap什么區(qū)別?低層數(shù)據(jù)結(jié)構(gòu)是什么?

5、線程池用過嗎都有什么參數(shù)?底層如何實現(xiàn)的?

6、sychnized和Lock什么區(qū)別?sychnize 什么情況情況是對象鎖? 什么時候是全局鎖為什么?

7、ThreadLocal 是什么底層如何實現(xiàn)?寫一個例子唄?

8、volitile的工作原理?

9、cas知道嗎如何實現(xiàn)的?

10、請用至少四種寫法寫一個單例模式

JVM

1、請介紹一下JVM內(nèi)存模型??用過什么垃圾回收器都說說唄

2、線上發(fā)送頻繁full gc如何處理? CPU 使用率過高怎么辦?

如何定位問題?如何解決說一下解決思路和處理方法

3、知道字節(jié)碼嗎?字節(jié)碼都有哪些?Integer x =5,int y =5,比較x =y 都經(jīng)過哪些步驟?

4、講講類加載機(jī)制唄都有哪些類加載器,這些類加載器都加載哪些文件?

手寫一下類加載Demo

5、知道osgi嗎? 他是如何實現(xiàn)的???

6、請問你做過哪些JVM優(yōu)化?使用什么方法達(dá)到什么效果???

7、classforName("java.lang.String")和String classgetClassLoader() LoadClass("java.lang.String") 什么區(qū)別啊?

Spring

1、spring都有哪些機(jī)制啊AOP底層如何實現(xiàn)的啊IOC呢??

2、cgLib知道嗎?他和jdk動態(tài)代理什么區(qū)別?手寫一個jdk動態(tài)代理唄?

數(shù)據(jù)庫

1、使用mysq1索引都有哪些原則? ?索引什么數(shù)據(jù)結(jié)構(gòu)? 3+tree 和B tree 什么區(qū)別?

2、mysq1有哪些存儲引擎啊?都有啥區(qū)別? 要詳細(xì)!

3、設(shè)計高并發(fā)系統(tǒng)數(shù)據(jù)庫層面該怎么設(shè)計??數(shù)據(jù)庫鎖有哪些類型?如何實現(xiàn)呀?

4、數(shù)據(jù)庫事務(wù)有哪些?

分庫分表

1、如何設(shè)計可以動態(tài)擴(kuò)容縮容的分庫分表方案?

2、用過哪些分庫分表中間件,有啥優(yōu)點和缺點?講一下你了解的分庫分表中間件的底層實現(xiàn)原理?

3、我現(xiàn)在有一個未分庫分表的系統(tǒng),以后系統(tǒng)需分庫分表,如何設(shè)計,讓未分庫分表的系統(tǒng)動態(tài)切換到分庫分表的系統(tǒng)上???TCC? 那若出現(xiàn)網(wǎng)絡(luò)原因,網(wǎng)絡(luò)連不通怎么辦啊???

4、分布式事務(wù)知道嗎? 你們怎么解決的?

5、為什么要分庫分表啊???

6、分布式尋址方式都有哪些算法知道一致性hash嗎?手寫一下java實現(xiàn)代碼??你若userId取摸分片,那我要查一段連續(xù)時間里的數(shù)據(jù)怎么辦???

7、如何解決分庫分表主鍵問題有什么實現(xiàn)方案??

分布式緩存

1、redis和memcheched 什么區(qū)別為什么單線程的redis比多線程的memched效率要高啊?

2、redis有什么數(shù)據(jù)類型都在哪些場景下使用啊?

3、reids的主從復(fù)制是怎么實現(xiàn)的redis的集群模式是如何實現(xiàn)的呢redis的key是如何尋址的啊?

4、使用redis如何設(shè)計分布式鎖?使用zk可以嗎?如何實現(xiàn)啊這兩種哪個效率更高啊??

5、知道redis的持久化嗎都有什么缺點優(yōu)點啊? ?具體底層實現(xiàn)呢?

6、redis過期策略都有哪些LRU 寫一下java版本的代碼吧??

分布式服務(wù)框架

1、說一下dubbo的實現(xiàn)過程注冊中心掛了可以繼續(xù)通信嗎??

2、zk原理知道嗎zk都可以干什么Paxos算法知道嗎?說一下原理和實現(xiàn)??

3、dubbo支持哪些序列化協(xié)議?hessian 說一下hessian的數(shù)據(jù)結(jié)構(gòu)PB知道嗎為啥PB效率是最高的啊??

4、知道netty嗎'netty可以干嘛呀NIO,BIO,AIO 都是什么啊有什么區(qū)別啊?

5、dubbo復(fù)制均衡策略和高可用策略都有哪些啊動態(tài)代理策略呢?

6、為什么要進(jìn)行系統(tǒng)拆分啊拆分不用dubbo可以嗎'dubbo和thrift什么區(qū)別啊?

分布式消息隊列

1、為什么使用消息隊列啊消息隊列有什么優(yōu)點和缺點啊?

2、如何保證消息隊列的高可用啊如何保證消息不被重復(fù)消費啊

3、kafka ,activemq,rabbitmq ,rocketmq都有什么優(yōu)點,缺點啊???

4、如果讓你寫一個消息隊列,該如何進(jìn)行架構(gòu)設(shè)計啊?說一下你的思路

分布式搜索引擎

1、es的工作過程實現(xiàn)是如何的?如何實現(xiàn)分布式的啊

2、es在數(shù)據(jù)量很大的情況下( 數(shù)十億級別)如何提高查詢效率啊?

3、es的查詢是一個怎么的工作過程?底層的lucence介紹一下唄倒排索引知道嗎?es和mongdb什么區(qū)別啊都在什么場景下使用啊?

高并發(fā)高可用架構(gòu)設(shè)計

1、如何設(shè)計一個高并發(fā)高可用系統(tǒng)

2、如何限流?工程中怎么做的,說一下具體實現(xiàn)

3、緩存如何使用的緩存使用不當(dāng)會造成什么后果?

4、如何熔斷啊?熔斷框架都有哪些?具體實現(xiàn)原理知道嗎?

5、如何降級如何進(jìn)行系統(tǒng)拆分,如何數(shù)據(jù)庫拆分????

通信協(xié)議

1、說一下TCP 'IP四層?

2、http的工作流程?? ?http1.0 http1.1http2.0 具體哪些區(qū)別啊?

3、TCP三次握手,四層分手的工作流程畫一下流程圖為什么不是四次五次或者二次啊?

4、畫一下https的工作流程?具體如何實現(xiàn)啊?如何防止被抓包啊??

算法

1、比較簡單,我一個文件,有45億個阿拉伯?dāng)?shù)字,如何進(jìn)行去重啊如何找出最大的那個數(shù)啊?

數(shù)據(jù)結(jié)構(gòu)

1、二叉樹和紅黑樹等。

源碼中所用到的經(jīng)典設(shè)計思想及常用設(shè)計模式

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容