一面
-
問的設(shè)計題偏多
-
Redis 緩存熱點數(shù)據(jù) 熱點數(shù)據(jù)指的是什么?
-
Redis緩存數(shù)據(jù)量關(guān)注過嗎鳄抒?
-
如果全部緩存到Redis里会宪,是怎樣的一個量級
-
Redis是否提供了完整的監(jiān)控界面
-
產(chǎn)品有個需求箱残,需要看客戶端的可用性 求妹,并不是打到后端的可用性,該怎樣設(shè)計汹忠?
前端埋點淋硝, 服務(wù)端要接收到前端的埋點數(shù)據(jù)。 -
前端如何把數(shù)據(jù)傳輸給后端宽菜,后端暴露一個接口谣膳,
-
如果前端失敗的埋點因為網(wǎng)絡(luò)原因,未能傳輸給后端铅乡,這種該怎么解決继谚?
-
Guava令牌桶限流 ,除了限流 還有其他的功能了解嗎隆判。
-
數(shù)組和鏈表的實現(xiàn)是什么犬庇?增刪改查分別的時間復(fù)雜度僧界,空間復(fù)雜度
-
HashMap的底層實現(xiàn)侨嘀?
-
什么是紅黑樹?做這種紅黑的目的是什么捂襟?
-
多線程咬腕,項目中的場景是什么?
-
線程池葬荷,countDownLatch 分別是在哪里用的涨共?
-
如果給Jenkins發(fā)送stop 一直沒有stop成功纽帖,異常是怎樣處理的?
-
如果有原子性的要求举反,該怎樣處理
-
跨數(shù)據(jù)源的原子性保證該怎樣實現(xiàn)懊直?分布式事務(wù)
-
有沒有因為性能問題而使用多線程?使用多線程是否一定能提高性能火鼻? 如果是單核CPU室囊,即使起了多線程,也是不同線程上下文切換魁索。會影響性能
-
自定義線程池的參數(shù)融撞,該出于什么考慮來制定各個參數(shù)的?
-
G1垃圾回收器粗蔚。CMS和G1分別適用什么場景尝偎。
-
parallel和G1分別適用什么場景。
Parallel 關(guān)注吞吐量為目標(biāo)的垃圾收集器鹏控,也是server模式下的默認(rèn)收集器配置致扯,對吞吐量的關(guān)注主要體現(xiàn)在年輕代Parallel Scavenge收集器上。
CMS 是以關(guān)注延遲為目標(biāo)牧挣、十分優(yōu)秀的垃圾回收算法急前,開啟后,年輕代使用STW式的并行收集瀑构,老年代回收采用CMS進(jìn)行垃圾回收裆针,對延遲的關(guān)注也主要體現(xiàn)在老年代CMS上。
G1垃圾收集器也是以關(guān)注延遲為目標(biāo)寺晌、服務(wù)器端應(yīng)用的垃圾收集器世吨,被HotSpot團(tuán)隊寄予取代CMS的使命,也是一個非常具有調(diào)優(yōu)潛力的垃圾收集器呻征。雖然G1也有類似CMS的收集動作:初始標(biāo)記耘婚、并發(fā)標(biāo)記、重新標(biāo)記陆赋、清除沐祷、轉(zhuǎn)移回收,并且也以一個串行收集器做擔(dān)保機(jī)制攒岛,但單純地以類似前三種的過程描述顯得并不是很妥當(dāng)赖临。
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)先級隊列的時間復(fù)雜度是多少嘲碱,k的大小在時間復(fù)雜度中有體現(xiàn)嗎?小頂堆排序時間復(fù)雜度是多少
-
set底層數(shù)據(jù)結(jié)構(gòu)是啥局蚀,具體是怎么實現(xiàn)的麦锯?
-
紅黑樹,如果用一句話概括最主要的特點琅绅,該怎么總結(jié)
-
B+樹與B樹的區(qū)別
算法:
深拷貝二叉樹
三面:
-
項目架構(gòu)圖畫一下 gone與其他第三方組件框架的關(guān)系是怎樣的扶欣?
-
講講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機(jī)制原理
-
MYSQL怎樣解決select for update,select in share mode的幻讀問題
-
spring事務(wù)傳播級別 nested內(nèi)部如果拋出異常會怎樣括饶,外部拋出異常會怎樣株茶? 具體事例,f1 f2 調(diào)用 哪些會回滾 哪些不會回滾
算法:
- 求樹的高度(遞歸寫的图焰,時間用的很短启盛,給了第二道題)
- 非遞歸寫樹的后序遍歷
四面:
-
聊項目
-
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)的地方是什么?