學(xué)姐沒本事只能寫一份最新6月份大廠面經(jīng)總結(jié)-【尾部附面經(jīng)】

百度一面面經(jīng)
說一下 jvm
說一下 Java 類加載機制
說一下 volatile 關(guān)鍵字
Volatile 怎么保證可見性和有序性的
單例設(shè)計模式里面的懶漢模式的雙重校驗,為什么要用 volatile 修飾,如果不用 volatile 修
飾
多個線程去操作,會有什么問題
說一下線程池吧
說一下 https 怎么保證數(shù)據(jù)的完整性
說一下 redis 的數(shù)據(jù)類型
說一下 redis 的持久化
Rdb 快照會影響目前線程執(zhí)行任務(wù)嘛?(BGSAVE 用子進程操作,不會影響)
說一下 redis 的淘汰策略(LRU):
你知道 redis 的 lru 怎么實現(xiàn)的嘛?(不太會)
普通的 LRU 底層,雙向鏈表+hashmap
算法題:旋轉(zhuǎn)數(shù)組找最小值
將一個鏈表向右旋轉(zhuǎn) k 個數(shù)
百度二面面經(jīng):
1、說一下 Java 的特性,封裝繼承多態(tài),多態(tài)是什么?
2、說一下 jvm 的內(nèi)存模型,垃圾回收
3、redis 怎么設(shè)置分布式鎖
4、說一下數(shù)據(jù)庫索引
5、說一下 redis 和 mysql 的區(qū)別
6、redis 為什么快
7、Java 的鎖的實現(xiàn)方式
8、TCP 和 UDP 的區(qū)別,TCP 三次握手
9、說一下 DNS 解析服務(wù)
10、我們現(xiàn)在的視頻是采用什么協(xié)議進行傳輸?shù)?nbsp;
11、HTTP 是無狀態(tài)的,怎么保持他的狀態(tài)
12、說一下排序算法,1T 文件怎么排序,
13、大頂堆或者小頂堆的插入時間復(fù)雜度是多少
14、10 億個數(shù)字找最大的 500 個(建立一個容量為 500 的小頂堆,每次來一個數(shù)字與堆頂
的數(shù)字比較,如果比他小,就不要,否則就插入)
說一下四次揮手
說一下滑動窗口
短連接和長連接了解嗎?

蘑菇街后臺開發(fā)崗社招面筋
1.自我介紹。
2.你熟悉哪些。答:java 語言,spring 系列框架運用,mysql,hbase,redis,kafka等。
4.說一說mysql兩種存儲引擎,談了鎖,存儲結(jié)構(gòu),索引等區(qū)別。談一下數(shù)據(jù)庫事務(wù),答了ACID,讓我再詳細說下這幾個概念。追問mvcc,間隙鎖。問了一個關(guān)于間隙鎖的問題,
5.講一下你對Redis的了解,談了數(shù)據(jù)類型,使用場景,跳表,項目中咋用的。追問RDB,AOF區(qū)別,談了RDB 保存一段時間內(nèi)的數(shù)據(jù),子進程完成操作。AOF記錄操作命令。追問
6.說說你對java 集合的了解,JUC里面的類,講了semaphore,cyclicBarrier,countDownLatch的使用場景與區(qū)別。追問底層怎么實現(xiàn),講了一下AQS,追問再細致點,
7.map 如何解決沖突,1.7,1.8區(qū)別,講講put源碼。
8.tcp,擁塞控制,講了一下慢開始,擁塞避免(乘法減小,加法增大),追問詳細解釋一下乘法減小,加法增大。
9.講一下udp。追問怎么讓udp像tcp一樣可靠,尷尬地一批說了這個不了解,躺好了。
10.說一下kafka分區(qū)設(shè)置,怎么持久化的,怎么確定向哪一個分區(qū)寫消息,為什么快(答零拷貝,只需一次用戶態(tài)與內(nèi)核態(tài)切換,扯了一點用戶態(tài)和內(nèi)核態(tài)的東西,追問再詳細地說一
下)。
11.kafka 消息冪等性怎么做呢,offset批量提交如何做的。我說手動批量提交的,他說那萬一有一個消息沒有持久化成功怎么辦。
12.講一哈spring,談了ioc,aop,jdk動態(tài)代理和cglib,反射,spring中用到的設(shè)計模式。
13.項目相關(guān),自己講了一堆項目場景,難點,如何解決。
14.反問環(huán)節(jié),蘑菇街月活,和小紅書區(qū)別,你覺得蘑菇街前景怎么樣。

