位元組跳動後端開發一面 二面 三面

2021-10-09 17:09:27 字數 1815 閱讀 5028

一面(大概50min,忘記錄音了)

二面(47min)

讓我對自己的一面進行乙個評價。

你比較熟悉的語言是c++嗎,感覺自己掌握的怎麼樣?

給了一段**,問能否編譯通過。如果對指標進行++ 操作主要是看什麼?

給了乙個結構體,計算它的大小。

知道為什麼要進行記憶體對齊嗎?那你了解禁止左對齊嗎?

你知道二維陣列按行逐行訪問快還是按列逐列訪問快呢?我大概講了一下然後說你要不再考慮一下?

你對哪些資料結構和stl容器比較熟悉?

你了解 vector 的擴容嗎?vector 的隨機訪問的時間複雜度是多少呢?

說一下stl中的迭代器吧。

看你的記憶體池專案還不錯,那你介紹一下 你為什麼要完成這個專案?

在高併發中應該涉及到加鎖吧?互斥鎖說一下吧。

互斥鎖的初值是啥呢?在對鎖進行++和–是乙個什麼樣子的呢?它的底層的指令是哪些?底層是如何保證是原子操作的呢?

你專案中用到了http協議是吧,為什麼用到了http協議?

那為什麼傳輸層要用tcp協議呢?能不能不用http協議而直接用tcp協議進行資料傳輸?

你了解什麼是訊號量嗎?在**可以用到訊號量?

訊號量用於執行緒間還是程序間?

說一下程序和執行緒的區別?task_struct是啥?每個執行緒都有乙個pcb嗎?

如何查詢乙個目錄下的指定檔案?如果這個目錄下還是有多層級目錄如何查詢這個檔案?

你說一下***用正規表示式是什麼樣子的?(這個沒聽太清楚)你平常沒有用過正規表示式嗎?

乙個大檔案裡面有比較多的ip位址?如何統計前k個ip出現的次數?你這樣做的時間複雜度是多少?

map的底層的資料結構是什麼?時間複雜度是多少?為什麼是o(logn)?

如過那個檔案中有10億個ip位址,並且不能載入到記憶體當中,那麼對上面那個題目進行優化呢?還可以怎麼做?

如果乙個小檔案裡面ip還是出現的次數比較多,仍然不能載入到記憶體當中應該怎麼做呢?

演算法題:列印二叉樹的所有路徑。反問

三面(36min)

自我介紹。

看你做了兩個專案,這兩個專案都是在學校做的嗎?

第乙個記憶體池專案,你是如何解決申請記憶體的效率問題。是通過什麼方案實現的?

你對c++ 比較熟悉是嗎?為什麼感興趣?是因為是學校的課程嗎?

後續你想做哪些方向,是想做底層應用,平台業務還是後台開發?

演算法題①:

島嶼數量

給乙個01矩陣,1代表是陸地,0代表海洋, 如果兩個1相鄰,那麼這兩個1屬於同乙個島。我們只考慮上下左右為相鄰。

島嶼: 相鄰陸地可以組成乙個島嶼(相鄰:上下左右) 判斷島嶼個數。

示例1輸入

[[1,1,0,0,0],[0,1,0,1,1],[0,0,0,1,1],[0,0,0,0,0],[0,0,1,1,1]]輸出3

你知道作業系統中的程序和執行緒有什麼區別嗎?

程序間通訊有哪些方法?

演算法題②:實現乙個快排。

那你 說一下快排的思路吧。

http有哪些狀態碼你知道嗎?404你知道嗎?

get和post的區別是啥?安全性哪個比較好一點?

你有用過什麼資料庫嗎?

mysql有哪些索引你知道嗎?

我看你其實是只想做後端是嗎?(我不就是投遞的是後端開發嗎?一臉懵逼,以為迷路了)

反問,然後給我介紹一下他的部門是幹嘛的。

我們這裡服務端開發主要是以go為主,語言和c++還是比較相似的,你上手的話還可以,服務端的技術棧你下去再了解一下,看你語言還可以。(直到這裡我才知道原來我面試的是服務端崗位,可是我投遞的是後端,面試鏈結顯示的也是後端,hr給我打**來說也是後端。剛開始問我的時候我還乙個勁兒的說我喜歡後端,沒了沒了)

位元組跳動 後端 一面

自我介紹 虛擬記憶體和物理記憶體的區別 聽我說資料庫自學的,就問了問聯合索引相關的,然後就開始問mvcc相關的知識 都答上來了 看你簡歷寫了redis,聊聊它的6個底層資料結構,6個我都說了一點,主要說了雜湊表 解決雜湊衝突,漸進rehash 平常用redis來幹什麼 看過書,沒怎麼用過 介紹ato...

支付寶三面 位元組跳動一面

支付寶是前天晚上9點半我在洗jio的時候 打過來的,足以看出支付寶這邊福報程度,p9大佬這個點還在加班,我吐。而且不預約是螞蟻金服一貫的傳統。這次面試應該也是過了,又面臨著支付寶和阿里金融兩難的選擇境地。1.專案中為什麼要用nginx 用nginx做反向 和負責均衡 2.nginx為什麼可以做負載均...

位元組跳動前端實習一面二面三面至掛掉的面經

本人是北郵大三的小白菜 面試時間在3.31 4.7 4.10 hr跟我說我的缺點是實操太弱,積累少。弱勢很明顯。一二三面都問打了狀態碼的含義,200 301 302 304等都被問到了,而我這方面知道的知識太少,回答起來多少有點問題。所以一定要好好了解常用的狀態碼含義。基礎的演算法能力必須具備,如果...