天天看點

2018秋招面經:鬥魚、滴滴、百度、美團、小米、騰訊

一、鬥魚(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)

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的了解

還有一些忘了

初試二面:

2、項目

3、模拟退火算法,爬山算法,應用場景。。

4、tcp udp,udp的各種應用場景,udp如何實作可靠傳輸

5、syn攻擊

6、黑客怎麼越過防火牆,對防火牆内部計算機進行攻擊

7、設計餐館的資料庫,需要幾張表

8、stl有哪些優缺點 為什麼有時候很慢

9、設計模式,觀察者模式

10、堆排的實作

11、聊了下個人情況

複試一面:

2、socket11種狀态,詳細介紹

3、阻塞與非阻塞

4、同步與異步

5、connect可以異步嗎?

6、如何看待上層應用程式設計與低層架構程式設計?

7、看什麼書,怎麼學習的

還有一些忘記了

複試二面(hr面)

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

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

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

2、介紹作業系統的段頁式記憶體管理

3、socket三次握手,以及半連接配接的含義,可能出現的問題,以及處理方案

4、寫代碼,正規表達式模式比對

技術二面(35min):

2、模拟退火算法介紹

3、手寫代碼:8*8的網格中,一個皇後選擇一個位置後,她橫豎斜三條直線上都不允許放其他皇後,問放8個皇後有幾種方式

4、設計題,有一個車庫,裡面可以停大車和小車,可以自己拓展需要的資訊(我拓展了計費等服務)

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

技術一面(45min左右):

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)

2、如果有人質疑你非計算機專業的,你會怎麼看

3、學習了哪些課程,怎麼自學

4、家庭情況,職業規劃

5、對我騎行2000km的經曆感興趣,聊了下

6、讓我提問

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

寫在最後

所有公司投遞崗位的都是C++軟體研發工程師/背景研發工程師。截止2017.9.26,确認的有華為、鬥魚、美團、百度。等通知的有騰訊,小米,滴滴。由于已經有一些offer确認,京東、招銀網絡、網易互娛面試沒有去參加了。

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