2018秋招面經:鬥魚、滴滴、百度、美團、小米、騰訊(全offer)|掘金技術徵文

whiz發表於2017-09-27

一、鬥魚(9.8,現場筆試+技術面+hr面)

現場筆試:(題目比較基礎)

1、十幾道C++基礎簡答題或改錯題
2、一道字串分割的演算法題
3、一道string類的實現
4、一道快排的實現

鬥魚技術面:(2h+,其實就是將筆試題從上往下問,並且做很多擴充和延伸,記錄一些我有印象的)

1、c++多型的種類、C語言的多型怎麼實現
2、struct與類的區別
3、union和struct的區別,union如何知道當前使用的是哪一個元素,如何設計
4、vector和map刪除時,迭代器失效如何解決
5、執行緒安全的單例模式(注意volatile和double-check)
6、排序時衡量效能的標準
7、複雜的位元組對齊計算(需要分32位和64位討論,但兩種系統最終結果相同,pragma pack 1的應用場景(節省空間,公司統一標準)?
8、使用者有兩個程式,分別執行while(1){},系統如何切換(時鐘中斷,進一步延伸到內中斷,外中斷)
9、專案中有用到模擬退火演算法,讓我講了下思路與實現
10、虛擬函式的實現

hr面:(0.5h)

1、個人情況
2、家庭情況
3、手上offer情況
4、發展規劃

二、 滴滴(9.12,3技術+1hr面)

技術一面(50min+, 只記錄一些有印象的):

1、專案
2、B+樹、B-樹的區別
3、資料庫隔離級別,幻讀和不可重複讀的區別
4、有hell, well, hello, world等字串組,現在問能否拼接成helloworld,程式碼實現
5、快排
6、執行緒安全的單例模式

技術二面(1h15min, 純懟演算法和智力題,好難):

1、25匹馬賽跑,有一個賽場,只有五個賽道,沒有計時器,只能通過目測來記錄快慢,求出求3快的馬要多少場比賽?
2、kmp演算法next陣列的求解思路
3、陣列中有三個數字出現超過3/4,求著三個數字
4、1到n+2個陣列中缺了兩個數,如何用O(n)時間,O(1)空間找到這兩個數字
5、一條線段長為1,隨機選兩個點,將改線段分為三段,三段能成三角形的概率是多少?
6、有一個教授,他三個學生,腦袋背後分別各寫了一個數字,其中一個數字是另外兩個數字的和,經過幾輪後,有一個學生猜出了自己的數字請問是什麼原因?
7、B+樹做索引時,B+樹通常高度為多少層?要參考哪些條件?

技術三面:(40min)

1、問我喜歡什麼運動,說籃球,聊了籃球和工作,大概近10分鐘,後來知道面試官以前是校隊,校賽拿mvp的大神,怪不得問我拿過什麼籃球的榮譽
2、一個3L的杯子,一個5L的杯子,如何倒出4L的水,要求兩種方法
3、情景題:週一領導佈置任務,週五完成,週三發現完成不了,你會怎麼處理
4、對BAT三家的看法,現在看好誰
5、介意學機器學習嗎?(怎麼可能介意,求之不得)
6、問我有什麼問題要問(我說這不是技術面嗎?怎麼沒怎麼問技術,結果面試官加了第七題)
7、二維陣列行優先讀取和列優先讀取哪個快,從作業系統層面解釋(從減少缺頁中斷的角度出發即可)

hr面(都大同小異)

三、百度(9.17/9.19, 三輪技術面,沒有hr面)

技術一面(1.5h,面試官平時是負責終面的boss,聊的不完全是技術,有很多內容記不住了)

1、聊了專案。面試官很感興趣,聊了半個小時
2、作業系統,null指標為什麼不可訪問(涉及到段頁式記憶體管理中,記憶體分配問題)
3、socket syn攻擊原理,超時重傳的次數及時間間隔

技術二面(50min)

1、專案
2、select/poll/epoll
3、執行緒池
4、ipc,以及共享記憶體使用的時候需要注意什麼
5、手寫程式碼,題目記不清了

技術三面(電話面35min左右)

1、簡歷細細過一遍
2、cat file | grep x 建立幾個程式 他們是什麼關係
3、父子程式間,子程式退出後會發生什麼
4、如果父程式不需要捕獲子程式退出訊息怎麼辦
5、pcb包括什麼
6、有一個檔案,每一行都有一個IP範圍,以及對應城市。你需要檢測,同一個城市的IP是否衝突。不同的城市IP相同不算衝突。
7、未來的打算,自我評價,職業生涯規劃

四、美團(9.19/9.21)

初試一面

1、自我介紹
2、專案(問的很深)
3、資料庫實現原理 B+樹 B-樹區別
4、資料庫索引種類
5、介面響應時間由20 ms偶發提高到1000ms可能是什麼原因
6、左聯結,右聯結,資料庫隔離級別
7、陣列中找出和為target的兩個數的位置
8、Linux命令
9、對Java的瞭解
還有一些忘了

初試二面:

1、自我介紹
2、專案
3、模擬退火演算法,爬山演算法,應用場景。。
4、tcp udp,udp的各種應用場景,udp如何實現可靠傳輸
5、syn攻擊
6、黑客怎麼越過防火牆,對防火牆內部計算機進行攻擊
7、設計餐館的資料庫,需要幾張表
8、stl有哪些優缺點 為什麼有時候很慢
9、設計模式,觀察者模式
10、堆排的實現
11、聊了下個人情況

複試一面:

1、自我介紹
2、socket11種狀態,詳細介紹
3、阻塞與非阻塞
4、同步與非同步
5、connect可以非同步嗎?
6、如何看待上層應用程式設計與低層架構程式設計?
7、看什麼書,怎麼學習的
還有一些忘記了

複試二面(hr面)

大同小異,不過美團hr給我印象特別好,特別主動介紹了公司的各種情況,好評

五、小米(9.20,只有兩輪技術面)

技術一面(35min, 體驗不好。一個標間裡面試,hr在旁邊整理資料,下一個面試者竟然就在房間看我們面試。。)

1、自我介紹
2、介紹作業系統的段頁式記憶體管理
3、socket三次握手,以及半連線的含義,可能出現的問題,以及處理方案
4、寫程式碼,正規表示式模式匹配

技術二面(35min):

1、自我介紹
2、模擬退火演算法介紹
3、手寫程式碼:8*8的網格中,一個皇后選擇一個位置後,她橫豎斜三條直線上都不允許放其他皇后,問放8個皇后有幾種方式
4、設計題,有一個車庫,裡面可以停大車和小車,可以自己擴充需要的資訊(我擴充了計費等服務)

六、騰訊(9.21/9.23/9.24,兩輪技術面+hr面):

技術一面(45min左右):

1、自我介紹
2、專案
3、程式與執行緒的區別(這裡我說的很細緻)
4、管道一般用途,如何用管道實現非親緣程式間通訊(有名管道)
5、實現memcpy(注意區分pSrc和pDes重疊的情況)
6、環形連結串列檢測,以及入口求解,手推公式
7、智力題:A房間三個開關,控制著B房間三個燈,只允許進一次A,進一次B,如何確定開關與電燈的對應情況
8、問其他offer情況

技術二面(45min左右):

1、最滿意的專案,詳細介紹
2、手寫程式碼:有一個數字N,由1,2,3,4四種數字組成,請問怎麼調整其順序,可以使其整除7
3、手寫程式碼:map中,刪除key值為素數的元素,
4、socket中,緩衝區只有2k,要接受4k的資料,怎麼處理,程式碼實現
5、linux裡ipc有哪些

hr面(18min)

1、自我介紹
2、如果有人質疑你非計算機專業的,你會怎麼看
3、學習了哪些課程,怎麼自學
4、家庭情況,職業規劃
5、對我騎行2000km的經歷感興趣,聊了下
6、讓我提問

七、華為(華為暑期實習生,只參加了實習答辯)

寫在最後

所有公司投遞崗位的都是C++軟體研發工程師/後臺研發工程師。截止2017.9.26,確認的有華為、鬥魚、美團、百度。等通知的有騰訊,小米,滴滴。由於已經有一些offer確認,京東、招銀網路、網易互娛面試沒有去參加了。附自己部落格地址,裡面有我整理的一些基礎知識和麵試題,個人覺得應該對大家有所幫助:www.jianshu.com/u/2dab0cda8…

本人非計算機專業出身,讀研階段才開始接觸程式設計,不過讀研期間付出了比別人更多的努力。因此,付出總會有回報的,希望大家也繼續努力,也預祝找工作的同學也都能拿到滿意offer,加油!

2017.9.27 更新:已收騰訊sp,決定去鵝廠了~

附掘金秋招徵文大賽連結

相關文章