1. 程式人生 > >阿里巴巴(菜鳥)- 演算法工程師(機器學習)提前批筆試面試總結

阿里巴巴(菜鳥)- 演算法工程師(機器學習)提前批筆試面試總結

前面一直在準備出國留學申請,中間投遞了華為、騰訊、阿里三家公司。幸運的是拿到了華為多媒體演算法崗的SP騰訊遊戲3D視覺演算法崗的SP(真愛)阿里巴巴菜鳥物流演算法崗的A級。接下來將投入到論文發表、計算機名校申請中。

Attention1:本文是博主準備阿里秋招的筆記內容。

Attention2:本文只為了記錄自己的經歷,不適用金字塔層級的大神、大佬。

1. 申請職位描述

阿里巴巴-菜鳥物流:演算法工程師(機器學習/深度學習方向)

其實,筆者大部分時間都在陶瓷、準備留學文書。此前並未準備找工作的相關事宜,僅利用暑假十天時間複習了一遍《機器學習與模式識別》、《劍指offer》、《計算機視覺演算法與應用》。

2. 申請流程

2.1. 技術面:~40min, 8.4

懟專案;介紹一個你最熟悉的專案(基於判別式濾波的跟蹤、基於深度網路的匹配跟蹤、基於立體形變匹配的跟蹤): 1.專案中使用的什麼機器學習方法,應用了那種深度學習框架,採用哪種深度平臺實現的; 2. 解釋SVM,解釋最大間隔分類,解釋SVM和LR、SR、FR的不同之處; 3. 如何理解SVM中的函式間隔functional margin 和 幾何間隔 Geometry margin 4. 這個專案中遇到的最大的困難,怎麼解決的;

懟資料結構; (1)   描述雙向連結串列,給個連結串列讓描述過程,時間複雜度; (2)   有沒有資料結構的paper(沒有); (3)    B樹和B+樹的區別;

懟競賽;(1) 大學生數學建模競賽和美國大學生數學建模競賽選一個你最熟悉的,講一下你們的模型;(2) 美國建模競賽是全英文的嗎?你們幾個人參加的,你的貢獻是什麼?(3) 解釋一下系統動力學模型,為什麼沒有采用深度學習?(那個時候我才20歲出頭 深度學習都沒聽過...

懟C++/Python/演算法;1. python 垃圾回收機制解釋一下(熟練的背誦); 2. 知道哪些垃圾回收演算法,他們有什麼區別; 2.選一個你最熟悉的快速排序演算法(萬能的堆排序),解釋一下最糟糕的情況應該是什麼情況; 

懟部落格;部落格堅持多久了,來公司要注意專案的隱私,你還會繼續寫部落格嗎?(會,工作歸工作,學習歸學習

)。

2.2 技術面:~40min,8.17

懟專案,你這麼多專案我也不能一個個問,挑最熟悉的專案介紹一下 1. 小沈,C++很不錯啊,那你說一下深拷貝的細節,如果我不採用深拷貝會有什麼風險(記憶體洩漏) 2. Python中是如何實現深拷貝和淺拷貝的? 3. 為什麼選擇用了SVM作為分類器? 4. 有沒有考慮過其他分類器,如隨機森林? 解釋整合分類器的優勢。

懟專案;小沈你對juc包熟悉嘛,用過執行緒池嗎?1. 怎麼用的 2. 說一下執行緒池有哪些引數 3. 執行緒池的底層原理 (全程朗讀背誦)

懟程式設計;你使用過C++/Python/Matlab/Java/Qt 1. 那麼你對那個最熟呢?(matlab) 機器學習直接呼叫庫函式還是自己寫(分情況討論) 2. C++/python你擅長哪一個?(C++) 那我們說說Qt(絕對假校友...) 闡述一下訊號-槽機制

對資料結構、演算法; 1. 之前最習慣用那個資料庫(沒用過), 為什麼不用? (演算法開發不涉及到優化) 2. 描述一下紅黑樹,對比紅黑樹和二叉樹 (紅黑樹絕對高啊)3.  演算法方面,排序你知道哪些, 詳細描述歸併,快速排序演算法一定優於普通演算法嗎?(利用極端情況反駁) 

聊人生;你來過杭州嗎? 你在學校經常吃那個食堂?(桃李?清芬?   我吃的是快樂食間! 尷尬......

2.3 技術面: ~55min,8.22

手撕程式碼(<30min),面試官給發一個連結到郵箱,然後共享螢幕,解決一個二次規劃問題,又是青蛙蹦蹦蹦....

Frog-貪心青蛙跳石子(點選有參考) 這個是必須要完整寫下來的,曾經我筆試華為,第三題也是它。其實吧,很多同學本科參加ACM的過程中,這道題刷了沒有十遍也有八遍了,但是還是要複習啊,絕對高頻...

選擇語言,講解思路(5min); 是小姐姐面試的,她和我一起分析了演算法的效率,邊界條件...分析完之後就開始寫。

其實很多演算法,本科畢業之後都進行過盲寫訓練感謝曾經的美國夢那個孩子)。 我感覺,非科班出身,在清華科研壓力又重,刷LeetCode完全沒可能....所以,要麼強行擠時間刷一刷,要麼就把曾經的演算法都進行一下盲寫訓練 (很像託福聽力中的盲聽)。

懟論文。 1.先懟CBME2013年的文章(大二),SVM, 傅立葉頻譜特徵, 紋理特徵,小波, 很多細節都忘了,面試官不太滿意... 2. 然後懟了CVPR預發文章(研二) DCF原理, 對偶空間, DCF主流研究組,DCF的深度網路實現(效果為什麼不好?) 3. 形變立體跟蹤的意義, CBME2018的論文,解釋評價指標

這次面試很奇怪沒有問任何資料結構和演算法....  也沒有問競賽什麼的。

2.4 技術面(交叉面): ~45min, 8.25

應該是三面表現還不錯,這次面試時間很多。

簡單自我介紹。

懟演算法。全程問的都是深度學習(估計是專業搞深度學習的...) 1. 講mask RCNN與其他各種分割model的思路; faster RCNN的RPN的過程,正負樣本的選取; 2. 輕量化模型的方法,講思路; 3. 常見的防止過擬合方法,如何理解BN,怎麼做,dropout怎麼做; 4. 詳細解釋Simianese Network, 如何解決深度模型與傳統機器學習演算法的耦合(從正向傳播、反向傳播解釋);  5. 最近還有沒有讀論文*(天天讀,夜夜讀,為什麼讀...),介紹CVPR2018你最感興趣一篇論文的工作。

懟演算法。竟然還是深度學習???我去!!! 1. 你有沒有用過RNN; 2. 為什麼在影象處理領域大多時候RNN效能落後於CNN;3.有沒有嘗試過做NLP(自然語言處理),文章看過,只是閒下來沒事的時候會看,但是研究生專案很多,很緊湊,做的還是影象的。 4. 你知道GUN嘛?  能睡一下Forgetgate是如何設計的嗎? (這個也是高頻,一般DL入門教材都會講,背下來就好了,能理解更好)

懟人生。 1. 你有女朋友嗎? 如果你們異地你會來杭州嗎?(實事求式的回答,杭州只是備選而已); 2. 成績挺好為什麼不在清華讀博士?(實事求是回答,人累心累,準備出國考試); 3. 面試官告訴我好好學英語...然後說他當面的遺憾,最後峰迴路轉,說阿里巴巴很令人驕傲。

(據說中間加面試的是SSP,也就是A+ 阿里星?水準,反正我沒加到,估計是專業惹的禍)

2.5 HR面

確定學歷,本科,碩士,專業,本科導師實驗室,碩士導師實驗室。

父母從事什麼工作?做沒做好來南方工作的準備?你姐姐從事什麼行業?大學學費的來源?

父母瞭解阿里巴巴嘛?瞭解菜鳥網路嘛? (我爸媽對騰訊很友好,微信、QQ、微視、騰訊視訊都在用...)

這麼多比賽都是隊長嗎?有沒有遇到困難?如何解決的?說一下你遇到的最棘手的一件事,你是如何處理的?

你為什麼沒有參加企業實習?(請問我導師...)

GRE不是出國才會用?你是在準備出國考試嗎?(這裡說謊了,我回答的是沒有,GRE、託福、雅思只是為了提高英語能力,HR半信半疑也沒追究)

你現在還在面試其他的公司嗎?(有,華為和騰訊) 。

說一下你的優缺點, 有什麼想問我的?(其實我問了薪酬,HR苦笑了三聲說,說菜鳥的智慧物流是阿里的核心部門,薪酬可以慢慢談,要先拿到意向書)。

3. 跟蹤申請進展

9.14 收到阿里巴巴意向書,但是沒有談及薪酬。

9.20 HR1 確定資訊

10.12 money call + 錄取協議,(綜合薪酬和工作屬性,騰訊更優,所以就婉拒了)

4. 總結 

個人更傾向騰訊,想在深圳發展。所以,阿里巴巴算是陪跑了,所以沒有想過寫一篇總結文章。此外,最近幾天一直忙著在準備CBME2018的口頭報告,但是幾個好友頻繁問我如何準備阿里秋招(確實轉專業轉方向很痛苦),我就微信回覆了好多遍。現在好了,複製一個連線,就可以了,更省事一些。

博主很懶,時間分配還不好,這邊文章僅僅用了1個小時不到....如果那裡沒有寫好,建議大家去牛客網看看,搜一下就有了...

5. 筆經 and 面經

劍指offer能重複就重複,最好背下來,基本就能解決C++/資料結構; Python由淺入深過一下;模式識別與機器學習計算機視覺演算法(艾海舟)當做科普有時間讀一下;維護一個大型的開源社群或者開源專案可以讓自己“更真實地”融入所謂的計算機視覺、人工智慧這個圈子。對於無論阿里巴巴還是騰訊,對技術都很痴迷。通過了解身邊的好朋友薪酬可以發現,BAT的面試官水平真的要比華為高很多。

多看論文,多背論文,多重複論文,多發論文。  多看原始碼,多寫演算法,精益求精,長期積累。

最後,無論是求學還是深造,都希望大家實現自己的夢想。