1. 程式人生 > >2018網際網路頂級公司春招實習和秋招前端面試題

2018網際網路頂級公司春招實習和秋招前端面試題


2018校招總結(外企,國內大公司,國內創業公司) 本篇是我參加2018春招實習和秋招的求職經歷,除了筆試面試中遇到的一些問題,更多的是一些個人想法。

春招和秋招面了不少公司,實習offer有網易互娛,今日頭條,Hulu,最終選了Hulu。

校招目前拿到offer的有 微軟美國,Hulu,Amazon,Freewheel,pony.ai,依圖,商湯,網易遊戲,騰訊,網易有道,完美世界,滴滴,百度,搜狗,宜信大資料,美團點評,搜狐,華為,基本都是SP。

實習 先從上半年找實習開始說起吧,因為實習的重要性大家都很清楚,如果特別想去這家公司,去實習是最穩妥的,而且最後的sp offer大部分都是給實習生,所以有的公司實習面試反而更難一些。我因為實驗室不放實習的原因,所以投得很晚,有些同學已經開始實習的時候我才開始投,當時的目標是外企(比如Google,Hulu,微軟)和國內一些很看重演算法(這裡說的演算法是ACM演算法,不是AI的演算法)的公司(比如網易遊戲,今日頭條),那些面試喜歡問語言特性,作業系統,計算機網路等等的公司一個都沒投,(這是個人偏好問題,並不是怕被問到這些,也不是說這些知識不重要,而是覺得面試全問這些問題很boring,一輪面試短短一個小時,我覺得只問這些東西真的看不出一個candidate的水平,特別是潛力,個人看法而已)。

所有事開頭總是難的,3月初面Google北京,關於Google北京聽過很多人的看法,有說非常難不是ACM金牌基本過不了的,有說只要夠聰明刷一個月的題就輕鬆過的,也有說Google北京很無聊都是非常邊緣的專案學不了啥的,我當時也沒想太多,斷斷續續刷了兩個月的題,也沒啥信心,就當體驗下,電面還算順利,onsite兩道題第二道沒想出最優解直接打出gg進了waiting list,第一次面試就早早得結束了。


後面春招開始,一邊忙實驗室的事一邊抽時間準備,演算法水平也逐漸提高了一些,開始在一些oj上試試比賽,cf,tc,lc,hr等等都有練,見的題多了,一些套路模板題也能一眼看出來了,不過也漸漸發現跟那些高中開始搞OI的ACM Final大神比起來還是差不少,不過確實時間有限,就拿著練了幾個月的半吊子水平開始了筆試面試,當時比較想去的國內公司就兩家,網易遊戲和今日頭條(個人比較看重公司的門檻,面試的難度或多或少說明了以後同事的水平),所以看了很多這兩家往年的筆試題和麵經,算是準備的比較充分,這兩家的筆試難度差不多,基本都是一或兩道水題加一道偏難的題,過得還算輕鬆,面試的話網易遊戲就一面,會問一些基礎題,夾雜一兩道演算法題,不過都不難,最後拿到了offer。頭條一共三面,前兩面都是專案和基礎知識,面完兩面有點失望,感覺跟聽說的不太一樣,結果到了第三面寫了一道很有意思的並查集+dp的題,跟面試官也聊得很開心,最後給的offer就是第三面面試官所在的組,應該是後臺開發吧。

當時基本就確定從這兩家中選一家去實習了,到了5月中旬我的一個去Hulu實習的好朋友內推我去面試,我就抱著試試看的心態去了,因為之前Google面得不好所以去面難度相當的Hulu也是不報啥希望的,不過因為當時手裡有了滿意的offer,心態就很放鬆了,就當是去跟高手切磋下。Hulu一共三面,第一輪電面就遇到了迄今為止認識的人裡最厲害的ACM大神(後來成了同事),不過幸好題不是特別難,手寫一道加口述思路一道,還算順利得過了。後面兩輪onsite,第一輪題還算常規,不過要現場跑通所有case,幸好最後把程式碼調通了,第二輪先簡單聊了聊專案,然後口述了一道題的思路,最後手寫了一道題,當時真的是靈感突現,一下子想到了最優解,不過程式碼寫得比較慢,還出了幾次bug,最後超時寫完了,面完大腦都轉不動了,不過還是比較開心的,至少題都做出來了,聊得也順利,等了一個週末給了offer。最後選擇去Hulu實習,也是綜合了很多方面的因素考慮的,個人還是比較傾向外企的工作環境和氛圍。

校招 下面開始是校招階段,按照國內外公司和是否是創業公司來分,其中一些想法也僅僅是個人觀點,僅供參考。


外企

Hulu(offer)

Hulu是我實習的公司,拿到了return offer,package非常有誠意,確實不愧是網際網路含金量最高的offer,沒有參加校招(不過聽說校招的筆試最後一題考到了最小割,表示最大流的題迄今為止就寫過一道T_T),所以給不了校招的經驗,不過可以說下Hulu的實習體驗。

首先跟之前聽說的一樣,非常正宗的外企工作環境,零加班,自由時間,最前沿的技術,很規範的工程管理,很nice的技術分享氛圍,牛人非常多(有些是業界知名度很高的大佬),不過除了這些,我覺得Hulu最讓我感動的是裡面的mentor制度(我知道有些公司的mentor制度其實只是擺設,特別是對實習生),至少我在Hulu的mentor教會了我很多東西,不僅僅是技術,還有一些個人發展的看法,而且身邊的同事真正讓我體會到了跟聰明人一起工作是多麼幸福的事,後面有時間再專門寫一篇詳細說下。

Google(已跪)

