趨勢(shì)科技、美團(tuán)、小米、網(wǎng)易互娛offer面經(jīng)

前言

經(jīng)過六月到九月這幾個(gè)月的努力,九風(fēng)有幸拿到了趨勢(shì)科技、小米、美團(tuán)、網(wǎng)易互娛的offer,之前看了好多分享的面經(jīng),是時(shí)候該回饋了一波。

先介紹下九風(fēng)的基本情況:在導(dǎo)師的創(chuàng)業(yè)公司待過一年多(沒有課就去公司),做過C++圖像處理、java后臺(tái)開發(fā)、移動(dòng)web開發(fā),由于自己比較水,學(xué)的東西都不深,在7月初離開公司后就猛補(bǔ)基礎(chǔ)知識(shí)點(diǎn)。

艱辛經(jīng)歷

九風(fēng)在校招七月初就開始投簡(jiǎn)歷,沒有統(tǒng)計(jì)過投過多少家,基本把牛客網(wǎng)上的可以投的公司全部投了一遍,投了簡(jiǎn)歷的至少有60家公司;筆試也不知道做了多少了,至少有25家的筆試,最后收到的面試情況:

  • 招銀網(wǎng)絡(luò)科技:電話一面掛;
  • 金山WPS:電話一面過,電話二面掛;
  • CVTE:現(xiàn)場(chǎng)技術(shù)一面掛;
  • 美團(tuán)點(diǎn)評(píng):現(xiàn)場(chǎng)技術(shù)一、二三面、hr面拿到offer;
  • 網(wǎng)易互娛:現(xiàn)場(chǎng)技術(shù)一面、二面拿到offer;
  • 趨勢(shì)科技:現(xiàn)場(chǎng)技術(shù)一面、二面拿到offer;
  • 小米:現(xiàn)場(chǎng)霸面技術(shù)一面、二面拿到offer;
  • 騰訊:現(xiàn)場(chǎng)一面掛;
  • 深信服:和騰訊面試沖突放棄;

其他公司:百度、頭條、京東等這些公司掛在筆試上了,360、搜狐、搜狗、美麗聯(lián)合等直接掛在簡(jiǎn)歷上了;

對(duì)現(xiàn)在的offer情況比較滿意,準(zhǔn)備結(jié)束秋招;先感謝給我offer的面試官,找工作真的是很看運(yùn)氣的,碰到好的面試官會(huì)一步一步引導(dǎo)你,碰到風(fēng)格不搭的面試官那就有點(diǎn)難受了;然后感謝一起找工作的小伙伴們,一起學(xué)習(xí)一起進(jìn)步,多交流面試經(jīng)驗(yàn),少走了很多坑;也謝謝很多牛友分享的面經(jīng);

準(zhǔn)備校招的還是蠻辛苦的,九風(fēng)7月份開始基本都是7:30起來刷編程題刷到8:30吃早點(diǎn)去實(shí)驗(yàn)室準(zhǔn)備其他知識(shí)點(diǎn),中午午休前半小時(shí)刷編程題,晚上回去洗澡后刷編程題到12:30左右睡覺,沒辦法,基礎(chǔ)不行只能靠努力來補(bǔ);由于智商還是不夠用,最后也只把??蜕系膌eetCode題刷完了而已,看了幾遍劍指offer,這兩個(gè)都是神一般的存在,算法題就靠這兩個(gè)。

