MI 2021-07-09

一面

  • 問的設計題偏多

  • Redis 緩存熱點數(shù)據(jù) 熱點數(shù)據(jù)指的是什么?

  • Redis緩存數(shù)據(jù)量關注過嗎?

  • 如果全部緩存到Redis里,是怎樣的一個量級

  • Redis是否提供了完整的監(jiān)控界面

  • 產(chǎn)品有個需求,需要看客戶端的可用性 ,并不是打到后端的可用性,該怎樣設計?

    前端埋點, 服務端要接收到前端的埋點數(shù)據(jù)。
  • 前端如何把數(shù)據(jù)傳輸給后端,后端暴露一個接口,

  • 如果前端失敗的埋點因為網(wǎng)絡原因,未能傳輸給后端,這種該怎么解決?

  • Guava令牌桶限流 ,除了限流 還有其他的功能了解嗎。

  • 數(shù)組和鏈表的實現(xiàn)是什么?增刪改查分別的時間復雜度,空間復雜度

  • HashMap的底層實現(xiàn)?

  • 什么是紅黑樹?做這種紅黑的目的是什么?

  • 多線程,項目中的場景是什么?

  • 線程池,countDownLatch 分別是在哪里用的?

  • 如果給Jenkins發(fā)送stop 一直沒有stop成功,異常是怎樣處理的?

  • 如果有原子性的要求,該怎樣處理

  • 跨數(shù)據(jù)源的原子性保證該怎樣實現(xiàn)?分布式事務

  • 有沒有因為性能問題而使用多線程?使用多線程是否一定能提高性能? 如果是單核CPU,即使起了多線程,也是不同線程上下文切換。會影響性能

  • 自定義線程池的參數(shù),該出于什么考慮來制定各個參數(shù)的?

  • G1垃圾回收器。CMS和G1分別適用什么場景。

  • parallel和G1分別適用什么場景。

Parallel 關注吞吐量為目標的垃圾收集器,也是server模式下的默認收集器配置,對吞吐量的關注主要體現(xiàn)在年輕代Parallel Scavenge收集器上。

CMS 是以關注延遲為目標、十分優(yōu)秀的垃圾回收算法,開啟后,年輕代使用STW式的并行收集,老年代回收采用CMS進行垃圾回收,對延遲的關注也主要體現(xiàn)在老年代CMS上。

G1垃圾收集器也是以關注延遲為目標、服務器端應用的垃圾收集器,被HotSpot團隊寄予取代CMS的使命,也是一個非常具有調(diào)優(yōu)潛力的垃圾收集器。雖然G1也有類似CMS的收集動作:初始標記、并發(fā)標記、重新標記、清除、轉(zhuǎn)移回收,并且也以一個串行收集器做擔保機制,但單純地以類似前三種的過程描述顯得并不是很妥當。
JVM從入門到入土之詳解G1垃圾回收器
萬字詳解,一文帶你掌握 JVM 垃圾回收!

  • 緩存穿透和緩存雪崩是怎樣處理?

  • 布隆過濾器 以及原理。

算法:

  • 代碼實現(xiàn)String indexOf()方法

二面:

  • 項目聊得比較多

  • 實時可用計算平臺 Storm與Flink、 Spark Streaming各有什么優(yōu)缺點

  • Hashcode方法如果直接return 1; 在hashmap中會發(fā)生什么情況?

  • hashcode如果直接return1 , equals方法正常寫,會出現(xiàn)什么問題?

  • 裝飾器模式和適配器模式有啥區(qū)別?策略模式和狀態(tài)模式有啥區(qū)別?

  • topK怎么實現(xiàn),優(yōu)先級隊列的時間復雜度是多少,k的大小在時間復雜度中有體現(xiàn)嗎?小頂堆排序時間復雜度是多少

  • set底層數(shù)據(jù)結(jié)構(gòu)是啥,具體是怎么實現(xiàn)的?

  • 紅黑樹,如果用一句話概括最主要的特點,該怎么總結(jié)

  • B+樹與B樹的區(qū)別

算法:

深拷貝二叉樹


三面:

  • 項目架構(gòu)圖畫一下 gone與其他第三方組件框架的關系是怎樣的?

  • 講講Java內(nèi)存模型JMM happen-before原則說一下

  • 講講Java 鎖的實現(xiàn)以及原理

  • synchronize鎖升級的過程,對象頭包含哪些東西,輕量級鎖 偏向鎖 markword中存放的到底是什么?

  • 重量級鎖會有系統(tǒng)調(diào)用嗎?

  • AQS 里面stat和隊列分別存放的什么東西?

  • 一條SQL執(zhí)行過程是什么?

  • 索引為什么要用B+樹,B+樹和B樹有什么區(qū)別?B+樹為什么只在葉子節(jié)點上存數(shù)據(jù)

  • 畫一個索引的底層數(shù)據(jù)結(jié)構(gòu),畫一個三層高的B+樹

  • MVCC機制原理

  • MYSQL怎樣解決select for update,select in share mode的幻讀問題

  • spring事務傳播級別 nested內(nèi)部如果拋出異常會怎樣,外部拋出異常會怎樣? 具體事例,f1 f2 調(diào)用 哪些會回滾 哪些不會回滾

算法:

  1. 求樹的高度(遞歸寫的,時間用的很短,給了第二道題)
  2. 非遞歸寫樹的后序遍歷

四面:

  • 聊項目

  • JDK版本是什么? 有沒有了解過JDK 9 11 的新特性

  • 線上垃圾處理器是什么 ?

  • G1與CMS有什么區(qū)別

  • 因為線上問題,需要調(diào)整JVM參數(shù)的情況有沒有?

  • 線上CPU100%,怎樣排查

  • jstack定位線程問題的時候,怎樣去分析?

  • 線程有哪些狀態(tài) 什么時候會是blocked狀態(tài)?

  • hashMap底層原理?

  • set的底層數(shù)據(jù)結(jié)構(gòu)

  • 項目中比較有挑戰(zhàn)的地方是什么?

算法:

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

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