Google中國其實也沒啥好說的。。除了在那實習的走實習轉正流程,其他不管是不是內推的先過CodeJam(現在叫Kickstart)再說,我參加的是7月份那場,題比較難,名次不高,不過還是過了,然而先收到了筆試通過的郵件,還啥都沒面就收到了HR發的據信,上來直接就Thank you for interviewing了,後來才知道之前實習面跪了會影響校招,大概是有冷凍期之類的,還讓我無需參加後面的筆試了T_T。

我就沒再管,也沒參加8月份的那場Kickstart,不過後來又收到了安排電面的郵件,應該是第一輪的備胎批吧,早知道就應該參加8月份那場了,題比7月份那場簡單不少,如果名次好的話就可以到第二輪的優先批了。目前面完了電面,是三番那邊的中國人面的,面試體驗比較差,首先是聽不清,其次是面試官零交流,題很水,寫完程式碼強行讓優化了一波(其實就是考慮下特殊case),目前還沒收到反饋郵件,應該是跪了。

最後,如果你真的特別想去Google,那就去美帝讀個碩士開啟easy模式吧:)


微軟美國(offer)

微軟從北京的工程院到最後美國西雅圖崗位的面試,加起來一共面了9輪(:з」∠)

最一開始是由於之前找實習的時候在hihocoder上參加過幾次程式設計挑戰賽,名次還可以,7月份的時候收到了微軟探星夏令營的邀請郵件,8月中旬進行的探星夏令營面試,算是微軟的提前批吧。

面試一共5輪,2輪skype電面,3輪onsite,純演算法題,白板程式設計(有些人覺得白板寫程式碼很蛋疼,不過我覺得白板寫程式碼也有好處,就是不需要現場編譯跑case,只要思路清晰,基本上都可以寫出來)。

電面的題比較常規吧,屬於那種不需要怎麼想的基礎演算法題,是用notepad寫,主要看白板寫程式碼的基本功,寫完面試官會看下,因為我寫得比較快,所以兩輪都留了不少時間跟面試官尬聊O.o

3輪onsite是在北京微軟大廈,一個小廳等面試官來領人,第一輪是個非常熱情的小哥,做題之前聊了很多學校實驗室的生活和實習的事,一頓商業互吹,然後問了一些資料結構的用法和實現,比較easy吧,最後白紙上寫了一道棋盤dp的題,也是很常見的題,一面就在愉快歡樂的氣氛中結束了。第二面是個非常不熱情的小哥,直接跳過了暖場環節開始懟題,先是一道LCA的變種題,然後是一道BST轉有序雙向連結串列,也算是比較常規的題,我看他好像不喜歡聊天,就切換成了嚴肅認真的神態寫完了程式碼,然後看他一言不發檢查完程式碼就結束了。第二面面完等了一個多小時通知去三面,就是部門主管面,面我的是做AI方向語音識別組的manager,先問我喜不喜歡搞AI,我當然說喜歡啊,然後拿著我的簡歷隨便問了些專案,中間穿插了一道大數加減的水題,我以為後面沒演算法題已經準備笑嘻嘻地開始聊人生了,然而最後問我知道哪些高階資料結構或演算法,我擔心說一些常規的不夠鎮得住場面,就把我刷題遇到的和從ACM大佬那聽到的都抖出來了,說完就後悔了,因為有些只是知道並沒有寫過,不過幸好manager問了個還算常見的線段樹,讓我實現下並說下優缺點和應用場景,我寫完看他還算比較滿意吧。

面完微軟後我以為應該很快會出結果,然而等了好久,問了在裡面實習的同學也說微軟流程比較慢,就先不管了。後來收到郵件問想不想走美國招聘的流程,再後來收到了HR的電話,說我之前面得非常好,問我是選走中國的流程還是美國那邊的,我選了美國,這樣之前的面試成績只能作為參考了,要等美國的面試重新面,這一等就等到了10月底。

美國的崗位是西雅圖那邊派工程師過來面的,一共四輪onsite coding面試,題目難度感覺不是特別大,不過對於口語不是很溜的我來說,如何跟面試官談笑風生才是更傷腦筋的,而且10月底正好還有其他幾家要面,所以並沒有好好準備口語,只能匆忙上場,幸好題都做出來了,聊得也還算順利,隔了一天發了offer。


Amazon(offer)

亞馬遜就是乖乖走的校招流程了,沒有內推,沒有提前批。

先是9月5號參加了線上的筆試,在一個叫amcat的系統上,用過這個系統的同學應該都知道,體驗很糟糕:(,不能切到本地寫,這不算什麼,關鍵是那個線上編輯器不好用,而且中途系統卡了有大半個小時直接啥都不能輸入,不過幸好最後有驚無險三道題都AC了,一道約瑟夫環裸題,一道貪心,最後一道有點意思,是個圖論裡最大獨立集的變體。

過了筆試一週後去參加了onsite,一共兩輪。第一輪面試官很年輕,結合專案問了很多很詳細的基礎知識,幸好提前回顧了下專案,不然好多細節都忘了,然後黑板寫題,一道把數字輸入的錢轉成中文讀法的題,其實這題沒啥難度,主要看實現,因為實現不好的話程式碼會非常繁瑣,我一開始也沒想到比較好的方法,就直接開寫了,寫著寫著就知道哪裡的邏輯可以優化,最後用了比較短的程式碼寫完,還算比較順利。第二面就是主管面了,可能主管看到了我上一輪面得比較好,就沒問啥基礎,主要問專案,並介紹了他的部門在做啥,這一面交流比較多,最後算是象徵性地寫了一道dp的水題結束。

Freewheel(offer)

Freewheel在8月份組織了一場open day,當天現場筆試,我由於在實習當天請不了假就沒去,後面就沒提前批了,全部要等到9月底參加筆試,他家的筆試雖然是線上的,但是以數理邏輯和數學問答題為主,沒啥程式設計題,最後一道問答題是線性規劃,用線上的編輯器寫單純形法打個表分分鐘要崩潰(╯°□°)╯︵┻━┻。

兩輪技術面試都是以專案和設計模式為主,其中二面會有一半時間是用英文交流,本來以為筆試挺難面試應該更難,然而面試官說看了我的筆試不需要問演算法了,所以面試沒啥有意思的問題,就不細說了。

Airbnb(已跪)

Airbnb入華時間並不長,目前office在望京那邊,FTE很少,最近好像在大規模社招,國內的業務具體不清楚做得怎麼樣。我是走的提前批,不過聯絡得很晚,應該是提前批最後一批吧,當天除了我大概還有七八個人過去面試,三輪onsite的coding,需要現場寫完程式碼,編譯通過跑完case,需要三輪都通過才行,這裡有個很看人品的地方,因為北京這邊的工程師太少,所以面試需要三番那邊的面試官過來,所以如果你的面試官是三番的,那麼恭喜你,只要你係統刷過題,那麼難度基本屬於秒殺級別,如果是北京這邊的,那麼很可能遇到那種比較噁心的題,我就不幸在第一輪遇到了(╯▽╰),具體題目由於有保密協議不方便透露,解法倒不難想,不過寫完程式碼corner case巨多,現場調bug一旦心煩氣躁就很容易gg了,就算後兩輪都是秒殺也還是跪了,不說了,都是淚╥﹏╥...

WAP(中斷流程)

WAP是一家做ERP的日企,在上海有office,之前日元匯率比較高的時候給的還挺多的,最近兩年不太清楚,這家挺神奇的,感覺一年四季都在校招,經常在朋友圈看到他家的宣講海報,投了6月份的那批,筆試兩道題,一道dp一道搜尋,半個小時AK,難度中等偏低,後面發郵件說還有好幾輪面試,好像還有短期實習啥的,好像很麻煩,正好那時候剛好開始實習了,就沒去面試,直接中斷流程了,果然最近他家又開始校招了( ̄. ̄)


Facebook(投不了)

FB在國內沒office,之前有過三番那邊直接來國內校招,不過那已經是三年前的事了,好像聽說社招還在時不時得進行,反正找在那邊的學長內推,並沒有下文,意思大概是今年還是H1B只給社招那邊,所以對他家有執念的大佬還是考慮去美帝多個研吧╮( ̄▽ ̄)╭

國內大公司

國內的公司面試不像外企那樣以考察演算法為主了,各家公司有各家的特色,我挑了幾家印象比較深刻的寫下。

首先,國內的公司我在投簡歷的階段就比較頭疼,因為要選崗位,之前投外企是不分崗位的,最多分個SDE和Researcher,而國內的公司各種分部門分崗位,前端,後端,演算法,大資料,雲端計算等等,我真的考慮了好久到底投什麼,最後還是沒想好T_T,索性就根據各家特色投不同的崗位了。

以下公司按面試時間順序排列。

今日頭條(推薦演算法崗,已跪)

由於之前拿到了頭條的實習offer,頭條的HR很早就打電話給我發了校招直通卡,讓我參加8月中旬的提前批面試,我就從後臺換成了AI部門的推薦組,過去面試發現人不是一般的多,直接在地下食堂排隊叫號面,我以為我換崗要重新面三輪,然而第一輪面試官告訴我只有一輪,我還沒來得及高興,他就直接問我做了哪些推薦演算法相關的工作,我一臉懵逼,只能說沒做過,不過讓我學可以很快學會,當時感覺到面試官頓時對我失去了興趣,我說我演算法基本功還可以,他想了想,然後問了我一道零碎連結串列重組的題,我想了會說可以轉換成區間合併的問題用O(nlogn)解決,他愣了一會讓我再想想,我不知道他想讓我說啥,因為我覺得區間合併已經比較優了,暴力遍歷還跟零碎連結串列的平均長度有關,他看我想不出來更優的就說可以遍歷,我(O_o)??,感覺跟他不在一個頻道上,後面的時間就是我們互相說服對方哪個方法更好,最後結果可想而知,懟面試官只有死路一條啦(^o^)/

搜狐(後臺研發崗,offer)

搜狐也是面的比較早的,八月底就面完了,通過內推走的提前批,一次性面完兩輪onsite技術面。

第一輪上來直接就是後臺一個組的技術主管,不過好像工作時間不是很長,有點小意外,也是先商業互吹暖下場,我以為他會像其他大佬面那樣結合專案經歷問些哲學問題,那樣雖然比較boring不過算是比較常規,然而他直接讓我在黑板上做題,又讓我意外了下,先是一道常規下雨盛水的題,大概是leetcode原題,思路很簡單,就寫了個stack的解法,然後一道二叉樹翻轉,也是幾行解決,他看我寫的比較快,就出了個程式碼量稍微大了點的搜尋題,01矩陣,有一批0變1的操作,統計連續1的塊數,我就用並查集擼了個,這時候寫完三題我覺得差不多了,他應該也比較滿意吧,就跟我隨意聊起來了,我還是非常喜歡這個環節的,因為我覺得面試是個雙方互相審視的過程,不過前提是讓面試官先認可自己,所以我就問了他平時用的技術棧,問他是不是搞過ACM,他說只練過半年,不過平時也喜歡打打比賽,面試別人也只問演算法,我覺得有共同話題了,就把剛剛他問我的第三題稍微變了下來問他,對01矩陣有0變1和1變0兩種操作,實時統計連續1的塊數,這是我在其他地方見到的,不過還沒想到最優的解法,這就不能用並查集做了,而暴力搜尋又太慢,離線的話好像也搞不了,他就跟我論了起來,討論了大概10分鐘,想到了一個搜尋加cache剪枝的方法,兩個人都比較認同,結束了第一輪面試,這也是我所有面試裡唯一一次給面試官出題現場討論的,所以映像很深刻。

第二面是另一個組的,算是交叉面吧,這一面就沒啥特色了,非常標準的國內網際網路式面試,先問簡歷,再問專案,再問基礎知識,因為太沒特色時間也過去很久了所以問題都忘得差不多啦,大概是以語言和網路為主吧。

宜信大資料(大資料研發崗,offer)

宜信也是找學長內推的,9月中旬面的,算是提前批吧,先是兩輪onsite技術面,隔了一週再一輪大佬面。之前聽說宜信面試很難,所以還是做了比較充分的準備。

第一輪的小哥並沒有問出是哪個組的,做的東西好像跟前端有點關係,抓著我的簡歷一頓懟,什麼都問,從實習經歷,到專案,到點各種語言特性,到作業系統,到對各種前端開源框架的看法,而且問得都很細,細到差不多快把一個框架實現一遍了,感覺有點厲害,不過有個人願意聽我一頓巴拉巴拉聊技術還是挺爽的,我以異常快的語速說了大概50分鐘,兩人都挺滿意的,他看時間不夠,就隨意讓我口述了個楊氏矩陣找數的水題,結束了第一輪面試。

第二輪開始之前有個插曲,二面的面試官跟一面的面試官直接在門外討論我的一面,可能他們不知道那個屋子的隔音效果不好,他們說的啥我都聽到了 ⊙ˍ⊙,不過基本都是正面評價,我還是挺高興的,其中聽到不需要再問我基礎知識,可以著重考察下coding,終於到了喜聞樂見的coding環節。

第二輪的面試官竟然是個看起來更年輕的小哥,也是上來先一頓商業互吹,接下來果然沒有再問其他,直接給了個題目,一個矩形區域和無數個半徑相同的圓(當然這是抽象建模之後說法,原題是他先說了一大堆應用場景),讓我想個方法用盡可能少的圓去覆蓋整個矩形,圓可以重疊,初看不像程式設計題,像計算幾何的數學題,我想了會也沒找到很好的方法,就在紙上畫,然後就給了個從一個角開始以某種規則往外鋪的方法,他好像還挺滿意,我問他這是不是最優的,他沒告訴我,讓我回去再想想,說我的回答已經可以了。接著重頭戲來了,題目變了下,一個二維區域裡有很多大小不一的圓,可能有重疊,然後有一組點的座標,讓我返回每個點被哪些圓包含了,需要程式碼實現。我第一反應是離線,就脫口而出莫隊演算法,他有點驚訝我知道這個,笑了下讓我再想想,我仔細想了下確實跟範圍查詢並無關係,就開始撓頭回憶有沒有看過類似的題,靜下心想終於想到之前做過矩形重疊算面積的題,雖然跟這個不一樣,但總感覺這種二維平面圖形重疊的題有類似的地方,於是想到了掃描線,他還是挺滿意的,後面就是各種細節實現了,把各種case都討論了一遍,這一面超時了,不過面試官還是比較滿意的,後面提問環節得知這是位Final大佬,他說一開始根本沒指望我寫出來,我(╯°□°)╯︵┻━┻,最後跟他聊了些ACM圈子的梗(大多都是從其他大佬那聽來的),第二輪面試就結束了,這一面大概是我迄今為止難度排前幾的一輪面試了。


第三輪是一週後的主管面,這一面就沒啥技術問題了,以哲學問題和聊人生為主,問我為啥要做那麼多專案,以後想做啥(我也不知道啊大佬ㄟ(▔,▔)ㄏ),其中他竟然對我之前寫的一個玩具編譯器感興趣(這也是迄今為止第一次遇到對這方面感興趣的面試官),他說他之前研究過LLVM(終於找到知音了大佬T^T),我們就聊了好久的PL,從編譯器前端聊到後端虛擬機器,再聊到Haskell和Ocaml,我幾乎把我學過的看過的聽PL大佬說過的東西都吹了一波,他表示贊同,不過給出建議是這些東西沒多少學生願意學了,兩人哈哈大笑,總之是體驗很好的一次主管面。

美團(前端崗,offer)

美團應該是我唯一一家面前端崗的公司(所以這裡可以好好說下前端面試經驗),在牛客上看到有幫內推的就隨手投了,然而他家的內推還是得參加筆試,然後是三輪技術面,一輪HR面。

這裡說下,國內公司不像外企,前後端分的很開,寫前端的一般只寫前端,不像外企大部分是沒有專門的前端崗的,一般都是前後端都寫的site組(有些直接叫vertical,加上移動端),所以一開始報前端崗的時候還有點擔心,不太清楚國內前端面試問啥,萬一被問到CSS佈局啥的我就跪了,也懶得為了應付面試去複習了,被問到就直接說不會算了,當然最理想的是問我js,react之類框架的原理,node,nginx之類的,問演算法就根本不指望了。

筆試就是常規的選擇題加兩道程式設計題,沒啥特色也沒好玩的題,就沒啥說的啦。

前兩輪面試是去酒店面的,排隊叫號,不過還好流程比較快,沒有等太久。第一輪上來自我介紹後問了一個跟網站相關的專案,然後開始展開問些基礎,不過幸好沒問啥CSS之類的,問的都是其他面經裡的常客題目,像開啟一個網頁經歷的各個過程,HTTP頭部,HTTP2.0之類的,期間我各種暗示可以問些跟js或react有關的問題,不過面試官並不鳥我,大概是他已經準備好了題目吧,按照他的題庫問完了就結束了,都是他問我答,很機械,不到半個小時就結束了。

第二輪面試官明顯就沒那麼死板了,跟我有了不少互動,跟我討論了下實習做的東西,問了很多細節,他還提出了改進意見,然後讓我用js寫程式碼,先是用setTimeout手動實現setInterval,很簡單,直接閉包加遞迴,然後是實現一個監聽滾動條開始滾動和結束滾動的監聽器,也不難,就是寫個監聽器來監聽scrollListener而已,再加個定時器,這兩題雖然不難,但我感覺還是挺考驗基本功的。接下來又聊了會redux的設計哲學,我就順便把redux簡單實現了下,他還挺滿意的,結束了面試。

第三輪是隔了一週去總部面的,人還是挺多的,不過流程很快,面試官基本沒問啥技術問題,全程基本是我一個人在聊專案,最後我趕緊抓住機會問了很多他家用的技術棧,跟預料的差不多,然後就結束了。

緊接著就是HR面,都是很常見的國內公司“HR式問題”,這些問題也都有“標準的campus式回答”,沒啥好說的。

網易有道(後臺研發崗,offer)

有道投的時候好像內推提前批已經結束了,就走的正常校招流程,筆試+四輪onsite技術面試+HR面。

有道筆試的程式設計題比我預想的難一些,第一題常規樹形dp(後來看了題解發現想多了,好像直接貪心就行),第二題簡單數學題,第三題當時沒全過(後來看了題解發現規律找錯了)。

過了一週通知面試,之前一直聽說有道的技術氛圍極好,裡面牛人很多,面試喜歡現場coding,所以還是挺放鬆的,至少不需要刻意去看面經了,很喜歡這種讓我improvise的面試。面試是週六,當時以為有道週六還加班,去了發現並沒有,只有HR和幾個面試官。我第一面在上午,面試官是個比較年輕的小哥,挺熱情的,先讓我挑個專案介紹下算是暖場,然後開始懟題,先是一道簡單概率題,再是一道最短路搜尋,很常規,優化直接可以雙向BFS或者A*,不過這不需要現場寫,最後是一道最大子陣列和的變種題,求最小子陣列絕對值和,這題還是挺有意思的,想了會,先給了個O(nlogS)的解法,S是所有數的和,就是直接對解二分查詢,他估計是沒想過這個解法,就先讓我實現給他看下,寫完後又讓我想下有沒有O(nlogn)的解法,然後我才發現剛剛腦子短路了,直接先求字首和再二分找最接近0的解就行,他還是比較滿意的(因為我給了兩個還不錯的解法)。

面完第一面已經中午了,HR把我們帶到網易食堂吃,可能是因為是週末,感覺食堂一般啊。下午第二面的面試官是第一面小哥的同事,也是先聊專案再做題,題目很一般,棋盤dp,然後他稍微變了下,給每個格子加上權重,我就轉成了圖求最短路了,然後手寫了個SPFA,最後聊了下有道目前的業務和技術棧結束了第二面。

第三面是另一個組的主管,畢竟有道,主管面也是上來先做題,給一張圖,求每個畫素的均值,其實就是二維矩陣求每個數與周圍8個數的均值,很簡單的題,先求二維的字首和就行,程式碼也很好寫。他看我寫得很快,還算滿意,就沒再問演算法了,開始跟我聊分散式的一些基礎架構,這個我不是特別擅長,只能懂啥說啥了,說了些開源的框架,也不知道算不算答得不錯,然後介紹了下有道目前在做啥,並著重說了下有道非常自由的技術氛圍,不是那種以產品需求為主導的開發,並且如果幹得不爽可以隨時換組,這點還是挺吸引我的,最後問我以後想做啥,我說不知道,比較尷尬 (⊙ˍ⊙)

第四面是加面的,面試官是一個負責多個部門業務的大佬,問得比較隨意,基本沒啥技術問題,以聊人生為主,主要是看你對一些問題的思考深度吧。HR面詳細得問了我其他家offer的情況和一些期望,也問得挺隨意的。


完美世界(後臺研發崗,offer)

完美我投的不是遊戲部門,是網際網路部門的後臺開發,走的提前批,三輪技術面試,一輪HR面。

第一面是個年齡比較大的面試官,應該是title比較高的吧,很嚴肅,抓著各種基礎知識一頓問,以C++為主,幸好C++用得多,應對得還算好,然後問了一道很常見的數學題,用12的磚鋪2n的地板有多少種鋪法,簡單組合數學題,我以為他接下來要變成m*n的地板,那就是比較難的狀壓dp的題了,不過我還是挺希望他問的,然而並沒有,問了個整數劃分的變種題,給了個搜尋加剪枝的解法,他還算滿意,其他還問了些Linux核心的東西,只回答上了兩個,結束了第一面。

第二面是個比較年輕的面試官,是做iOS開發的,所以應該算是交叉面,問了很多關於APP開發相關的東西,我雖然好久不寫iOS和Android了,不過幸好一些基礎還記得,後面扯到Dalvik,他好像對這個很感興趣,就說了很多虛擬機器的東西,最後算是面得還不錯吧。

第三面直接就是完美網際網路部門的老大了,完美的副總,不過是個很平易近人的大佬,所以聊得還是挺開心的,給我介紹了很多業務相關的東西,跟他之前做的專案,我就負責喊666就行了,比較容易的一面哈。最後HR面也聊得挺開心的,這個HR算是我見過的比較厲害的了,沒有問那些明顯是HR新手才問的問題,聊得很接地氣,給個贊。

騰訊TEG(後臺基礎架構崗,offer)

騰訊我投的很晚很晚,那時候筆試都結束了,所以沒來得及參加筆試,不過還是通知我去面試了,一輪onsite,一輪電面,一輪HR面。

第一面是去酒店面的,面試官先自我介紹了下(直接拿著百度百科介紹的Orz),是TEG北京這邊的一個高階架構師,很認真地給我介紹了TEG北京這邊做的東西,以基礎架構為主,我還是挺喜歡的,就跟她聊了下實習的時候寫的一個跟這個有關的專案,她也聽得很認真,並給了些意見,當時就感覺我走大運了遇到一個很nice的面試官。然後給了我一道題,字元排序,她直接說了她不喜歡出難題,主要看程式碼實現,我也不敢大意,就非常小心地寫完了程式碼,用的計數排序,而且用上了一切可以想到的規範程式碼的寫法,並考慮了所有case,她看完還是比較滿意的,給了我她的微信結束了面試,面試官熱情又認真,個人感覺這一面面得很舒服。

第二面是電話面試,就在國慶前一天,深圳那邊TEG的boss打過來的,先是問了些個人選擇問題,問我為啥要投TEG,為啥沒投阿里(哈哈,好問題),幾乎沒問啥技術,我答得也算中規中矩吧,實在沒啥可以自由發揮的空間。

HR面就更迅速了,聊了大概20多分鐘,就是一些個人資訊,研究方向,以後的職業發展,目前有哪些offer之類的。

滴滴(前端轉後臺崗,offer)

滴滴比較神奇,之前內推投的前端,九月初通知去面試,算是提前批吧,然後一面面試官看了下我的簡歷,說我做的大部分不是前端的專案,推薦我去面後臺,然後就喊HR過來改了我的崗位,我一臉懵逼(OO)?,我還啥都沒說呢大哥,更扯的是HR說當天安排不了了,讓我回去等通知,我(OO)?,這一等就等到了九月底,厲害了。

國慶節前去面試了,從上午9點一直面到下午6點,大部分時間都是在等,一面都是各種基礎知識,很雜,題都記不清了,二面聊專案,用了40分鐘好好講了下自己的一個專案,很爽,三面基本都是聽面試官在說,詳細介紹了部門的業務,個人覺得還ok。

網易遊戲(遊戲研發崗,offer)

我對網易遊戲是有一些情懷的,本科的時候一直是我的dream company,我投的是互娛,筆試加兩輪onsite面試。

網易遊戲的筆試難度還是有的,兩個半小時5道題,A了4道,前三道水題,第四道是個模擬題,個人對模擬題比較拿手,所以過得還算順利,最後一道是個與或二叉樹,貌似之前在哪見過,不過當時並沒有寫出來。

今年北京這邊的onsite安排得很晚,一直到十月中旬才開始面試。過去開始面試之前先要現場用紙寫一道題,我那一場是連通分量,由於題很簡單而且時間充足,所以可以慢慢寫,儘量考慮好各種case,並優化下程式碼風格。

第一面面試官會先看下剛剛那道題,如果寫的沒問題就開始正常面試了。第一面問了超級多C++的問題,除了基礎的泛型,多型,STL實現之外,還涉及到一些很tricky的技巧,有些是他工作中遇到的,我覺得我答得還算可以,還跟他討論了一些編譯器前端的東西。然後就問了些作業系統和計算機網路的常規題,還是老一套。終於等到演算法題,先是篩質數跟爬樓梯,寫得比較快,然後是硬幣找零有多少種找法,直接無限揹包,然後不讓重複,換成了dfs加順序剪枝,結束了一面。

二面面試官應該是深圳那邊的一個技術主管,我以為大佬面不會怎麼問技術了,沒想到這一輪全是在做題,一共五道題,整體難度還是挺大的,第一題是實現一個可以拿到最大值的滑動視窗,比較簡單,維護一個單調遞減的佇列就行;第二題是個並查集的裸題,沒啥意思;第三題是凸包,因為我不是圖形學方向,所以我寫了個向量叉積的虛擬碼大佬表示還ok;第四題是個數學題,等概率在一個圓裡面分佈點,我想了挺長時間的,最後想了個先隨機角座標再隨機半徑開根號,他滿意的,讓我證明等概率,數學渣表示我不會證啊T^T,只說下了用向量密度敷衍了事;最後一題還剩5分鐘,是個系統設計題,是他們開發中遇到的,大併發實時排序並求每個人的排名,我說了個改進紅黑樹的方法,他好像不是很滿意,時間不夠就結束了。這一輪面試雖然題不是特別難,但是全程無廢話,一題懟完再來一題,爽爆。

網易遊戲的效率挺高的,週末面完週一直接讓去現場領offer,過去發現北京這邊的諸多知名大佬們相聚一堂,商業互吹,互相打聽各家offer,充滿著快樂的氣氛( ̄. ̄)

百度(後臺研發崗,offer)

百度沒有走內推,筆試加三輪技術面。

筆試很水,面試跟網易遊戲同一天,而且都是週六上午,所以果斷先去面了網易遊戲,下午去百度的時候見識到了什麼是人山人海 (⊙ˍ⊙),領到編號是9,發現周圍的都是500開外,這一上午面了500人?(⊙ˍ⊙),抱著重在參與的心態去食堂面試 ,第一面面試官很奇怪,我手寫了兩道水題後一直在自己電腦上瘋狂打字,讓我等等,中途看我沒事幹覺得有點尷尬就又出了兩道水題,讓我慢慢寫,我寫完他還沒打完,我興趣大跌,就乖乖在那等他敲完了字,結束了這一輪,第二輪很普通沒啥說的,第三輪面試官除了問技術還問我怎麼看待百度的負面新聞,好尷尬 (⊙ˍ⊙)

華為(雲端計算崗,offer)

玄學招聘,很多人吐槽,我面了兩面,本來是當天最早那批,結果第二面等到了下午4點,中途還跑出去面了個搜狗,兩輪都是以聊人生為主。

搜狗(搜尋研發崗,offer)

沒有內推,筆試+三輪技術面+一輪HR面。

第一輪沒啥說的,四題AK,題都是面經裡的常客。第二輪由於水題寫得比較快,面試官問了個挺有意思的題,楊氏矩陣(行和列都是有序的矩陣)找數,最快可以O(m+n)這沒啥說的,怎麼設計test case能保證最壞複雜度的查詢,我想了挺久,面試官提示考慮兩個相鄰對角線,我恍然大悟,然後拓展到三維楊氏矩陣怎麼設計case,那就是考慮跟主對角線垂直的剖面了,挺好玩的哈。第三輪系統設計,面試官全程在忙自己的事,這種感覺很不好,所以我也敷衍了事。HR面聊了很多,互相交換了不少資訊。

國內創業公司

依圖(offer)

因為上一屆學長拿到了依圖的offer,給得挺嚇人的,所以就想看看他家的難度,四輪技術面,應該是我面過的公司裡難度最大的,感覺遇到了整個上交ACM隊Orz。

第一面是給個加權二叉樹的中序找最大加權後序,當時腦子短路說了個Catalan暴力,面試官笑笑讓我不要緊張,幸好沒短路太久,發現是個區間dp的題,然後就順手寫下了遞推公式,面試官挺滿意的,不過因為要找最大加權後序本身,所以還是得寫成top-down+memo,寫得還是挺快的,這一輪算是開始進入狀態吧。

第二面直接就是大佬面,因為大佬有事要先離開,所以提前面我了,大佬是原阿里雲總架構師林晨曦大大那一系的,在google總部呆了三年回來在阿里雲呆了八年,在分散式工程領域的造詣真的讓我歎為觀止,非常厲害,跟我聊了好多好多,從技術聊到人生,還有很多阿里雲的前程往事,就跟聽故事一樣,很過癮,著實讓我大開眼界,跟這樣的大佬聊天真是一種享受。

第三面迴歸正常演算法懟題,我還沒從上一面大佬的精彩分享中回過神,就被問了個二維矩形面積並的題(似曾相識),因為之前重點練過線段樹,所以寫得比較輕鬆,面試官挺滿意的,就說我們不聊演算法題了,我以為要開始聊人生,然而小哥笑著問我19世紀怎麼測光速,嗯(O_O)?,這是在考我歷史?還是物理?不過感覺挺有意思的,就開始回憶初高中物理課本,然而回憶了半天發現以前學的早忘光啦(╯°□°)╯︵┻━┻,所以只能用我那點可憐的天文知識開腦洞,他聽我瞎扯了半天越說越不靠譜,就說可以用齒輪測法,好像高中物理確實學過,然我讓我估算了下各種距離和轉速結束了這一面。

第四面繼續懟題,手寫hashtable連結串列實現,講了下莫隊演算法原理,然後出了一道ip地址掩碼匹配查詢的題,典型字首匹配,我用Trie寫的,他讓我優化到4次查詢,就是按位元組查,然後存最後不匹配的所有可能情況,這一面難度挺大的。

-----------------------------------------------------------------------------------------------------------

相關推薦

2018網際網路頂級公司實習端面試題

2018校招總結(外企,國內大公司,國內創業公司) 本篇是我參加2018春招實習和秋招的求職經歷,除了筆試面試中遇到的一些問題,更多的是一些個人想法。春招和秋招面了不少公司,實習offer有網易互娛,今日頭條,Hulu,最終選了Hulu。校招目前拿到offer的有 微軟美國,

我的2018:OCR、實習

真的是光陰似箭,好像昨天還沉浸在考研成功的喜悅,今天卻要即將步入2019年,即將碩士畢業。老規矩,還是在每一年的最後一天總結今年以及展望明年。回首2018,經歷的東西特別多,視野也開闊了不少,可以說,2018是豐收的一年。如果用三個關鍵詞來描述我的2018,那無疑是:OCR、實習和秋招。 2018是研究生成

騰訊2018實習生面試問題

2018.04.18 首先,我先說說整個過程吧。(如果對過程不感興趣的話可以直接拉到下面的面試題) 筆試(我覺得考的稀爛,以為沒有面試機會的)結束後大概一週,下來了面試通知,下午三點半。 我從我們大學提前一個半小時從實驗室出發的,到目的地的時候差不多2:50分了,三點的

2018網際網路金融公司排名——Top100(附完整榜單)

網際網路金融一直飽受質疑,但隨著監管力度的加強,行業越來越規範、透明。騙子公司被清理,剩下了值得信賴、靠譜的公司。在最新發布的2018網際網路金融公司排名中,螞蟻金服依舊高居榜首。排名第二的是後起之秀京東金融,排名第三的是微眾銀行。下面排行榜123(phb123.com)就為

有n根長度不同的木棒,隨意選取三根湊一個合法的三角形,求總拼湊方案的數量(2018騰訊軟體開發-後臺開發方向補考試題第三題)

題目: 有n根長度不同的木棒,隨意選取三根湊一個合法的三角形,求總拼湊方案的數量。對於兩個方案,只要有一根木棒的長度不同,則視為不同拼湊方案。 輸入描述 第一行為正數t(0 <= t <= 10),表示測試用例數 接下來每兩行一個測試資料,第一行一個整數n

2018年各大網際網路端面試題三(阿里)

                三月份有很多朋友辭職跳槽,也遇到了許許多多的面試題,在交流群裡和網站上總結了一些常見的面試題,細細分析,其實基本都是萬變不離其宗,所有的問題都是從某一技術點的基礎出發,綜合考量,如果懂得了這項技術的原理所在,題目答起來內容都差不多能答對。基礎簡單介紹一下自己,為什麼選擇做前端?

2018年各大網際網路端面試題四(美團)

三月份有很多朋友辭職跳槽,也遇到了許許多多的面試題,在交流群裡和網站上總結了一些常見的面試題,細細分析,其實基本都是萬變不離其宗,所有的問題都是從某一技術點的基礎出發,綜合考量,如果懂得了這項技術的原理所在,題目答起來內容都差不多能答對。 基礎 首先介紹一下自己最近的專案

2017各大網際網路公司端面試題

2018年校招即將到來,筆者去年經歷過秋招大潮,也曾迷茫困惑過,前端面試越來越難,但卻不是無跡可尋,只要做好充足的準備,拿到 N 個 Offer 不是難題! 如何能讓自己的簡歷脫穎而出,拿到面試機會?如何自我介紹,吸引面試官注意力?彙總了筆者2017年面試阿里巴巴、騰訊、百度

2018年各大網際網路端面試題五(今日頭條)

基礎行標籤都有哪些?特點?img標籤的用法請描述一下cookies,sessionStorage和localStorage的區別?一個div,高度是寬度的50%,讓該div的寬度佔據整個螢幕,然後能自適應,垂直居中,怎麼實現?針對移動瀏覽器端開發頁面,不期望使用者放大螢幕,且要求“視口(viewport)”寬

端面試題:JS中的letvar的區別

blog ocs undefine define 規範 target {} 擁有 comment 最近很多前端的朋友去面試被問到let和var的區別,其實阮一峰老師的ES6中已經很詳細介紹了let的用法和var的區別。我簡單總結一下,以便各位以後面試中使用。 ES6 新增

2018 大廠高階端面試題彙總

2018 大廠高階前端面試題彙總 阿里 使用過的koa2中介軟體 koa-body原理 介紹自己寫過的中介軟體 有沒有涉及到Cluster 介紹pm2 master掛了的話pm2怎麼處理 如何和MySQL進行通訊

2018 年最新傳智播客黑馬 WEB 前端 36 期全套(贈1000套HTML模板+端面試題彙總)

週末了,放鬆下,分享一波資源給大家~ 教程千千萬萬,堅持寥寥幾人。 以前沒人教,但肯堅持。 現在有人教,沒人堅持。 儲存 100TB,實際是擺設。 大吉大利,今晚吃雞? 視訊+筆記+案例+素材 適用人群:零基礎Web前端開發 課程內容 獲取方式 關注

【面試】2018大廠高階端面試題彙總

面試的公司分別是:阿里、網易、滴滴、今日頭條、有贊、挖財、滬江、餓了麼、攜程、喜馬拉雅、兌吧、微醫、寺庫、寶寶樹、海康威視、蘑菇街、酷家樂、百分點和海風教育。  阿里 使用過的koa2中介軟體 koa-body原理 介紹自己寫過的中介軟體 有

2018大廠高階端面試題彙總

本人於7-8月開始準備面試,過五關斬六將,最終抱得網易歸,深深感受到高階前端面試的套路。以下是自己整理的面試題彙總,不敢藏私,統統貢獻出來。   面試的公司分別是:阿里、網易、滴滴、今日頭條、有贊、挖財、滬江、餓了麼、攜程、喜馬拉雅、兌吧、微醫、寺庫、寶寶樹、海康威視、蘑菇街、酷家

端面試題彙總 2018/12/04

盒模型 標準盒模型:由裡向外content,padding,border,margin IE怪異和模型:寬高是內容(content)+填充(padding)+邊框(border)的總寬高 通過JS獲取盒模型對應的寬和高,有以下幾種方法: 為了方便書寫,以下用dom來表示獲取的HTML的節點。 1.

2018端面試題總結2

HTML5的離線儲存有幾種方式? 1.本地儲存localstorage 儲存方式: 以鍵值對(key-value)的方式儲存,永久儲存,永不失效,除非手動刪除。(每個域名5M) 儲存內容:陣列,圖片,json,樣式,指令碼… 2.本地儲存sessionstorage HT

2018 vue端面試題總結

1、active-class是哪個元件的屬性?巢狀路由怎麼定義? 答:vue-router模組的router-link元件。   2、怎麼定義vue-router的動態路由?怎麼獲取傳過來的動態引數?  答:在router目錄下的index.js檔案中,對path屬性加上/

端面試題之HTTP請求(包括請求的方法型別、請求與響應、getpost的區別)

經歷了一波秋招,整理了一部分面試題,也是趁這個機會再鞏固一下知識點。(本來想把所有的知識點都寫在一篇部落格中,感覺太冗長了,不如一篇一篇的整潔。) 一、HTTP請求(主要從請求的方法型別、請求訊息和響應訊息、get和post的區別這幾部分來說) 1、請求的方法:HTTP1.0定義了三種請求方

2018年 年底web端面試題總結(附帶答案)

javascript:  JavaScript中如何檢測一個變數是一個String型別?請寫出函式實現 typeof(obj) === "string" typeof obj === "string" obj.constructor === String 請用js去除字串空格? 方法一:使

2018最新Web前端經典面試試題及答案-史上最全端面試題(含答案)

近期總結一一些面試題 都是企業的面試題筆記題感覺薪資10k下的都會出筆試題   特別高的薪資都是直接技術面試或者是 現場程式設計 總結很多人的面試題,後期會對於單個知識點再說筆記詳細講解。部分都是百度的答案,不是特全面的,可以自己找下紅色為常見面試題=============