九風(fēng)想對(duì)小伙伴們說:

  • 心態(tài)很重要:九風(fēng)的offer可以說都在9.22號(hào)這天拿的,在這天之前,我也是一個(gè)offer也沒有,也比較難受,看著一起的小伙伴面試、拿offer,我在9.22之前就在9.18號(hào)現(xiàn)場(chǎng)面了CVTE一家(招銀科技、WPS是電話面的),還一面掛了,當(dāng)時(shí)也是很難受,但是還是要繼續(xù)學(xué)習(xí),畢竟,機(jī)會(huì)是給有準(zhǔn)備的人,如果offer還沒來,那么要么就是適合你的offer還在后面,要么就是還需要繼續(xù)學(xué)習(xí)。擺正心態(tài),厚積薄發(fā)!

  • 多交流:九風(fēng)的實(shí)驗(yàn)在8月底就組織了一系列活動(dòng),基本每天晚上有個(gè)小伙伴來分享,而分享的內(nèi)容沒有限制,面試經(jīng)驗(yàn)、操作系統(tǒng)、hr面如何回答、網(wǎng)絡(luò)知識(shí)、排序算法、實(shí)習(xí)經(jīng)歷、大數(shù)問題解決方法、如何講項(xiàng)目等等,只要和面試有點(diǎn)相關(guān)的都可以,大家一起討論,互補(bǔ)知識(shí)點(diǎn),聽者從面試角度來提問,講者回答,討論知識(shí)點(diǎn)會(huì)從哪些角度來問等等;

  • 補(bǔ)上盲點(diǎn):這一點(diǎn)起始是對(duì)修改簡(jiǎn)歷的建議,九風(fēng)初始版本的簡(jiǎn)歷的技能就是寫自己會(huì)哪些就寫哪些,發(fā)現(xiàn)基本都在掛在簡(jiǎn)歷上;之后看到上一屆師兄們的簡(jiǎn)歷,就專業(yè)技能方面就比我多好多項(xiàng),至少看上去高大上一些;然后九風(fēng)就去騰訊招聘C++開發(fā)工程師的要求直接粘貼到簡(jiǎn)歷上,適當(dāng)修改后感覺簡(jiǎn)歷瞬間高大上了--------好多知識(shí)點(diǎn)都不懂,然后根據(jù)簡(jiǎn)歷上寫的狂補(bǔ)。只要你補(bǔ)上了之后那就不虛了,因?yàn)閷?shí)在不懂的你可以寫個(gè)了解,如果有時(shí)間的話就深入學(xué)習(xí)。

面經(jīng)

  • 金山WPS 時(shí)間九月初,具體時(shí)間忘了,
    電話一面: 過了
  1. 如何檢測(cè)內(nèi)存泄漏
  2. 講講智能指針
  3. C++容器有哪些
  4. list 和 vector有什么區(qū)別
  5. 講講大端小端,如何檢測(cè)
  6. public 和 private 關(guān)鍵字,在繼承中有什么區(qū)別
  7. 設(shè)計(jì)一個(gè)內(nèi)存分配類---參考STL中空間配置器
  8. 現(xiàn)有一個(gè)程序需要申請(qǐng)的地址是要求起始地址必須是16的倍數(shù),如何設(shè)計(jì)----將申請(qǐng)大小上調(diào)至16的倍數(shù),那么最多會(huì)浪費(fèi)15byte空間,真正存儲(chǔ)從16byte倍數(shù)上開始利用。

