剛面完頭條,有點靜不下來,寫一篇面經吧。
等待
講真,頭條這面試時間安排的也太不合理了。一點都沒有規划呀。預約了下午三點的面試,活生生等到了下午五點才開始一面。
一面
- 一上來,自我介紹
- 然后科研項目,巴拉巴拉開始介紹
- 然后做題,第一個題,給定一個數組,找出這個數組中每一個數右邊的第一個比它大的數,比如9 6 5 7 3 2 1 5 9 10,返回的是 10 7 7 9 5 5 5 9 10 N。
- 一上來,用了一個二重循環
- 然后讓改,提示了一下用棧,做出來了
- 第二個題,找出一個數組的中位數,即左邊的數都比它小,右邊的都比它大
- 一上來,用了個優先隊列
- 又讓改,提示了一下用一個輔助數組,做出來了
- 最后問項目
- linux高並發怎么改進
- 一面完!
等待
大概5分鍾左右,hr電話,通知二面。然后開始等待,漫長的等待,從下午六點等到晚上9點。。。
二面
- 一上來,做題,二叉查找樹中,查找與給定數最相近的節點
- 然后項目
- fork, socket 編程,已經細到每個函數的名稱了。
- 然后linux進程通信方式,具體每一個怎么用,然后說出來一個管道的。。
- 項目改進
等待
因為時間太晚了,hr打電話換了一個時間進行后面的面試。后面的等面完了補上
三面
- 一上來,先自我介紹
- 然后設計一個系統。就說一個服務器上面有一個文件,要把這個文件傳給別的服務器,別的服務器數量是成千上萬個,怎么設計這個服務器,使得傳輸的時間最小,或者說系統吞吐量最大。然后就這個問題問了好久
- 排序算法,各種排序算法的適用場景
- TCP三次握手
- Redis的底層數據結構的實現
- 數據庫中事務的概念
- 閑聊
總結
- 除了等的時間長之外,今日頭條的面試官人是真的很Nice!
- 早上11點過面完三面,中午1點鍾接到hr電話,表示通過了。至於offer是否有得根據總的情況來看。不過有了一個校招直通終面的機會。