今日頭條研發面經
今日頭條研發面經
本文首發於微信公眾號:程式設計師江湖
今日頭條上海
後臺開發工程師
今日頭條
後端研發工程師
找牛客大佬要了白金碼,跳過死亡筆試,直接視訊面,從3點開始,斷斷續續到晚上8點結束。
每個面試官給我的感覺都是怎麼這麼高冷啊。
1一面
一面:
1 寫一個題,找一個無序陣列的中位數
2 寫了個快排,然後讓我找到無序陣列第k大的一個數,我說先排序再找,實際上可以用快排的partition函式。
3 快排的時間複雜度,最壞情況呢,最好情況呢,堆排序的時間複雜度呢,建堆的複雜度是多少,nlgn。
4 作業系統瞭解麼,Linux和windows
5 說說Linux的磁碟管理,一臉懵逼
6 Linux有哪些程式通訊方式,五大件
7 Linux的共享記憶體如何實現,大概說了一下。
8 共享記憶體實現的具體步驟,我說沒用過
9 socket網路程式設計,說一下TCP的三次握手和四次揮手,中間網路不好,面試官都沒聽清楚,很尷尬
10 跳過網路,問了專案的一些東西
11 問我如何把docker講的很清楚,我從物理機,虛擬機器到容器具體實現稍微說了下。
12 問我cgroup在linux的具體實現,不會。
13 多執行緒用過哪些,chm和countdownlatch在實習用過
14 不得不吐槽下今天牛客的視訊網速,不知道啥原因卡的一比,明明下載網速很正常啊,牛客視訊每秒才20k。。瘋狂掉線搞得很蛋疼。
二面:
1 自我介紹
2 Java的集合類哪些是執行緒安全
3 分別說說這些集合類,hashmap怎麼實現的,扯了很多
4 MySQL索引的實現,innodb的索引,b+樹索引是怎麼實現的,為什麼用b+樹做索引節點,一個節點存了多少資料,怎麼規定大小,與磁碟頁對應。
5 MySQL的事務隔離級別,分別解決什麼問題。
6 Redis瞭解麼,如果Redis有1億個key,使用keys命令是否會影響線上服務,我說會,因為是單執行緒模型,可以部署多個節點。
7 問我知不知道有一條命令可以實現上面這個功能。不知道
8 Redis的持久化方式,aod和rdb,具體怎麼實現,追加日誌和備份檔案,底層實現原理的話知道麼,不清楚。
9 Redis的list是怎麼實現的,我說用ziplist+quicklist實現的,ziplist壓縮空間,quicklist實現連結串列。
10 sortedset怎麼實現的,使用dict+skiplist實現的,問我skiplist的資料結構,大概說了下是個實現簡單的快速查詢結構。
11 瞭解什麼訊息佇列,rmq和kafka,沒細問
12 寫題時間到。第一題:寫一個層序遍歷。
13 第二題:寫一個插入樹節點到一顆排序樹的插入方法,使用遞迴方式找到插入位置即可。
14 第三題:一個有向圖用鄰接矩陣表示,並且是有權圖,現在問怎麼判斷圖中有沒有環。
15 我說直接dfs走到原點即為有環,剛開始寫的時候我又問了一嘴是不是隻要找到一個就行,面試官說是的,然後我說這樣應該用bfs,有一次訪問到原節點就是有環了。
16面試官問我不用遞迴能不能做這個題,其實我都還沒開始寫。然後我就說沒有思路,他提示我拓撲圖。我沒明白拓撲圖能帶來什麼好處。現在一想,好像當訪問過程中找不到下一個節點時就說明有環。做一個訪問標記應該就可以。
17 第四題:一個二叉樹,找到二叉樹中最長的一條路徑。
我先用求樹高的方式求出了根節點的左右子樹高度,加起來便是。
18 然後面試官提示需要考慮某個子樹深度特別大的情況,於是我用遍歷的方式重新整理最大值,用上面那個方法遍歷完整個樹即可。
19 面試官說複雜度比較高,但是由於時間問題就說結束了。
三面:
三面的面試官真的高冷啊,不苟言笑就算了,我問他問他他都不愛搭理的,搞得我內心慌得一比,感覺涼涼。
1 介紹一下專案
2 你談到的併發技術,chm和countdownlatch怎麼使用的
3 為什麼要這麼處理,使用執行緒池是不是也可以。我說也可以
4 作業系統的程式通訊方式,殭屍程式和孤兒程式是什麼,如何避免殭屍程式,我說讓父程式顯示通知,那父程式怎麼知道子程式結束了,答不會。
5 計算機網路TCP和UDP有什麼區別,為什麼迅雷下載是基於UDP的,我說FTP是基於TCP,而迅雷是p2p不需要TCP那麼可靠的傳輸保證。
6 他說不對,我說是不是因為要建立連線,開銷比較大,他說不對
7 我說p2p的傳送節點很多,所以不是那麼需要各種傳輸保證,他說不對。
8 我說TCP會自動分包而TCP可以自己定義資料長度。。他還是說不對。
最後他說算了。我們問下一個吧。
9 作業系統的死鎖必要條件,如何避免死鎖。
10 寫一個LRU的快取,需要完成超時淘汰和LRU淘汰。
我說用lhm行不行,他說用linkedlist和hashmap可以。
於是我就寫了put和get函式,進行了隊頭隊尾操作。
他說get複雜度會不會太高,我瞎掰了半天沒找到辦法,他說那就這樣吧,今天面試到這。
11 媽蛋,過期淘汰的處理我還沒寫呢,你就說結束了,感覺涼了啊,我說我要不要把剩下邏輯下完,他說不用,心涼了一大截~
12 然後HR小姐姐讓我等結果了。溜了溜了
▼更多精彩內容
更多校招乾貨請關注公眾號:程式設計師江湖。
相關文章
- 半年工作經驗今日頭條和美團面試題面經分享面試題
- 今日頭條Android面試Android面試
- 手記 《半年工作經驗今日頭條和美團面試題面經分享》面試題
- 【今日頭條】深圳研發中心招聘資訊(動態更新)
- 記一次今日頭條面試面試
- 今日頭條實習面試題解析面試題
- 頭條Android客戶端開發面經分享Android客戶端
- 2018春招科大訊飛,華為,今日頭條面經 | 掘金技術徵文
- 今日頭條極速版和今日頭條有什麼區別?
- [北京]今日頭條招聘Golang開發工程師Golang工程師
- 鬥魚研發面經
- 今日頭條:2018今日頭條兩會閱讀大資料(附下載)大資料
- java程式設計師最難面試之“今日頭條”Java程式設計師面試
- 模仿今日頭條app開發遇到的問題APP
- thinkphp仿今日頭條原始碼PHP原始碼
- 百度研發面經
- 今日頭條怎麼設定黑色背景?今日頭條app開啟深色模式的技巧APP模式
- 今日頭條上央視新聞 很快今日頭條回應廣告“二跳”事件事件
- 2020最新春招面經!今日頭條28koffer已到手,分享下我的學習集合
- 今日頭條怎麼賺錢?頭條號的賺錢思路
- 今日頭條招聘golang開發--薪酬 30-70kGolang
- 今日頭條 Flutter 架構實踐Flutter架構
- 今日頭條技術架構分析架構
- 今日頭條正式釋出小程式
- 【今日頭條】校招內推碼
- 「前端面試題系列1」今日頭條 面試題和思路解析前端面試題
- 2020年開春最新面試!今日頭條 Android 面試題及答案 (已拿到 offer)Android面試題
- 我的2019校招面經大全(包含BAT頭條網易等大廠面經)BAT
- 巨量引擎:今日頭條人群洞察報告
- 今日頭條的小遊戲戰術遊戲
- React實戰篇(React仿今日頭條)React
- 用Python爬下今日頭條所有美女,美滋滋!Python
- Java工程師研發面經大合集Java工程師
- 朝夕光年——今日頭條的“遊戲據點”遊戲
- android 今日頭條的螢幕適配理解Android
- 【今日頭條】高薪誠聘 架構 / 後端高薪架構後端
- RSS推送技術——打造自己的今日頭條
- 今日頭條:iOS 架構設計雜談iOS架構