電話二面: 9.12號(hào), 掛了。 不過這個(gè)要吐槽下,約的2.30, 等到下午5點(diǎn)才打電話過來,等得心累;

  1. TCP三次握手
  2. http狀態(tài)碼,403是什么
  3. http 與 https的區(qū)別
  4. 智能指針,shared_ptr 內(nèi)部實(shí)現(xiàn)
  5. IPC通信有哪些
  6. 多線程的死鎖,死鎖避免(講了銀行家算法額思想)
  7. Vistual Studio 怎么調(diào)試,如何設(shè)置條件斷點(diǎn)
  8. JVM 內(nèi)存回收
  • 招銀科技 9.15號(hào)
    電話一面: 掛了
  1. tcp、udp的區(qū)別
  2. spring 依賴注入
  3. 面向?qū)ο蟮奶卣?,講講多態(tài),什么是多態(tài)?
  4. 進(jìn)程與線程的區(qū)別
  5. 什么是信號(hào)量,信號(hào)量與信號(hào)的區(qū)別
  6. 依賴注入
  7. 怎么創(chuàng)建索引
  8. 知道哪些設(shè)計(jì)模式,工廠方法與抽象方法的區(qū)別
  9. 怎么統(tǒng)計(jì)char二進(jìn)制中1的個(gè)數(shù)
  10. sizeof 與 strlen的區(qū)別
  • CVTE 9.18號(hào)
    現(xiàn)場(chǎng)一面: 掛了
  1. 挑一個(gè)最拿手的項(xiàng)目講
  2. 面向?qū)ο蟮幕咎卣鳎悍庋b、繼承、多態(tài);
  3. 析構(gòu)函數(shù)能不能用virtual
  4. 引用與指針的區(qū)別
  5. 引用必須初始化,先在要設(shè)計(jì)在一個(gè)類中如何初始化引用:
    class A{
    int &a;
    }
    如何給a初始化?
  6. static、const、virtual結(jié)合使用情況,以下幾種可以么:
    static void fun(){};
    static void fun() const {};
    static virtual void fun() const {};
    static virtual void fun() {};
    以上四種函數(shù)可以這樣定義嚒? 為什么?
  • 美團(tuán) 9.20號(hào)
    現(xiàn)場(chǎng)一面: 過了
  1. 進(jìn)程與線程的區(qū)別
  2. 數(shù)據(jù)庫索引為什么用B+樹而不用B-樹
  3. spring mvc 的處理流程
  4. 訪問一個(gè)網(wǎng)頁的具體過程
  5. 手寫單例模式
  6. 手寫數(shù)組合并
  7. java線程安全了解么
  8. hashmap、hasptable、concurrenthashmap的區(qū)別,concurrenthashmap如何實(shí)現(xiàn)高并發(fā)?
  9. 知道哪些NoSQL,講下redis,redis的實(shí)現(xiàn)原理,redis怎么實(shí)現(xiàn)高并發(fā)?
  10. C++如何處理異常,異常向上拋出拋到最上層是什么情況?
  11. get、post的區(qū)別,什么是冪等性,put和post的區(qū)別。

現(xiàn)場(chǎng)二面: 過了

  1. tcp三次握手,第三次握手的時(shí)候如果直接發(fā)送數(shù)據(jù)會(huì)怎樣。
  2. 一個(gè)http請(qǐng)求的具體過程以及具體的協(xié)議,越詳細(xì)越好,dns的查詢過程
  3. 設(shè)計(jì)一個(gè)訂單,同時(shí)有多個(gè)騎手搶訂單該如何設(shè)計(jì),有多個(gè)服務(wù)器處理請(qǐng)求要怎么處理?
  4. select、epoll的區(qū)別,什么時(shí)候用select,什么時(shí)候用epoll
  5. 講項(xiàng)目
  • 網(wǎng)易互娛 9.21號(hào)面試,22號(hào)晚上出結(jié)果; 到了現(xiàn)場(chǎng)先寫一個(gè)算法,不難。
    現(xiàn)場(chǎng)一面:
  1. 講下快排
  2. 手寫插入排序
  3. 進(jìn)程與線程的區(qū)別,如何創(chuàng)建多線程、如何創(chuàng)建多進(jìn)程。
  4. IPC通信,會(huì)問你自己實(shí)際使用過不
  5. socket編程過程
  6. vector實(shí)現(xiàn)原理
  7. 如何實(shí)現(xiàn)vector 在擴(kuò)容的時(shí)候不進(jìn)行新的空間申請(qǐng),即不想有擴(kuò)容操作,該如何設(shè)計(jì)? --- 從operator new和placement new方面來講。
  8. 如何將一個(gè)序列均等分為兩部分,使得這兩部分之和盡量小-----沒做出來,比較尷尬。

現(xiàn)場(chǎng)二面: 過了

  1. 全程講項(xiàng)目
  2. 最后出了個(gè)題:在王者榮耀中(干嘛不說陰陽師中呢)如何統(tǒng)計(jì)全服中所有玩家阿軻這個(gè)英雄的勝場(chǎng)排名?

呀呀,到了神奇的9.22這天了

神奇的9.22號(hào)

  • 9:00 美團(tuán)三面:
  1. 全程問項(xiàng)目
  • 9:50 美團(tuán)hr面:
  1. 把一個(gè)項(xiàng)目用通俗易懂的語言講懂給她聽
  2. 如何處理同事關(guān)系
  3. 一個(gè)人不會(huì)在公司待一輩子,你會(huì)出去創(chuàng)業(yè)???---堅(jiān)決咬定不會(huì),美團(tuán)特別好,留在公司做貢獻(xiàn)
  4. 為什么來美團(tuán)?美團(tuán)的價(jià)值觀是啥
  5. 你選擇offer的最重要的兩個(gè)因素

24號(hào)發(fā)消息說進(jìn)入錄用池了,28號(hào)打電話詢問手里offer情況,然后定薪資, 30號(hào)打電話說薪資情況,要決定是否接offer,我說考慮一天,31號(hào)打電話回去把offer拒了,機(jī)會(huì)留給小伙伴們,小伙伴們加油。

10:50才發(fā)現(xiàn)趨勢(shì)科技也是上午面試(以為下午面試),趕緊跑過去面試現(xiàn)場(chǎng)。

  • 12:00 趨勢(shì)科技 (忘記記錄,憑記憶寫咯)
    現(xiàn)場(chǎng)一面:
  1. 根據(jù)簡(jiǎn)歷上寫的項(xiàng)目、技能來問你是熟悉還是了解,你只是自己用過而已???你不是自己從底層設(shè)計(jì)的哦,那就不用說了!?。?!
  2. 講下項(xiàng)目,給我項(xiàng)目中的問題看我怎么解決。
    這個(gè)一面的面試體驗(yàn)比較不爽,不問里面的具體技術(shù),只問是不是只是用過,也不讓講深入一些的知識(shí)點(diǎn),感覺你要是自己設(shè)計(jì)出來一個(gè)類似的東西或者深入研究過源碼才行或者修改源碼才行一樣,給我的感覺不爽,不過還是感謝讓我過了。

12:50 現(xiàn)場(chǎng)二面

  1. 講項(xiàng)目
  2. 寫一個(gè)字符串拷貝函數(shù),你這個(gè)會(huì)出現(xiàn)異常嚒?怎么改進(jìn)?
  3. 簡(jiǎn)單英語口語交流

13:30 hr簽offer
當(dāng)時(shí)就問了要不要違約金,然后就簽了,當(dāng)時(shí)到手的第一個(gè)offer,其他都還沒信,心里老高興了,準(zhǔn)備好久,終于有個(gè)offer,差點(diǎn)就蹦起來了!

2:30 吃完飯后看到小伙伴有去小米霸面的,我也湊個(gè)熱鬧就去了...,第一次去霸面百度,百度沒鳥我,覺得霸面應(yīng)該沒機(jī)會(huì),不過小米還是支持霸面的,面試體驗(yàn)不錯(cuò),贊一個(gè)(小米面試的酒店要刷卡才能進(jìn)某一樓層,我上它們面試的上一層樓上,想從消防電梯走,結(jié)果進(jìn)了消防電梯到了面試樓層發(fā)現(xiàn)要刷卡才能出消防樓層....,然后尷尬的打電話給小米hr姐姐來解救我們。。。。 當(dāng)時(shí)好尷尬)。

  • 6:30 小米,到了先從三道題中選一道題做,
    現(xiàn)場(chǎng)一面:
  1. 先寫個(gè)堆排熱熱身吧?。?! 有點(diǎn)忘了,然后自己畫圖,根據(jù)自己的圖來寫過程,面試官看了兩次都說不急,你慢慢寫,我哪敢慢慢寫,趕緊寫完就給面試官了,有些錯(cuò)誤,不過總體思路是對(duì)的。
  2. 統(tǒng)計(jì)逆序?qū)€(gè)數(shù),我記得劍指offer上利用歸并的思想將原序列分成前后兩個(gè)序列,分別統(tǒng)計(jì)兩個(gè)序列中的逆序?qū)€(gè)數(shù),再統(tǒng)計(jì)兩個(gè)序列中的逆序?qū)€(gè)數(shù),然后再合并繼續(xù)的思路;我把思想說了之后面試官就讓我手寫代碼,寫好之后他看下了應(yīng)該是對(duì)的。
  3. 還手?jǐn)]了一個(gè)算法,不太記得,不過沒上面兩個(gè)難,面的不好,全程手?jǐn)]代碼,不過讓我過了,真是開心。

