#騰訊# #騰訊求職進展匯總# #騰訊2025實習生招聘# #計算機# #Java# 貼主會更新每一個面試的面經(jīng),可以點進貼主主頁查看其他面經(jīng)(都會寫的詳細),可以關注我獲得最新面經(jīng)通知??偨Y基本純八股,基本沒有問項目,算法兩道貼主的第一次面試(3.11圖里是3.10是因為延后了一天),全程十分的緊張。首先面試官讓自我介紹,應該是想從我的的介紹里引出問題,可是過于緊張只介紹了自己目前的大學大三的一名軟件工程學生,沒有談到任何項目和獲獎經(jīng)歷,面試官聽完我講完愣了一下,才開始轉(zhuǎn)入面試1.現(xiàn)在主推語言(先說大二Cpp,大三做項目轉(zhuǎn)Java)2.介紹一下java中的集合(先緊張卡殼了一下,然后講了Collection和Map兩方面,講到Map的時候面試官繼續(xù)發(fā)問)3.說到HashMap,他是線程安全的嗎?(回答不是,然后說有CurrentHashMap有線程安全)4.CurrentHashMap怎么保證線程安全(回答使用了分段鎖,介紹了分段鎖機制)5.那除了你剛剛說的CurrentHashMap還有什么方法保證HashMap線程安全(又答了個synchronizedMap,也是通過鎖的機制保證線程安全)6.那還有使得HashMap線程安全的其他方法嗎(沒答上來)7.那CurrentHashMap相比于synchronizedMap,通過不同的加鎖方式,哪一個性能更好(這我不知道也沒答上來)8.HashMap怎么解決沖突(細說了拉鏈法解決哈希沖突,提到了哈希表變大之后會變成紅黑樹存儲)9.紅黑樹應用于哈希表性能好在哪里?(我從時間復雜度上解釋O(logn)優(yōu)于O(n))10.還有其他的解決哈希沖突的方式嗎?(想起來有線性探測法,但是說不出詳細的)11.查看簡歷后詢問mysql包含哪些索引(組件索引,普通索引,唯一索引,全文索引,然后說了下索引工作方式)12.mysql常見存儲引擎(InnoDB,介紹了innoDB的機制)13.InnoDB的底層數(shù)據(jù)結構(B+樹,說了B+樹的結構)14.為什么不用B樹呢?(先說B+樹相對于B樹的優(yōu)點,其中提到使用B+樹磁盤讀寫性能更高)15.怎么使得讀寫性能更高?(從B+樹存儲和查找原理入手,B+樹葉子結點存儲數(shù)據(jù),非葉子結點存儲索引,從而使得每個節(jié)點存儲更多索引信息,降低樹的高度,B+樹進行查找路徑更短,所以磁盤讀寫操作更少)16.詳細講講為什么范圍查找性能更好?(從B+樹節(jié)點有序相連入手,葉子結點通過指針相連形成有序鏈表,使得查詢一旦找到要查的的范圍起始點,就可以沿著鏈表順序快速訪問,而且B+樹結構非常適合二分查找,相對的時間復雜度會更低)17.說B+樹的時候提到了Redis也應用了有類似于B+樹優(yōu)勢的數(shù)據(jù)結構,面試官直接抓住發(fā)問Redis使用情況(講了項目里對Redis的使用)18.Redis常用的數(shù)據(jù)結構(String項目里用來存儲用戶信息,set項目里使用來管理帖子贊踩以及并集管理共同關注,還有l(wèi)ist和sorted set)19.那Redis里的Hash你有用過嗎?(又是Hash,這部分我背的不熟,老實交代用的不熟練)20.Sorted Set的底層數(shù)據(jù)機構是什么?(先想起來有一個跳表,面試關追問還有嗎,想了很久說壓縮鏈表,并說只知道名字,不知道具體實現(xiàn),因為我前面說到的都細致解釋了)21.問Redis持久化機制(回答兩種,RDB持久化和AOF持久化)22.馬上詢問RDB底層的運行原理和具體執(zhí)行(說了自動配置和手動配置,提到BGSAVE)23.追問BGSAVE具體執(zhí)行(老實交代只記得這個命令,對底層執(zhí)行還不清楚)24.開始問計網(wǎng),TCP和UDP(細說了TCP的三次握手和四次揮手和UDP傳輸快但是不可靠)25.TCP的頭部結構說一下(開始按順序說TCP的頭部存儲的不同參數(shù))26.那頭部里的校驗和占多少位?(16位)27.http中403錯誤碼什么含義?(禁止訪問,服務器拒絕客戶端發(fā)送的請求,權限或者資源問題)手撕算法,面試官調(diào)試騰訊會議上面的ide,調(diào)試了五分鐘沒搞好,讓我自己直接在自己的ide上寫十五分鐘內(nèi)完成快速排序和二叉樹中序遍歷用c++寫,二叉樹寫的時候被要求不能用遞歸要用迭代法算法都不難,但是因為沒有騰訊會議上的輸入樣例提示,面試官也沒說具體的輸入樣例核心邏輯很快就寫好了,但是樣例的輸入尤其是二叉樹那里一時沒處理好(向輸入前序然后輸出后序來著)到時候面試官上來說因為沒有在騰訊會議上寫,就不要求運行寫輸入樣例了,要求我細說兩個算法的邏輯即可28.快速排序——經(jīng)典的分治算法,尋找一個基準數(shù),將小于他的排左邊,大于他的排在右邊,然后遞歸處理左右兩邊29.快排穩(wěn)定嗎?(不穩(wěn)定)30.細說快排不穩(wěn)定的原因(依賴于交換操作,可能導致數(shù)值相等的元素排序后相對位置發(fā)生變化)31.說幾個穩(wěn)定的排序算法(冒泡排序、插入排序、歸并排序)32.二叉樹中序遍歷——利用棧模擬遞歸過程,首先將根節(jié)點以及其左子節(jié)點一次入棧知道左節(jié)點為空,然后彈出棧頂節(jié)點,再將右子節(jié)點作為新的根節(jié)點,重復這個過程到時間了,讓我反問,不知道說什么,就問面試官,這是我的第一次面試,您認為我的表現(xiàn)如何,面試官官方回答:”我只是如實的記錄你的面試表現(xiàn)然后把檔案給上面的leader進行橫向評估,這不由我說了算而由leader說了算?!耙膊恢肋@樣反問穩(wěn)不穩(wěn)妥,說出去的時候其實就有點后悔了,然后向面試官道謝,面試結束。