騰訊軟開面經(jīng)(社招)
一面
1、mysql索引結(jié)構(gòu)?
2、redis持久化策略?
(1)RDB:快照形式是直接把內(nèi)存中的數(shù)據(jù)保存到一個dump的文件中,定時保存,保存策略。
當(dāng)Redis 需要做持久化時,Redis會fork一個子進程,子進程將數(shù)據(jù)寫到磁盤上一個臨時RDB
文件中。當(dāng)子進程完成寫臨時文件后,將原來的RDB替換掉。
(2)AOF:把所有的對Redis的服務(wù)器進行修改的命令都存到一個文件里,命令的集合。使用
AOF做持久化,每一個寫命令都通過write函數(shù)追加到appendonly.aof 中。aof的默認策略是
每秒鐘fsync一次,在這種配置下,就算發(fā)生故障停機,也最多丟失一秒鐘的數(shù)據(jù)。缺點
是對于相同的數(shù)據(jù)集來說,AOF的文件體積通常要大于RDB文件的體積。根據(jù)所使用的fsync
策略,AOF的速度可能會慢于RDB。Redis默認是快照RDB的持久化方式。
3、zookeeper節(jié)點類型說一下;
4、zookeeper選舉機制?
5、zookeeper主節(jié)點故障,如何重新選舉?
6、syn機制?
7、線程池的核心參數(shù);
8、threadlocal的實現(xiàn),原理,業(yè)務(wù)用來做什么?
9、spring di的原理;
10、四次揮手;
11、gcroot選擇;
12、標(biāo)記清除算法的過程,標(biāo)記清楚算法如何給對象分配內(nèi)存空間?
13、cms算法的缺點;
二面
1、correnthashmap?
2、threadlocal原理?
3、hashmap;
4、Java數(shù)據(jù)類型,同步機制;
5、講講貪心算法;
6、如果線上用戶出現(xiàn)502錯誤你怎么排查?
7、并發(fā)量很大,服務(wù)器宕機。你會怎么做?
三面
1、syn和lock的區(qū)別,哪個更好?怎么選擇?
2、hashmap源碼,為什么8個節(jié)點變成紅黑樹又為什么到了6個節(jié)點才恢復(fù)為鏈表?
3、緩存穿透,怎么解決?
4、負載均衡算法,實現(xiàn);
5、輪詢和隨機的缺點;
6、分布式服務(wù)治理;
7、dns迭代和遞歸的區(qū)別;
8、算法題:最長回文串;這道牛客題霸上有原題,大家可以去看看:NC17最長回文串
9、為什么連接的時候是三次握手,關(guān)閉的時候卻是四次握手?
因為當(dāng)Server端收到Client端的SYN連接請求報文后,可以直接發(fā)送SYN+ACK報文。其中ACK 報文是用來應(yīng)答的,SYN報文是用來同步的。但是關(guān)閉連接時,當(dāng)Server端收到
FIN報文時,很可能并不會立即關(guān)閉SOCKET,所以只能先回復(fù)一個ACK報文,告訴Client
端,"你發(fā)的FIN 報文我收到了"。只有等到我Server端所有的報文都發(fā)送完了,我才能發(fā)送
FIN 報文,因此不能一起發(fā)送。故需要四步握手。


獲取往期以上更多最新面試題資料,直接轉(zhuǎn)發(fā)一下這篇文章+關(guān)注公眾號【Java爛豬皮】關(guān)注后回復(fù)【666】即可獲取哦~

騰訊、阿里、滴滴后臺面試題匯總總結(jié) — (含答案)
面試:史上最全多線程面試題 !
最新阿里內(nèi)推Java后端面試題
JVM難學(xué)?那是因為你沒認真看完這篇文章

關(guān)注作者微信公眾號 —《JAVA爛豬皮》
了解更多java后端架構(gòu)知識以及最新面試寶典


看完本文記得給作者點贊+在看哦~~~大家的支持,是作者源源不斷出文的動力