中間在等二面的時(shí)候跟hr姐姐聊天,漫長(zhǎng)的等待中。。。

現(xiàn)場(chǎng)二面:

  1. 二面面試官看了下我寫的堆排,然后讓我講了下STL中的空間配置器,問了為什么自由鏈表中的是8byte的倍數(shù)?
  2. 問了那個(gè)剛開始那道題: 如何在一個(gè)隊(duì)列中記錄當(dāng)前隊(duì)列的最大值,這個(gè)跟那個(gè)棧的最小值有點(diǎn)相識(shí),不過這個(gè)難一些,我用那個(gè)棧的思想說下我的解決思路,然后面試說你確定???我說我看下,然后自己發(fā)現(xiàn)了問題,就把自己發(fā)現(xiàn)的問題跟面試官講了下,然后講了我那個(gè)解決方法的思想就是那個(gè)棧的最小值演變而來的;之后面試官提示我pop、push、getmax這三個(gè)方法都是O(n*lg(n))的時(shí)間復(fù)雜度,我說用堆???他說堆插入的時(shí)間復(fù)雜度比較長(zhǎng),我思考了下說做不出來。
  3. 最后問了那個(gè)逆序?qū)€(gè)數(shù)的時(shí)間復(fù)雜度,讓我手推公式,我也沒推出來,然后面試官在我面前手推了一把,然后就結(jié)束了。。。。。。。

二面面完后出去跟小米hr姐姐說我掛了,然后hr姐姐說我過了,呀呀,說了謝謝就去按電梯下去了,按電梯的時(shí)候接到網(wǎng)易互娛的通知說過了, 當(dāng)時(shí)就蹦起來了。下了樓之后一看時(shí)間已經(jīng)是晚上8:30了,辛苦了這么久終于有點(diǎn)小成果了。

  • 騰訊 9.24
    現(xiàn)場(chǎng)一面:掛了
  1. 自我介紹,然后面試官說來個(gè)自我介紹,說他就問點(diǎn)基礎(chǔ)?。?!
  2. 寫個(gè)二分查找--這個(gè)倒是很基礎(chǔ)
  3. 現(xiàn)在多個(gè)活動(dòng),有多個(gè)開始和結(jié)束時(shí)間,計(jì)算出其中某個(gè)時(shí)間有最多活動(dòng)的個(gè)數(shù), 當(dāng)時(shí)腦袋發(fā)熱,這個(gè)沒想出來,我記得是做過的。
  4. 知道一致性hash??? 設(shè)計(jì)一個(gè)一致性hash。 我講了點(diǎn)概念,說要用到虛擬節(jié)點(diǎn),這樣可以負(fù)載均衡(自己給自己挖坑)
  5. 講下負(fù)載均衡吧----懵了,講了同學(xué)的cdn當(dāng)時(shí)的負(fù)載均衡項(xiàng)目,有點(diǎn)懵逼。
  6. 講下epoll的內(nèi)核實(shí)現(xiàn)吧----紅黑樹、就緒隊(duì)列
  7. 講下linux的內(nèi)存管理吧。 我:有點(diǎn)忘了,不太清楚您是要問哪方面,是虛擬地址空間還是進(jìn)程調(diào)度方面的,能提示下?。? 面試官:不行。 我:一丟丟就行了。 面試官:我們換個(gè)問題吧。
  8. 講講數(shù)據(jù)引擎吧, 我:有inodb,還有一個(gè)另一個(gè)忘了叫啥了,inodb是用的B+樹做索引,另一個(gè)好像用的B-樹(這里記錯(cuò)了,也是用的B+樹做索引), (我心里想,你問我B+樹、B-樹吧的區(qū)別吧,以及為什么要用B+樹之類的,然而并沒有問)
  9. 面試時(shí)間差不多,你有什么要問的, 我問了問常問的問題(心里:怎么不問B+、B-樹的區(qū)別)。

晚上回來一查妥妥掛了,好氣哦,說好的問基礎(chǔ),C++基礎(chǔ)知識(shí)一個(gè)沒有,感覺應(yīng)該那個(gè)活動(dòng)的編程題做出來了會(huì)好很多,當(dāng)時(shí)腦細(xì)胞轉(zhuǎn)不動(dòng),實(shí)在想不出來,還是自己掌握的不行,繼續(xù)前進(jìn)。

