2018“金三”之一線互聯網公司Java高級面試題總結


JVM

 

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

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

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

3、知道字節碼嗎?字節碼都有哪些?Integer x =5,int y =5,比較x =y 都經過哪些步驟?

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

手寫一下類加載Demo

5、知道osgi嗎? 他是如何實現的???

6、請問你做過哪些JVM優化?使用什么方法達到什么效果???

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

 

性能優化

 

 

Spring

 

1、spring都有哪些機制啊AOP底層如何實現的啊IOC呢??

2、cgLib知道嗎?他和jdk動態代理什么區別?手寫一個jdk動態代理唄?

 

多線程

 

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

2、介紹一下集合框架?

3、hashmap hastable 底層實現什么區別?hashtable和concurrenthashtable呢?

4、hashmap和treemap什么區別?低層數據結構是什么?

5、線程池用過嗎都有什么參數?底層如何實現的?

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

7、ThreadLocal 是什么底層如何實現?寫一個例子唄?

8、volitile的工作原理?

9、cas知道嗎如何實現的?

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

 

數據庫

 

1、使用mysq1索引都有哪些原則? ?索引什么數據結構? 3+tree 和B tree 什么區別?

2、mysq1有哪些存儲引擎啊?都有啥區別? 要詳細!

3、設計高並發系統數據庫層面該怎么設計??數據庫鎖有哪些類型?如何實現呀?

4、數據庫事務有哪些?

 

分庫分表

 

1、如何設計可以動態擴容縮容的分庫分表方案?

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

3、我現在有一個未分庫分表的系統,以后系統需分庫分表,如何設計,讓未分庫分表的系統動態切換到分庫分表的系統上???TCC? 那若出現網絡原因,網絡連不通怎么辦啊???

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

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

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

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

 

分布式緩存

 

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

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

3、reids的主從復制是怎么實現的redis的集群模式是如何實現的呢redis的key是如何尋址的啊?

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

5、知道redis的持久化嗎都有什么缺點優點啊? ?具體底層實現呢?

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

 

分布式服務框架

 

1、說一下dubbo的實現過程注冊中心掛了可以繼續通信嗎??

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

3、dubbo支持哪些序列化協議?hessian 說一下hessian的數據結構PB知道嗎為啥PB效率是最高的啊??

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

5、dubbo復制均衡策略和高可用策略都有哪些啊動態代理策略呢?

6、為什么要進行系統拆分啊拆分不用dubbo可以嗎'dubbo和thrift什么區別啊?

 

分布式消息隊列

 

1、為什么使用消息隊列啊消息隊列有什么優點和缺點啊?

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

3、kafka ,activemq,rabbitmq ,rocketmq都有什么優點,缺點啊???

4、如果讓你寫一個消息隊列,該如何進行架構設計啊?說一下你的思路

 

分布式搜索引擎

 

1、es的工作過程實現是如何的?如何實現分布式的啊

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

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

 

高並發高可用架構設計

 

1、如何設計一個高並發高可用系統

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

3、緩存如何使用的緩存使用不當會造成什么后果?

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

5、如何降級如何進行系統拆分,如何數據庫拆分????

 

分布式專題架構

 

 

通信協議

 

1、說一下TCP 'IP四層?

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

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

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

 

算法

 

1、比較簡單,我一個文件,有45億個阿拉伯數字,如何進行去重啊如何找出最大的那個數啊?

 

數據結構

 

1、二叉樹和紅黑樹等。

源碼中所用到的經典設計思想及常用設計模式

 

 

 

福利

 

這里給大家提供一個學習交流的平台,Java架構師群:650385180,面試答案在群的共享區。

1、具有1-5工作經驗的,面對目前流行的技術不知從何下手,需要突破技術瓶頸的可以加群。

2、在公司待久了,過得很安逸,但跳槽時面試碰壁。需要在短時間內進修、跳槽拿高薪的可以加群。

3、如果沒有工作經驗,但基礎非常扎實,對java工作機制,常用設計思想,常用java開發框架掌握熟練的可以加群。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: