IBM中國研究院實習生
早在今年4月份,我面試的是IBM中國研究院的實習生崗位,主要是自然語言處理和語義網方向。那時我還在香港上學,兩個考官對我進行的是電話面試,大概持續半個多小時,首先是我的自我介紹,然後將自己的學習經歷和項目經歷進行介紹,然後根據這些介紹陳述問我問題,主要問了我算法和數據結構,碩士期間學習過的大數據和數據挖掘方向的算法,像PageRank,LDA主題模型,再比如聚類與分類,像kmeans,DBSCAN,決策樹等等,像SVM,神經網絡等都沒有問,畢竟是實習生崗位,並沒有問的太深,但是基礎還是必須要有的。再有就是經典算法,比如圖算法,他們當時現場問了我一個問題:給一個幾百萬個點,幾千萬條邊的大規模圖,如何高效的求任意兩點之間的最短路徑。
SAP中國研究院
這個是社會招聘,我當時是抱著試試看的心態去的,當然這個也是電話面試,因為那時我在IBM實習。大概流程也是,我先做自我介紹,然後是學習和項目經歷。接下來考官問了我數據結構和算法還有操作系統編譯原理方面,首先是,非遞歸的快速排序怎麼寫,非遞歸的二叉樹中序遍歷,然後是問了我多級反饋隊列調度算法,接著問我,從編譯原理的角度說說.c文件和.h文件的區別,我當時理解成從編譯時的不同來說,結果後來發現答錯了,是的,從編譯原理的角度說。
網易游戲
今年的網易游戲校招,我選的放向是商業智能,其實也是大數據分析,筆試我個人感覺比較簡單,像二叉樹的非遞歸實現,輸入任意個數,求1到這個數的全排列,非遞歸。還有一些指針方面的題,再就是鏈表插入操作之類的。最後一道題是個大的系統題,和百度去年的筆試題如出一轍,考得是分布式系統的設計。
一面的時候,主要是做自我介紹,然後講項目經歷,這時,考官問我,這些算法你都代碼實現過嗎,我說是的,我都實現過,這時他拿了一張紙出來給我,要我將最基礎的kmeans算法的主要實現代碼寫出來,這些我確實寫過,所以很快也就寫出來了。接著考官問我了對數據分析的理解,還現場出題問我,如果你是一家繁華地段的老板,你會采用什麼方式來提高利潤,重點是只是一個便利店,而且是在繁華地段,比如上海外灘。
二面也就是終面的時候,主要是現場出題讓我做,考得是調度問題,如果你是快遞公司的老板,在一個10平方公裡的區域內,每天有兩萬個包裹要寄送或接收,而且一個月服從平均分布,求出應該給這個區域分配幾個快遞員,再就是請設計一個合理的調度model來高效的實現這個區域的快遞調度。
後來就是聊聊生活,問問我的愛好啊,崇拜哪個人啊,對工作城市的要求啊,薪資期望啊,最早可以什麼時候上班啊之類的。
IBM西安CDL面試
聊了兩個半小時,從三點半聊到下班,我也是醉了,這裡是開發和數據分析兩方面都問。開發方面,主要問了java和設計模式,java方面問了反射機制,流,java多線程,對面向對象的理解,設計模式方面,考官說,不要和我說什麼裝飾者模式,工廠模式的,然後問我對設計模式的理解,再就是出了一道題,如果要實現一個功能,可以向文件存儲,也可以向數據庫存儲,也可以向其他以後擴展的地方存儲,該怎麼設計。數據分析基本上和上面幾家公司問的數據挖掘的方面差不多,但是還問了更具體的隊數據挖掘的理解,數據挖掘的主要流程,還問了我項目中對某算法選擇的原因,比如問我為什麼會選擇kmeans來進行聚類,而不選擇別的算法。還問了我對大數據的理解,大數據的大體現在哪裡,再就是對於電子商務網站的商品推薦,推薦原理是什麼,可以怎麼改進等等。最後現場出了一道算法題讓我寫,就是輸入一個數比如3,那麼輸出A,B,...Z,AA,AB,...ZZ,AAA,AAB,AAC,...ZZZ,輸入的數是任意的,然後寫出實現代碼。
總結一下,其實面試主要還是看你所投職位的方向,術業有專攻,基礎一定要打牢固,這樣拿offer才不會感覺到那麼難!