騰訊掛了之后,我就結(jié)束秋招了。 還在路上的小伙伴們加油,機(jī)會(huì)總是給有準(zhǔn)備的人的,如果機(jī)會(huì)還沒到你,要么就是真正的機(jī)會(huì)還留在后面,要么就是你還沒準(zhǔn)備好!

總結(jié)

  • 九風(fēng)也是學(xué)渣,成績(jī)排名靠后,基礎(chǔ)不牢靠,都是靠這幾個(gè)月狂補(bǔ)知識(shí)點(diǎn)積累的,之前面的招銀科技、WPS、CVTE問的問題都不難,但都還是掛了,都是因?yàn)榛A(chǔ)不行,補(bǔ)補(bǔ)就好了。

  • 對(duì)于面試:當(dāng)你面了5次以上的面試之后就會(huì)發(fā)現(xiàn),其實(shí)問來問去就那么幾個(gè)問題,所以把常問的問題搞懂搞深,尤其是要搞深,要是你也回答的比較常見的回答,那公司為什么要你而不要?jiǎng)e人? 所以對(duì)于某個(gè)問題一定需搞的深,比如問select 與 epoll的區(qū)別,別人回答文件描述符限制,需要不需要輪詢這些大家都能記住的答案,那公司怎么決定就要你呢?其實(shí)就是比別人深那么一點(diǎn),查查資料看看epoll的內(nèi)核具體如何實(shí)現(xiàn)的、ET、LT模式具體實(shí)現(xiàn)的區(qū)別,這就是公司要你的原因!

  • 對(duì)于知識(shí)點(diǎn):這里推薦一篇學(xué)院大佬的文章,估計(jì)很多小伙伴都看過:http://www.itdecent.cn/p/a6ad23aee955 ,這里基本囊括大部分常問的知識(shí)點(diǎn)了,不過沒有C++的,下面是C++中常問的知識(shí)點(diǎn):

C++基礎(chǔ)知識(shí)點(diǎn):

  1. 面向?qū)ο蟮奶匦裕?/li>
  2. 多態(tài): 重載、虛函數(shù), override、overload;
  3. 繼承中的private、public; class 與 struct的區(qū)別;
  4. 內(nèi)聯(lián)函數(shù)與虛函數(shù);
  5. 指針和引用;
  6. static 和 const;
  7. 智能指針;
  8. 宏和const 、 inline;
  9. 構(gòu)造函數(shù)、析構(gòu)函數(shù)、虛函數(shù)、拷貝構(gòu)造、賦值操作符;
  10. new與malloc;
  11. 進(jìn)程地址空間內(nèi)存分配;
  12. strcopy、memcpy、memmove;
  13. 內(nèi)存對(duì)齊;
  14. 類型轉(zhuǎn)換;
  15. 單例模式:
  16. sizeof 與 strlen的區(qū)別;
  17. 深拷貝、淺拷貝;
  18. 靜態(tài)鏈接、動(dòng)態(tài)鏈接的區(qū)別;

C++ 進(jìn)階知識(shí)點(diǎn)

  1. STL 空間配置,具體實(shí)現(xiàn)過程,如果內(nèi)存自由鏈表中沒有空間會(huì)怎么處理,如果內(nèi)存池中沒有空間會(huì)怎么處理,如果heap中沒有空間會(huì)怎么處理,為什么自由鏈表中的倍數(shù)是8byte,而不是其他。
  2. vector 的實(shí)現(xiàn),如何實(shí)現(xiàn)不發(fā)生拷貝到新空間就只在當(dāng)前空間擴(kuò)容(new operator、operator new、placement new),vector的內(nèi)存時(shí)如何分配的(空間配置器)
  3. set、map的底層實(shí)現(xiàn),紅黑樹的概念,紅黑樹的插入(刪除太復(fù)雜了,能把插入搞清楚就可以了,很少問到這一層次了)

最后的最后,祝小伙伴們都拿到滿意的offer!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容