作者:AllenSu;
來源:牛客網
騰訊、網易、阿里、頭條等,實習+校招面經分享



面試記錄

騰訊:

一面

騰訊的mini實習項目是唯一支持2周實習的項目, 果斷投遞, 找朋友內推了騰訊音樂.

一面面試官是做流媒體的, 因爲簡歷中寫了一個關於視頻編解碼的項目.

首先介紹簡歷, 着重問了視頻編解碼的一些原理知識, FFMPEG編程的框架流程, RTSP協議與其它協議HTTP, RTMP的區別(因爲項目用到了RTSP). 面試官主要是確認這個項目是自己做的, 回答都OK.

接下來是一些CS的基礎知識, 口述快排過程, TCP斷開連接的過程, 進程線程區別等等.

一面問的比較廣, 也比較淺, 比較輕鬆, 朋友反饋說我面的挺好的, 下午面完, 晚上狀態就變成了複試中.

二面 2018/03/16

二面是總監面, 在光谷紐賓凱酒店現場一對一面試, 當時不知道是總監也不知道是壓力面.全程面試官都很嚴肅, 所以面下來覺得有點虛.

代碼部分 :

1.實現一個C++string operator=()函數, 白紙寫. 這個寫的還可以, 要注意的點 : 自身複製, 異常安全.

2.實現strncpy函數, 沒啥毛病, 注意魯棒性

3.畫圖描述雙向鏈表刪除節點的過程.

4.實現一個函數, 判斷機器的字節序是大頂端還是小頂端. 這個問題卡住了, 一直在想移位***作, 越想越亂. (標準解法, 用一個union)

問答部分 :

★IPC方式有哪些, 用過哪些, 你知道的鎖有哪些種, 有什麼區別. (鎖的種類沒答出來)

★select的工作機制, 用的什麼數據結構.(沒答好, 不知道什麼數據結構)

★知道epoll嗎, 講一下.(當時確實不瞭解, 只是知道有這麼個東西..)

★TCP四次揮手畫一下, 我很順利畫完. 然後問我, TIME_WAIT狀態出現在哪一端,總共多久,爲什麼有TIME_WAIT這個狀態嗎, 懵逼了, 不知道.

★Linux查看打開的網絡端口的命令是什麼?

★Linux怎麼抓包?

★會寫快排嗎 ?(總算有一個特別熟的了, 心裏舒一口氣, 結果他聽我說會,就直接跳過了- -)

最後問我覺得自己有什麼優點和缺點,你覺得你的短板需要多久來彌補, 缺點我支支吾吾了半天不知道怎麼說, 面試官 : "沒缺點是吧?"

哈哈哈哈這面可以說是很有壓力的了.

以至於面完覺得要涼涼, 不過晚上發現狀態變成了GM/EVP/面委會環節, 放心了..

二面總體問的也比較廣, 而且每個問題會問的比較深入, 通過這一輪面試也讓我意識到,自己在網絡和linux系統方面很多知識都是淺嘗輒止, 還需要深入理解. 於是回去瘋狂看出, UNP, APUE的網絡, IPC, IO多路複用部分.

三面 2018/03/31

三面是去深圳總部, 報銷1100的交通住宿費.

這一面之前情節真是跌宕起伏, 面試狀態從16號複試中 -> 16號GM/EVP/面委會到21號又退回複試中, 23號再退回到初試中...還好26號收到了郵件和電話通知說三面去總部, 不然真以爲涼了.

去深圳就一兩天還帶了STL源碼剖析,LINUX系統編程和電腦刷題..30號晚上朋友來就酒店看我桌子上鋪開的書和電腦都驚呆了..

第二天到騰訊大廈打卡, 第一次進去的感覺很奇妙, 感覺是個很熟悉有很陌生的地方.10點之前到,一個比較大的會議室裏挺多來面試的人, 一個一個等待叫號安排一對一面試. 我等了大概一個小時纔到我, 然後被HR姐姐領到一個會議室, 是一個40歲左右的前輩,說話很沉穩, 問問題也很犀利, 但是聊天的氣氛很好, 變不慌了. 後來面完才知道, 原來是副總.

面試內容跟技術不怎麼相關了, 主要了解了我的比賽經歷, 之前參加一個華爲的比賽那了初賽第4,複賽第6的成績.GM問你們團隊是如何組織, 如何交流的,你覺得你們取得這個成績是因爲跟別的隊相比有什麼優勢?複賽成績沒初賽好又是因爲什麼? 這個問題蠻犀利的, 但回答都OK, GM因爲已經脫離了代碼工作因此重點考察的都是被面試者思維方式,邏輯能力溝通能力等等.

