互聯網公司面試

1、hashcode相等兩個類一定相等嗎?equals呢?相反呢? 
2、介紹一下集合框架? 
3、hashmap hastable 底層實現什麼區別?hashtable和concurrenthashtable呢? 
4、hashmap和treemap什麼區別?低層數據結構是什麼? 
5、線程池用過嗎都有什麼參數?底層如何實現的? 
6、sychnized和Lock什麼區別?sychnize 什麼情況情況是對象鎖? 什麼時候是全局鎖爲什麼? 
7、ThreadLocal 是什麼底層如何實現?寫一個例子唄? 
8、volitile的工作原理? 
9、cas知道嗎如何實現的? 
10、請用至少四種寫法寫一個單例模式?

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”) 什麼區別啊?? 
這裏寫圖片描述

JVM

Spring

1、spring都有哪些機制啊AOP底層如何實現的啊IOC呢?? 
2、cgLib知道嗎?他和jdk動態代理什麼區別?手寫一個jdk動態代理唄?

數據庫

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、二叉樹和紅黑樹等。

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章