1. 程式人生 > >秋招面試經驗(百度+華為+京東+美圖+51+頭條+招銀科技+美團+騰訊+阿里+網易面試經驗)&部分建議 (研發崗:java研發,大資料研發,研發,雲端計算研發)

秋招面試經驗(百度+華為+京東+美圖+51+頭條+招銀科技+美團+騰訊+阿里+網易面試經驗)&部分建議 (研發崗:java研發,大資料研發,研發,雲端計算研發)

        18年9月底結束秋招, 本來說是要寫秋招經驗的。 結果被我拖到了現在,  今天是我在某BAT之一實習的倒數第二天,馬上就要回去做畢設了,正在總結,正好得空。 

        本人某工科985碩,8月底參加秋招,9月底結束秋招, 之所以那麼遲秋招只是因為當時在旅遊,不想其他事分心,同時也是因為沒準備好,  那麼早結束秋招只因為實驗室工作催得緊,秋招也實在疲憊。

        秋招一共收穫5個offer,  按照順序  美圖(base:廈門) 百度(base:上海) 華為(base:杭州) 京東(base:北京) 51信用卡(base:杭州)。   崗位:大資料研發&Java研發。 

        8月中結束旅行回校開始準備複習, 3-4月份實習招聘的時候已經看了一點點書幫我分擔了一下這次壓力。不過還是很蒙的,畢竟很多知識都忘了,更多知識是在後面面試時候被卡住然後回去補的。   

       計算機相關工作要求:    1.肯定是一門熟練的面嚮物件語言(java,c++等皆可) 2. 深入理解計算機基礎  3.一些其他工作   4.專案

       主要總結的知識點:  

            1. Java知識(《深入理解JAVA虛擬機器》、《Effective java》、《JAVA核心技術1,2》):  這三本書是基礎,當時虛擬機器看了2遍, effective和 核心技術看了1遍, 然後還看了所有集合類的原始碼。  還總結了一部分設計模式的知識。  也看了最新版JDK的改進。     刷了一小部分java知識面試題。     上述都是邊面試 邊改進的,  總結完後 java知識基本沒有被問倒,實在不會也能扯到其他的。

           2.  計算機基礎知識 (《作業系統》、《組成原理》、《資料結構》、《演算法導論》、《計算機網路(TCP/IP詳解,圖解HTTP)》、《資料庫》、《Linux》每一本都博大精深,我都只是粗略看看,都透徹那面試簡直是砍瓜切菜。。。。《算導》、《資料結構》曾經ACM的時候比較熟悉 所以看的少 《作業系統》  較為認真的看了一遍。  《組成原理》、《計算機網路 (TCP/IP詳解那套,圖解HTTP)》 這兩部分因為時間緊,所以只看了一部分,剩下全靠扯淡。 《資料庫》直接被我放棄,實在沒時間看,《Linux》很重要,建議直接把電腦換成linux,我就是一直用linux機器,所以方便一些。

            3. 一些其他工作   各種資料庫,大資料相關技術,java各種框架,各種扯淡知識等。。。

            4. 專案  背好自己做的專案。

就是靠著上述知識就balabala投投投。

筆試:樓主曾經的ACMer, 筆試基本沒被刷(印象中只有拼多多說我程式碼重複把我刷了,把我給氣的,跟HR瘋狂BB。是一道大數加法,我直接用我以前程式碼了,所以就GG了,以後還是自己打吧。)。如果讀者曾經不是ACMer,建議提早刷題,越早越好,可以每天刷一題。 leetcode ( hdu poj & 其他oj) 刷透基本無敵。

題主因為自己作孽基本都沒參加內推&提前批,直接走秋招,如果能走內推&提前批儘量走,不僅因為多一次機會,更因為這是一次很好的查漏補缺的機會 &刷面試經驗的機會。

(一)美圖面試(2技術+1HR)  : 大資料研發

一面(1個小時):(1)聊專案,題主看過HDFS原始碼,面試官就跟我扯了很久 這個。 (2)聊hadoop,namenode的職能呀, 2.0與1.0的區別, HA的實現方法。 zookeeper原始碼我也看過, balabala (3) 對MR 瞭解多少,具體講解一下MR 。 我看過 MR google 原文, balabala 。 (4) Java基礎,JVM 瞭解多少 。 深入扯淡了一波 jvm (5) 程序,執行緒。 Java是如何實現執行緒的 。 講了一下作業系統程序執行緒 (6) Java執行緒同步和鎖。 瘋狂BB Java各種鎖 (7) 除了技術平時喜歡看什麼書,巴拉巴拉扯了一堆 。 面試官推薦我看《三體》 ==二面 (30分鐘 ): (1)專案相關的東西 。 繼續扯淡 (2)對美圖公司的看法,評價 (3)講解一下Paxos 協議 。 巴拉巴拉很仔細的講了 (4) 有哪些 應用使用了這些 分散式一致性協議。 zookeeper三面HR面(20多分鐘):記不清了, 只記得。 (1)你的期望工資是多少: 樓主說少了,很後悔(2)有沒有物件 : =-=。

體驗很棒,2輪技術面試官都非常好,HR聲音超級棒。

(二)百度面試(3技術): 研發工程師

一面:(1個小時)(1)自我介紹(2)面向物件的特點(3)java繼承有哪幾種?頂級類是什麼?(4)Object類都有什麼方法?(5)1 ==與equals的區別 2 修改equals的時候為何要修改hashcode() 3 如果讓你設計一個類作為hashMap的key,你會注意什麼 (就是設計hashcode時候會注意什麼) 4 equals相等hashcode一定相等嗎? hashcode相等,equals一定相等嗎(6)wait() 與sleep()什麼區別?(7)1 剛才講到了hashMap,那你就講一下hashMap的具體實現。 2 你會如何做的執行緒安全的hashMap 3 瞭解過jdk1.8嗎? 對於hashMap底層進行修改過。(鏈改成了紅黑樹) 4 那麼當數量達到多少時候,會改成紅黑樹? 5 底層中擴容的方法叫什麼?(8)1 寫單例模式, 需要lazy loading的 我寫了2個,其中一個雙重判斷,然後面試問我: 2 很多人在寫雙重判斷的時候會加入雙重上鎖,為什麼呢? 回答後面試官又問我 3 知道jdk 1.5之後新增的一種實現單例模式的討巧方法嗎? 4 enum 如何實現單例模式?(9)1.快排會嗎? 講一下思想 2. 如何判斷是否越界 ? 3 手寫快排 3. 如果讓你優化快速排序,你會如何優化(回答:遞迴-》非遞迴,基數隨機選擇或者選擇中間數作為基礎) 面試官回:可以用三位中位數(10)jvm瞭解嗎? xmx xms xmn 這三個引數代表我對於虛擬機器做了什麼限制嗎? (控制記憶體大小)(11)Linux瞭解嗎?我說我用ubuntu作為作業系統的, 面試官就直接跳過了這個問答。(12)設計一個圖書館管理系統的表? (13)Spring的IOC,AOP底層實現原理?(14) 你有什麼問題沒?

二面(1個小時):

      遲點補。。。

三面(1個小時):

     遲點補。。。

百度面試體驗非常棒, 雖然筆試系統比較糟糕。  面試的話: 每次都會打電話約第二天面試時間,而且是準時開始面試,如果遲到面試官還會給你打電話問情況(2面我就遲到),總之三次面試都是到了酒店直接面,面試官全程nice臉,面試難度也挺大的,一直都是問到你不會為止,尤其是三面面試官,感覺上知天文下曉地理,無所不知,獻上小弟膝蓋。 3輪面試是分開面試的 一共面試了一週時間。

(三)招銀科技:java研發

一面:你做大資料,會java嗎? 會的。(1)自我介紹(2)抽象類和介面的區別。 他們的應用場景(3)1. equals 和 == 的區別 2..為什麼重寫equals 的時候需要重寫hashcode (4)1.java 中的鎖 有什麼 2.sychronized 鎖static方法和鎖普通方法的區別 3. wait 和notify(5)java集合瞭解情況? (6) 1.java IO瞭解嗎? 2.InputStream 和reader流的區別 3.給一個JDK編碼的,以UTF-8編碼輸出的方法 (7) 往一個hashMap中新增一個元素的具體步驟 (8) jvm 執行時的資料區 (9) jvm中哪些物件是需要被回收的 GC roots都有什麼 (10) java呼叫jdbc連線資料庫的具體步驟 (11) preStatement和Statement的區別 (12) Spring是如何實現事務的(13)Hadoop 中的MapReduce的具體步驟

面試還好,全程笑嘻嘻,然後MMP

(四)今日頭條 :大資料研發

一面:(1)說一下TCP的全雙工模式(2)TCP一端如果傳送完資料之後,這一端關閉連線,另一端能感知到嗎(3)說一下HTTP2.0與1.0的區別(4)說一下HTTP1.0的報文頭(5)實現兩個執行緒,一個執行緒只輸出A,另外一個執行緒只輸出B, 讓他們交替輸出AB(6)設計一個Hash Table(7)你這個HASHTABLE會擴容嗎? 假設這個時候已經使用了1G記憶體,只剩下一點點記憶體,你如何擴容(8)大資料解決問題:給你大量 id->ip, ip屬於一個國家,請你設計大資料解決方法,統計出 對應國家數大於3的Iid一面就GG, 頭條是6. 也是在被頭條GG之後題主奮發圖強,最後才找到工作。。感謝頭條。。

頭條面試壓力不小:不給你BB機會上來就是一堆問題,面試官全程平淡臉。。。。。

(五)華為面試  :  雲端計算開發

  一面(半個小時):

        講了專案,然後就是圍繞專案問了一堆知識,主要是分散式系統以及一致性相關的知識,個人感覺相對比較簡單。

 二面(半個小時):

        面試官全程打字,我就只能沒話找話全程BB,吹噓自己。。。。。

    華為面試體驗比較糟糕,水平一般(可能是問我比較一般),而且從早上一直弄到了很晚,瘋狂延遲,一共才2面。(等了6-7來個小時,一共面1小時不到。。。。服,大寫的服。)

(六)京東面試(2輪技術面+1HR) : JAVA研發

一面(半個小時):

    JAVA虛擬機器的知識

    類載入

    == equals之類的

二面(半個小時):

    自我介紹

    專案

    假如給你一家京東線下店,你會如何擺放商品,從而提高商品銷售量。  (題主就瘋狂想提高顧客與商品接觸機會呀,牛奶與尿布關聯呀,balabala )。  結果是要收集各種資料,大資料分析(offline 處理(MR),online處理 (spark))等等等。。

 三面(15分鐘):

    這我是真地鐵上面試的, 扯淡。。。。

玄學東。面試等待時間挺短,但是面試比較玄學,尤其是二面,面試官瘋狂打字,我寫我的思路,基本沒有交集,最後還給offer了

(七)騰訊面試    雲端計算研發

   一面(30分鐘):

    掏出筆試。。。我也是無奈。。。

    單例

    手寫搜尋題程式碼

    。。。。

    二面:

    GG

騰訊面試體驗還好,等待時間較短,面試官很nice,也很厲害。

(八)美團面試   研發

一面(40-50分鐘):

        自我介紹

        專案

        幾道java題目

二面(40分鐘):

        自我介紹

        專案

        手寫堆排序

然後GG

    對於美團,還是有很多想法的。  首先面試等待時間較少這點不錯,面試安排的還可以。  但是說起面試官技術,實在不敢恭維,面試陣仗很大,但是很多面試官。。。。 一面面試官,水平還好,人挺nice的,我全程懟,他還讓我過了。 二面面試官,年紀略大的一個大哥,跟他說了我的專案你沒有背景可能不懂,非說我不懂你就要給我講懂,wqnmlgb, 你都沒有背景跟你詳細個錘子,全程思維跟不上,還硬讓我說懂,跟他仔細的&慢慢的說了還質疑我專案可行不可行,是不是我做的。  最後手寫的堆排序,還要自己拿過去看了好久,發呆了好久,看完讓我走。  堆排序難道不是一眼看完?    當然也可能是我那天狀態不好,程式碼沒寫清楚&表達的不好,就導致了這樣的局面。    美團面試官是讓我有些難受,但是總體還是好的。

(九)阿里面試: 演算法工程師 & 網易:大資料平臺研發

演算法工程師就是一個坑,一面面了2個小時,已經忘記了自己在講什麼。    不建議選演算法工程師。。。   

網易是直系師兄面試我,同一實驗室,知根知底,全程挑我不會的問,最後一面就GG,結束後微信指導了我一下,但是面完網易我已經決定結束秋招, 傷心了。。。。。

(十)51信用卡:JAVA研發  (三面技術面+HR面)

一面(30分鐘)

    一些java基礎知識跟之前類似

二面(30分鐘)

    自我介紹

    專案

    github之前做的東西, jvm,spring,mybaits

三面(1個小時)

    自我介紹

    專案

    生產者消費者,出現死鎖,已經多執行緒的知識瘋狂多執行緒各種鎖

    單向連結串列求倒數第N個元素(2個指標)

    成環咋辦(2個指標弄嘍), 環的起點,終點如何求(弄嘍)

    然後大談51的前身今世,各種技術扯淡

HR面(15分鐘)

    三面結束後馬上HR面,瘋狂扯淡一堆,然後就搞定了。

51的面試非常棒,三面官是個浙大的個性大哥,長髮披肩,鬚髮茂盛,人很好。  51還給報銷酒店住宿,來回車費,還送娃娃,各種貼心,各種有錢。  51非常的有錢!!!!

有些面試詳情我記不太清楚了, 想到再補充。  總之呢,首先最重要的是基礎知識紮實,程式設計能力紮實,專案內容背的熟練 有了這3點就簡單狠多了,基礎一定要紮實。  然後就是面試的時候各種造航母 了,  瘋狂BB&不要臉是成功的一半。

面試體驗分檔:

一檔:百度,51,美圖

二檔:京東,頭條,招銀,美團,騰訊,阿里,網易

空一檔

四檔:華為