HR面

三面完回等候室, 很快安排了HR面試, 感覺穩了.

騰訊的HR面還是比較輕鬆的, 有個插曲是, 這個HR面試的上一位同學剛好是校友, 也剛好做過華爲比賽.當問到這個比賽的規模的時候, 我說約100隊, HR鬼魅一笑, 上個人說有300隊...= =感覺坑了一波校友.他說的應該不錯, 當時羣裏有1000多人, 我很保守的寫了100隊,因爲我覺得大部分參賽者都是看了題就溜了.

HR問到實習時間的時候, 說會傾向於選擇實習時間長的同學, 我表示理解, 也解釋了我的無奈, 如果能來會再有限的時間內盡力的發揮自己的作用, 讓自己和公司都對對方有一個更深的瞭解. 事實上一起來面mini實習的同學都因爲mini掛了...

總結

騰訊的面試側重於計算機的基本功, linux, 網絡, 底層知識, 對編程做必要的考察, 算法倒是考的比較少.

流程比較慢,4月3號纔拿到offer.

網易互娛:

筆試 2018/03/18

網易遊戲不論是否內推都需要做在線筆試, 據說網易互娛的筆試題目質量很高.

3道編程題, 2個半小時.

AC了兩道.. 畢竟刷題少.

一面

忘了時間了, 反正有個下午接到HR電話約面試時間.

面試是電話面試的形式, 問的問題跟騰訊一面差不多, 基本功方面的問題都答得OK.

記錄一下編程相關問題:

1.找倒數K個節點

2.海量數據找topk

3.鏈表環入口節點

4.找兩個鏈表的交點

都是口述思路即可, 第四個問題沒想到O(1)空間的解法, 面試官啓發我如果把尾節點與一個鏈表頭節點連接起來會怎麼樣, 我想了一下說會變成環, 然後就可以用第三個問題的解法了. 面試官對我的回答還比較滿意.

最後問我有什麼問題問他, 我問了關於做遊戲和做一般後臺開發,對技術棧的積累有什麼不同.他很認真詳細的做了解答, 面試很愉快.

網易遊戲流程很短, 4/3拿到offer.

微軟

筆試

筆試題目全英文, 4道題, 好像是過了3道的樣子

一面 2018/04/23

微軟遠程面試通過skype, 每輪都是10分鐘自我介紹和簡單交流+40分鐘白板寫兩道題+10分鐘問面試官問題.

題目:

1. 數組中k大元素

2. 兩個服務員服務一組顧客, 每個服務員服務每位顧客獲得的小費不同。現在有K位顧客,兩位服務員各可以服務M和N個顧客,且每位顧客只需一名服務員,K > M+N。求兩位服務員最多可以得到的小費總額。

寫第一個問題之後,面試官讓我自己設計測試case。設計case的時候其實就是驗證自己的代碼魯不魯棒的時候,然後我主動跟面試官說我的代碼有些邊界條件沒處理好,他說那你改一下吧。改完ok

第一題花的時間稍多,於是第二題口述了一下思路,還好很快想到了思路。就是簡單的貪心。

提問的問題是什麼我忘了。。反正面試官會很耐心的解答。

這一面因爲寫代碼的問題表現不是太好,但是微軟是至少兩輪,double check,於是還有機會表現。

二面 2018/04/23

步驟一樣,寒暄介紹就不講了,放題:

1. 單鏈表,輸出倒數第K個元素

2. BST,輸出值最接近K的元素

第一題都做爛了,注意魯棒性即可。第二題蠻有趣的。

這一輪很順利。面完之後等下一步通知,過了一段時間收到第二天三面的郵件。

三面

三面的題目當時沒記下來,忘了。。

AA面

前面三輪是3月份的時候面的探星夏令營,一直等到8月8號的最後一面AA面,是經理面,級別是principal,經理面覺得你不行就一票否決了據說。

上來還是先寒暄,問我“啊,你是華科的呀,那你認不認識誰誰誰?不認識呀,那另外一個誰誰誰呢?“經理還是很和藹的哈哈哈....

然後嗯,就開始做題:

有一列顯示窗口,每個窗口裏面可以顯示一個英文字母,每個窗口上下各有一個按鈕,通過控制按鈕可以切換窗口裏面顯示的字母。比如現在顯示的是D,按上面的按鈕就變成C,下面變成E。

現在有一個初始狀態的字母序列和一個結束狀態,一個BLOCK LIST,裏面包含很多字母序列是不能出現的。求狀態的改變路徑。

舉個例子:比如有三個窗口,初始是:ABC, 結束狀態:BDE, BLOCK LIST:{ADC, ADD, ADE}

