十月阿里社招Java面試題:數據庫+分佈式+高併發+JVM+Spring

十月阿里社招Java面試題:數據庫+分佈式+高併發+JVM+Spring

今天筆者爲大家分享“阿里資深Java面試題”,分別是數據庫、分庫分表、分佈式緩存、分佈式服務框架、分佈式消息隊列、分佈式搜索引擎、高併發高可用架構設計、JVM、Spring、算法、數據結構等阿里資深java面試題,下面就隨小編一起看看。

一. 數據庫

  • 使用mysq1索引都有哪些原則?索引什麼數據結構?B+tree和Btree什麼區別?
  • mysq有哪些存儲引擎啊?都有啥區別??要詳細!!
  • 設計高併發系統數據庫層面該怎麼設計???數據庫鎖有哪些類型?如何實現呀?
  • 數據庫事務有哪些?

二. 分庫分表

  • 如何設計可以動態擴容縮容的分庫分表方案?
  • 用過哪些分庫分表中間件,有啥優點和缺點,
  • 講一下你瞭解的分庫分表中間件的底層實現原理?
  • 我現在有一個未分庫分表的系統,以後系統需分庫分表,如何設計,
  • 讓未分庫分表的系統動態切換到分庫分表的系統上?
  • 分佈式事務知道嗎?你們怎麼解決的?TCC?那若出現網絡原因,網絡連不通怎麼辦啊
  • 爲什麼要分庫分表啊?
  • 分佈式尋址方式都有哪些算法?知道一致性hash嗎?
  • 手寫一下java實現代碼?你若userId取摸分片,那我要查段連續時間裏的數據怎麼辦?
  • 如何解決分庫分表主鍵問題?有什麼實現方案?

三. 分佈式緩存

  • redis和memcheched什麼區別?爲什麼單線程的redis比多線程的memched效率要高啊?
  • redis有什麼數據類型?都在哪些場景下使用啊?
  • reids的主從複製是怎麼實現的?redis的集羣模式是如何實現的呢?redis的key是如何尋址的啊?
  • 使用redis如何設計分佈式鎖?使用zk可以嗎?如何實現啊?這兩種哪個效率更高啊?
  • 知道redis的持久化嗎?都有什麼缺點優點啊??具體底層實現呢?
  • redis過期策略都有哪些?LRU?寫--下java版本的代碼吧?
  • 說一下dubbo的實現過程?註冊中心掛了可以繼續通信嗎?

四. 分佈式服務框架

  • zk原理知道嗎?zk都可以幹什麼?Paxos算法知道嗎?說一下原理和實現??
  • dubbo支持哪些序列化協議?hessian?說一Fhessian的數據結構?PB知道嗎?爲啥PB效率是最高的啊??
  • 知道netty嗎?netty可以幹嘛呀NIO,BIO,AIO都是什麼啊?有什麼區別啊?
  • dubbo複製均衡策略和高可用策略都有哪些啊?動態代理策略呢?

五. 分佈式消息隊列

  • 爲什麼要進行系統拆分啊?拆分不用dubbo可以嗎?dubbo和thrift什麼區別啊?
  • 爲什麼使用消息隊列啊?消息隊列有什麼優點和缺點啊?
  • 如何保證消息隊列的高可用啊?如何保證消息不被重複消費啊?
  • kafka,activemq,rabbitmq,rocketmq都有什麼優點,缺點啊?
  • 如果讓你寫一個消息隊列,該如何進行架構設計啊?說-下你的思路

六. 分佈式搜索引擎

  • es的工作過程實現是如何的?如何實現分佈式的啊
  • es在數據量很大的情況下(數十億級別)如何提高查詢效率啊?
  • es的查詢是個怎麼的工作過程?底層的lucence介紹一下唄?倒排索引知道嗎?
  • es和mongdb什麼區別啊?都在什麼場景下使用啊?

七. 高併發高可用架構設計

  • 如何設計一個高併發高可用系統?
  • 如何限流?工程中怎麼做的,說一下具體實現?
  • 緩存如何使用的?緩存使用不當會造成什麼後果?
  • 如何熔斷啊?熔斷框架都有哪些?具體實現原理知道嗎?
  • 如何降級?如何進行系統拆分,如何數據庫拆分?

八. JVM

  • 請介紹一下JVM內存模型??用過什麼垃圾回收器?都說說唄?
  • 線上發送頻繁ful1gc如何處理??CPU使用率過高怎麼辦?
  • 如何定位問題?如何解決?說下解決思路和處理方法.
  • 知道字節碼嗎?字節碼都有哪些?
  • IntegerX5,inty=5,比較x=y都經過哪些步驟?
  • 講講類加載機制唄?都有哪些類加載器,這些類加載器都加載哪些文件?
  • 手寫一下類加載Demo
  • 知道osgi嗎?他是如何實現的?
  • 請問你做過哪些JVM優化?使用什麼方法?達到什麼效果?
  • class.forName("java.langString")和String.class.getClassLoader().LoadClass("java.lang.String")什麼區別啊?

九. Spring

  • spring都有哪些機制啊?AOP底層如何實現的啊?I0C呢??
  • cglib知道嗎?他和jdk動態代理什麼區別?手寫個jdk動態代理唄?
  • 說一下TCP/IP四層?
  • http的工作流程???http1.0http1.1http2.0具體哪些區別啊?
  • TCP三次握手,四層分手的工作流程?畫一下流程圖?爲什麼不是四次五次或者二次啊?
  • 畫一下https的工作流程?具體如何實現啊?如何防止被抓包啊?

十. 算法

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

十一.數據結構

  • 二叉樹和紅黑樹等

寫在最後

歡迎大家轉發評論,有不同見解歡迎下方留言。點贊是對作者最大的支持,感謝!

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