頭條後端實習面經(抖音)
12月中旬群裡有學長問要不要內推頭條,想著試一試看看自己什麼水平就投了。
12月26號簡歷評估通過,一直到1月2號打電話約面試,當時已經拿了另一家二線大廠的offer,就想跟學長說還是下次再投頭條了,哪知道太巧了剛說完hr就給我打電話了,想著試試就約了面試。
過了兩天一面電話面,問的有Java基礎、多執行緒和一些比較簡單的資料結構
1. 執行緒和程序的區別(真的必考)
2. ThreadLocal
3. 四種引用型別
4. volatile的作用和原理
5. juc裡的鎖
6. atomic包裡的一些問題
7. 二叉樹的先序遍歷,層序遍歷的實現
8. 用棧實現佇列
9. 包括max函式的棧
一面問的比較簡單,我答得還湊合,很快就約二面了,當時hr聽說我要期末考試,要給我延後面試,感覺人非常nice 1月14號下午約的視訊面,面了三輪技術面
第一輪(有一些不太記得了):
1.簡述TCP的三次握手,為什麼要三次握手?
2.TCP的擁塞控制
3.redis分片,客戶端的請求怎麼處理
4.HTTP的一些問題
5.HashMap的擴容
6.SpringBoot的註解
7.Semaphore訊號量用來做什麼的
8.有沒有用過一些訊息中介軟體
9.手寫程式碼,滑動視窗的最大值
第二輪:
1.瀏覽器輸入url請求伺服器的過程,分析其中哪些部分用到快取
2.講一下CDN
3.cookie用來做什麼的
4.作業系統的記憶體管理
5.分頁式的頁表放在哪
6.程序的PCB裡還有哪些東西
7.linux指令碼,殺掉包含一個關鍵字的所有程序
8.linux I/O模型,說說select和epoll的區別
9.HTTP的過程
10.HTTP的一些細節
11.HTTPS怎麼建立請求
12.redis的一些問題,我說我理解的不深就沒問深了
13.mysql的索引,最左匹配原則
14.mysql的主從
15.B+樹和B樹的區別
16.簡述紅黑樹
17.對分散式的一些理解
18.手寫程式碼,找一個n*n矩陣中的最長上升序列
第三輪(應該是部門leader) :
1.又問了瀏覽器輸入url請求伺服器的過程
2.SpringBoot的一些問題
3.Mybatis裡的動態代理
4.主要問專案的一些問題
5.智力題:島上每個人都帶著帽子,顏色為紅色或白色,不能相互問,當知道自己帽子的顏色時就可以離開。
某天一個外來人來了,說了句:“紅色的帽子至少有一頂。”,問之後島上人們的離開情況
6.問了一下平常除了上課都怎麼學習的
7.有什麼要問他的,問了下部門的業務(抖音相關)
一下午面完,過了一個小時hr就聯絡我說跟面試官溝通一下,然後過了一會就打電話來談offer了,雖然已經拿了一個大廠,但是過了宇宙條還是很興奮的。
總結:
頭條看重基礎(大廠都看重),問我的演算法題都不難,剛考完期末太浪了所以狀態不太好,手寫程式碼雖然思路對但是都有小問題。
面試給面試官呈現的態度非常重要,有些比較難的問題可能一時想不出來,但是一定要思考不能因為不會就逃避,可以一步一步和麵試官交流,思路對也不錯。
本來想著先去二線大廠好好學習,秋招再衝一下BAT頭條,沒想到秋招的目標在春招之前就實現了,屬實運氣好。