那麼合法的結果 : ABC->ABD->ABE->ACE->ADE->BDE

非法的結果:ABC->ACC->ADC->ADD->ADE->BDE (因爲ADC ADD ADE是不能出現的狀態)

這道題思路想了一會兒就清楚了,dfs就好了。跟面試官講了思路然後開始寫代碼。

代碼寫了20分鐘吧,然後給他看,講着講着發現有bug,於是停下來跟面試官說我發現自己有地方沒寫好,能不能修改一下,面試官愉快的答應了,然後改。然後繼續講,然後又發現bug= =。。。反正最後講完,中間改了兩三次。感覺涼涼。

最後問了一下面試官trans出國的機會怎麼樣什麼的。

總結

微軟的面試官給我的感覺是,都很溫和,尊重被面試者,無論是初級面試官還是經理,都很nice。面試體驗特別好。

但是AA面的時候我剛從騰訊實習回來。。中間去香港玩了幾天,完全沒狀態。。不知道怎麼樣,現在還在等結果。

螞蟻金服

一面 07/24

螞蟻金服是在實驗室羣看到的內推海報,聽說這個公司不錯,就投了。。

投簡歷的時候還在騰訊實習,跟內推人說了到7月22號回學校在面。

於是第一輪面試毫無防備的在24號的晚上打了電話過來。。剛回學校一天,完全沒準備,電腦太久沒用還藍屏兩次- -期間還換了一次室友的電腦,總之一波三折。

一面就是寫基礎的問題,C++的知識,比較淺的***作系統知識,快排算法怎麼樣實現的等等。具體忘了。。沒記錄

對了,一面不寫代碼。

二面 07/25

二面是代碼面,兩道題目,在線coding。

1. 有一個字符串它的構成是詞+空格的組合,如“北京 杭州 杭州 北京”, 要求輸入一個匹配模式(簡單的以字符來寫), 比如 aabb, 來判斷該字符串是否符合該模式, 舉個例子:

pattern = "abba", str="北京 杭州 杭州 北京" 返回 true

pattern = "aabb", str="北京 杭州 杭州 北京" 返回 false

pattern = "baab", str="北京 杭州 杭州 北京" 返回 true

2. 9*9的填好數字的數獨矩陣,判斷是否正確

兩道題都是基本***作,哼哧哼哧寫完了。

coding之前還是先問了一些基礎知識:

1.STL的vector,list,set這些容器的迭代器有什麼不同,什麼時候會失效。

2.講一下對智能指針的理解。

3.還有問我hashmap如何保證線程安全,這個不是java問的嗎。。。我不知道,就隨便扯了一下加鎖什麼的, 遇到不會的面試官會跟我溝通引導,雖然沒有完美的說出方案,但是有溝通感覺還是挺好的。

三面 07/30

現在看來只是隔了5天,但是對於當時0個offer的我來說簡直是一日三秋。。

三面46分鐘,沒有問任何技術上的問題,,一直在聊簡歷相關,實驗室啊,騰訊的實習,華爲軟挑比賽啥的。。

emmm,就這樣聊完了。

四面 08/11

真的是等了好久好久,交叉面來了。

交叉面問的還挺多的,各個方面的基礎知識,然後問了一個數據結構的問題:如何設計LRUcache,leetcode寫過這道題,很快給出瞭解決方案。然後打開鏈接寫代碼,題目是二叉樹的中序非遞歸遍歷。。

這個題目其實挺難寫的,雖然大家都知道可以用棧來模擬遞歸,實際寫起來邏輯很難理清楚。大家可以自己試試。

反正我寫了20多分鐘才寫完,面試官很不耐煩的樣子,寫完講了一下思路就結束了。。沒問我有沒有什麼問題。。

HR面 08/13

經歷了傳說中的阿里HR的面試。。。面試官的確很犀利,問問題很深。有兩個點我答得不好,一個是說一下自己覺得做過最有成就感的項目,解釋原因,項目有什麼難點,如何克服的。emmm,跟她講完後感覺我的項目好low啊,嗯,就是好low。第二個問題是騰訊和阿里你如何選。我也知道肯定要說阿里啊,但是心裏其實不確定,這話我說不出來,於是支支吾吾了半天= =

總結

阿里總共5輪面試,每一面的側重點不同,感覺難度是比較大的,HR面的確很系列,也讓我對看問題的角度有了一些新的思考。收穫挺多,不虧。

9月1號,收到錄用意向書。

今日頭條

一面 08/12

實習招聘的時候做過一次頭條的筆試,被勸退。於是校招找了一個學長要白金內推碼把筆試給跳了哈哈哈。。。

頭條三場面試一天面完,過了當前一輪纔有下一輪,每輪面完幾分鐘之內就有電話過來告訴你通沒通過,效率極高。

一面面試官是位很nice的校友,上來就親切地叫我師弟 :D, 然後開始面試。

基礎知識每個方面都會問道,C++,***作系統,網絡,數據庫。記不太清了,,有個問題印象深刻,TCP斷開鏈接的過程。我心想這不是都快會背了嗎,四次揮手一口氣說完,然後師兄問我:TIME_WAIT出現在哪一端,有什麼意義。這問題也難不住我,跟他娓娓道來。接着,繼續問我:TIME_WAIT有什麼副作用?

....

啊?副作用?風太大我沒聽清T.T

這個我真不會,沒有實際的網絡相關的工程經驗恐怕很難會考慮到這種問題。於是師兄告誡我,不要只是看看面經什麼的,要好好系統的學習這些知識。我覺得師兄說的很棒。

當然還有一道白板代碼:

實現memcpy()

這個沒什麼大問題,我看過源碼。記得要考慮內存重疊的情況。

最後師兄加了我微信,給我推薦了一些書籍,還跟我說二面面試官也是同校的師兄,讓我別緊張,祝我拿個sp什麼的,感覺特別好。

二面 08/12

很快進行二面,面試官似乎在家進行的面試。有一個開發性的問題:根據你知道的任意數據,推算一下中國每天產生的自媒體信息數量。

真的是腦洞大開,面試官全程笑眯眯地聽我一本正經地胡說八道。。我說根據我的微信朋友圈,每小時刷一次大概刷到10條,我有200個好友,我的好友大部分在中國,因此比較活躍的時間大概從10點到24點共14個小時,所以一天大概140條朋友圈,那麼大概一個人每天發0.7條。乘以微信用戶大概10億,微博跟微信差不多,加上頭條,和其它,總共大概28億吧。嗯,就是扯,扯得有道理就行。

代碼題:

1. 無序數組找中位數

引申-> 兩個有序數組找中位數

引申-> 兩個無序數組找中位數

後兩個說思路就行,分析複雜度

這一面蠻順利的

三面 08/12

這裏有點插曲,我用的古董筆記本在寢室面試,二面完寢室電費用完突然停電了,要知道我的筆記本電池一個小時都撐不到。。三面面試官很熱情,跟我說最後一面啦,不容易,恭喜恭喜啥的,感覺很nice。我趕緊跟他說明了我的突發情況,他很理解說快沒電的時候提醒他,咱可以改成電話面試。。

三面又問了 很多基礎,關於***作系統的問題比較深,問我用戶態和內核態的區別,進程在處理信號的時候是在什麼時候處理的。後面這個我不太會,面試官很耐心地跟我講。然後給我一個比較複雜地linux命令組合,問我是什麼意思,我linux經驗不多,只能猜個大概,用了寫管道和重定向什麼的。還有給了一個數據庫的例子,讓我寫對應的SQL語句,我跟面試官解釋SQL很久沒用過了,寫了一個僞代碼出來。

最後寫代碼,面試官直接跟我說是leetcode改的題目,如果你刷過應該很容易。。。我一看題目好熟悉啊,但是我看到過不記得沒做過。。。= =

題目:

leetcode : 42. Trapping Rain Water

ps : 後來去leetcode看,發現我三年前做過。。。

總結

頭條的最大特點是效率極高,我每一面最多間隔15分鐘。三面完10分鐘就打電話說通過了面試,後續結果請關注官網。另外就是面試官都很年輕,態度也都很贊,真的覺得跟這些人做同事會很愉快。

8月27號收到意向書,還被QQ郵箱識別成了廣告,好幾天纔看到。。

華爲

終面 08/17

武漢的華爲優招,因爲之前參加華爲的軟件精英挑戰賽進了複賽,因此可以直通終面,最大的好處是沒怎麼等。。然後終面跟一位40左右的前輩聊天,聊下簡歷項目實習,意向公司和城市什麼的。聊了大半個小時就結束了,很輕鬆愉快。

9月16號收到意向書。

後來。。

其實7月22號實習回來,大概好好面試了半個月左右,然後開始了鹹魚模式。。後來投了一些很想去有感覺沒什麼希望的公司:Airbnb,hulu都筆試掛了,這些外企的側重點與國內公司不同,重點考察刷題能力,所以,相應的要準備的方式也不相同。掛了就掛了,沒辦法。希望以後 有機會社招進Airbnb!

秋招大概是這個樣子,記錄一下自己即將結束的校園生活,即將逝去的青春。。

相关文章