國內互聯網公司算法機器學習崗(阿里星)面試總結

從2015年8月到2015年10月,花了3個月時間找工作,先后通過內推參加了美團、阿里螞蟻金服、京東、騰訊、今日頭條、Growing IO、微軟這7個公司的面試,同時參加了網易游戲、LinkedI In中國這2個公司的筆試,拿到比較優質的offer是京東Star和阿里星2個Offer。應聘的崗位要么是算法工程師,要么是機器學習與數據挖掘崗,企業叫法不同,工作實質都是利用機器學習與特征工程去解決業務問題。整個求職過程是一個和互聯網企業雙向了解,接收面試反饋后不斷思考、調整職業規劃與重復完善知識體系的過程,本文通過介紹我個人的求職過程,向后來者揭示國內互聯網企業對算法&機器學習崗的要求、面試過程、薪資狀況,也分享一些個人在這個過程中積累起來的見聞、經驗。

本文分為三個部分,筆試&面試、經驗心得、題目匯總。筆試&面試部分介紹各個公司的內推時間點、內推形式、我個人的筆試&面試情況,對了,還有不涉及保密協議的一些薪資情況;經驗心得部分簡單介紹簡歷、內推、面試的一些體會,對了,還有一些捷徑;題目匯總部分包括我個人3個月求職過程中遇到的題目,分為筆試題、編程題、機器學習&數據挖掘問題、解決方案類題目。

筆試&面試

  1. 美團公司-貓眼電影部門。美團在2015年8月初開始接收內推。貓眼電影今年剛單獨拆分出來,部門內缺少算法工程師負責機器學習類的工作,所以面試不難,你懂模型、能搞業務就沒問題,編程題簡單。薪資為15薪,月薪分為13K、15K、16.5K三檔,后2檔為special offer,16.5檔可以談薪水,沒期權股票,沒北京戶口。
  2. 阿里螞蟻金服-安全&服務與數據事業群-數據智能部。阿里集團2014年上市,將包括支付寶在內的金融業務剝離單獨成立為螞蟻金服。數據智能部剛成立,戰略定位頗似螞蟻的數據中樞,用于為各個部門產出數據智能。我因為參加阿里的移動推薦競賽獲得亞軍,有專場面試的機會。在專場面試中表現神勇,連面4面+CTO面+HR總監面,獲得阿里星。阿里的面試等級為B+,A-,A,A+,A+可以被面試官推到CTO處進行交叉面,面過了就是阿里星。今年阿里的薪資分為AB檔,B檔薪資有8K、10K兩檔,A檔我知道的有16K一檔,定級都是P5。阿里星年薪(此處馬賽克)。
  3. 京東-數字營銷業務部。京東8月底開始內推。數字營銷業務部2014年成立,一年實現100多億的營收,賺了大錢,公司因此開始重視技術。在NLP Job上看到相關內推,順手發了封郵件,第2周的周一就被安排面試,面完2輪面試官給了special offer面試機會。最終的面試流程是2輪技術面+1輪HR面+1輪交叉面+1輪VP面,按照校招宣講的說法這個是京東Star的流程。京東今年的年薪有19.5W、21.5W、26.5W三檔,26.5W檔的薪資可以談,最高可談到40W左右。數字營銷部門有5個左右的戶口,需要按照簡歷情況、面試反饋排隊。
  4. 騰訊-TEG。7月底到阿根廷參加IJCAI會議時,碰到TEG的部門老大,在微信上把簡歷給了他。但部門老大自然不把這種校招內推的事放心上,到了9月初才被安排面試。面了2輪,算法題比較簡單,但要求bug free,其他時間都在聊模型、數據挖掘比賽、實習項目。第二輪面試聊了很久,比較有意思,面試官給我分析了我拿到和可能拿到的offer。騰訊月薪我知道的有13K,15K,18K三檔,18K是騰訊大咖檔。騰訊加班多的部門年終在4個月以上,LOL部門幾十個月年終。北京戶口概率比較大。
  5. 今日頭條-推薦組。今日頭條算是一家國內少有的技術驅動的公司,目前是C輪。頭條的筆試出的比較有水平,所以會比較看重筆試。我在面頭條時心態不好,先是拒絕參加筆試,而后以比較高的姿態和HR、面試官溝通。所以頭條的面試在第三輪時就中斷了。頭條面試的編程題不難,但對模型、推薦系統、項目線上經驗等考察得比較深入。了解到的offer是月薪23K,加2000股票,沒有戶口。
  6. Growing IO-機器學習組。Growing IO是原Linked In商務分析部門總監張溪夢先生回國創立以提供數據分析為主,一鍵埋點為技術壁壘的Start up公司,目前仍在天使輪,進去的話工號排在十幾。面了5面,部門leader2面+交叉面1面+co-founder面+CEO面。面試是按照社招的標準走的,leader面對機器學習考察得比較全面、深入,其他面就是聊聊天,畫畫餅。底薪一般,期權較多,無北京戶口。團隊里都是比較資深的工程師,但機器學習業務不多。
  7. 微軟-Ads。2015年7月開始在微軟小冰組實習,9月中旬開始轉正面試,轉到Ads部門。微軟的轉正面試是2輪技術面+1輪AA面,2輪技術面1輪positive就可以AA面。如果非實習生則需要2輪技術面都positive。另外,微軟有預科生計劃,轉正只需要presentation,無需面試。轉正面試的編程題相對較難,對模型、項目的考察較為深入。微軟今年大幅擴招,還漲薪。21萬左右Base,10%~20% Bonus,一些股票,28萬左右的Package。MSRA的Base是28萬,40萬左右的Package。
  8. 網易游戲、LinkedIn中國。在9月中和10月初參加了這2個公司的筆試,2個公司的筆試都比較切合業務,與SQL語句相關。網易的筆試做了340分,但沒被通知面試LinkedIn中國的筆試接近滿分,但已經10月多,已經開始參加數據挖掘競賽,沒什么面試狀態就沒去面試。LinkedIn中國的Package在30萬+,網易游戲看學校給錢。

?

經驗心得

  1. 國內互聯網公司和國外FLAGS的面試有很大不同,前者重視項目、實習經驗、專業積累,后者看重的是你聰不聰明與編程題刷得多不多。在求職開始的時候心里得有個譜,合理分配時間、精力,并理性看待自己掛了筆試或面試。
  2. 簡歷講究簡單粗暴有逼格,簡歷包含聯系方式、教育背景、實習經歷、項目介紹、牛逼的榮譽、崗位相關的技能就好,謂之簡單粗暴,有逼格則指的是實習、項目多用數字量化描述,省去敘事的過程,結果導向。還有一點經驗,可以適當裝逼,但不能裝逼得超過可掌控范圍。
  3. 投簡歷的時候,多走內推渠道,省去大部分筆試或者電話面試,不吃力又討好。內推渠道有以下幾種,我按照靠譜程度排個序:1) 總監以下的內部技術員工 2) HR 3)總監以上的高管 4)北郵人論壇 5)Linked In 6)知乎 7)NLP job 8)微信公眾號。1)和2)是比較靠譜的,3)~7)只能作為備胎。還有一個非主流但很有效的捷徑是參加企業舉辦的比賽并取得好名次。
  4. 面試時要抓住提問環節問一些實質性的問題,比如具體的技術問題、部門組織架構、部門戰略地位、以后的工作團隊、對個人的定位、KPI怎樣給出等,尤以部門組織架構、戰略地位、團隊這類大又可說的問題最佳。京東面試官給我講了百度架構部門的痛點,在之后的面試中我就經常和面試官聊關于架構部門和業務部門的話題,學到很多,大局觀也慢慢改善。
  5. 在精力允許的情況下多面,多拿offer,一方面漲見識、談資,一方面在談理想公司的offer時能爭取到更好的薪資待遇。

題目匯總

  1. 筆試題
    • 在互聯網分析中,通常會關注用戶的【第N日激活率】來衡量用戶質量。用戶的第N日激活指的是用戶在注冊的第N天登錄網站或App,即算為該用戶的第N日激活。第N日激活率指的是某日注冊用戶在第N天激活的數量除以該日所有注冊用戶數量
    • “赤兔”是領英中國針對中國職場人士推出的一款本土化的社交應用。如果你是領英中國的數據分析師,你會從哪些方面和維度來設計各項指標,給產品的設計和運營提供數據上的支持?請給出具體的維度和指標,并說明原因。
    • 網易游戲的一道筆試題是給定一條包含3個join的SQL語句,要求寫代碼模擬實現SQL的功能。
  2. 編程題
    • 最少時間復雜度求數組中第k大的數,寫code
    • 去除字符串S1中的字符使得最終的字符串S2不包含’ab’和’c’,寫code
    • 長度為N的序列Sequence=abc….Z,問有多少不同的二叉樹形態中序遍歷是這個,寫遞推公式
    • 給定整數n和m,問能不能找出整數x,使得x以后的所有整數都可以由整數n和m組合而成
    • 中序遍歷二叉樹,利用O(1)空間統計遍歷的每個節點的層次,寫bug?free的code
    • 排序二叉樹轉雙向鏈表
    • 一個運算序列只有+、*、數字,計算運算序列的結果
  3. 機器學習&數據挖掘問題
    • L1和L2正則項 >> 它們間的比較
    • 各個模型的Loss function,牛頓學習法、SGD如何訓練
    • 介紹LR、RF、GBDT ,分析它們的優缺點,是否寫過它們的分布式代碼
    • 介紹SVD、SVD++
    • 是否了解線性加權、bagging、boosting、cascade等模型融合方式
    • 推薦系統的冷啟動問題如何解決
    • 是否了解A/B Test以及A/B Test結果的置信度
    • 特征工程經驗
    • 是否了解mutual infomation、chi-square、LR前后向、樹模型等特征選擇方式
  4. 解決方案類題目
    • 為今日頭條設計一個熱門評論系統,支持實時更新
    • 給定淘寶上同類目同價格范圍的兩個商品A和B,如何利用淘寶已有的用戶、商品數據、搜索數據、評論數據、用戶行為數據等所有能拿到的數據進行建模,判斷A和B統計平均性價比高低。統計平均性價比的衡量標準是大量曝光,購買者多則高。
    • 有n個elements和1個Compare(A,?B)函數,用Compare函數作為排序算法中的比較算子給elements排序。Compare函數有p的可能比較錯。排序完取Top?m個元素,本來就在Top?m并被正確分在Top?m的元素個數是x。問x的數學期望。

?

讀到最后,希望能對你有所幫助。

阿里巴巴研發工程師Java 面經

作者:成長ing

一面:?

1. 自我介紹?

2. 問:看過什么書??

3. 問:最近有開發過并發的嗎??

4. 問:那知道線程安全嗎??

5. 問:程序中是如何實現并發的??

6. 問:如何選擇使用哪一個,有什么區別??

7. 問:HashMap線程安全嗎??

8. 問:Hashmap的底層是怎么實現的??

9. 問:ConcorrentHashMap安全嗎??

10. 問:是如何實現的??

11. 問:是用怎樣的鎖??

12. 問:如果Key值放置的是object對象,需要怎么做??

13. 問:String有重寫Object的hashcode和toString嗎??

14. 問:如果重寫equals不重寫hashcode會出現什么問題??

15. 問:String 為什么要重寫這兩個方法??

16. 問:100000個數找出最小或最大的10個??

17. 問:堆排序是穩定的嗎??

18. 問:穩定和不穩定會導致什么問題??

19. 問:那如果你定義一個類,包括學號,姓名,分數,如何把這個對象作為key要重寫equals和hashcode嗎?

20. 問:知道TCP、IP的連接過程嗎?我問是三次握手嗎??

21. 問:如果只有兩次會怎樣??

22. 問:那兩次服務端會怎樣??

23. 問:如果客戶端不斷的發送請求連接會怎樣??

24. 問:那怎么知道連接是惡意的呢?可能是正常連接??

25. 問:如果多個客戶端多個請求連接,但是都只是兩次會客戶端會怎樣??

26. 問:用過SYNGLA。。嗎?什么鬼東西,聽不清楚,就說沒用過。?

27. 問:你剛剛說你最近在研究1.8嗎??

28. 問:說一說Java內存模型?我問是內存分區嗎??

29. 問:說說堆的分區??

30. 問:打算留在廣州嗎?還是杭州。?

31. 問:打算讀研還是畢業工作??

32. 問:為什么不讀研??

33. 問:有什么問題要反問嗎?問哪里做得好和做得不好的??

二面:?

1. 沒有自我介紹,直接進入正題?

2. 問:一堆數字里面繼續去重,要怎么處理??

3. 問:hashset怎么實現?底層是hashmap?

4. 問:因為別人知道源碼怎么實現的,故意構造相同的hash的字符串進行攻擊,怎么處理??

5. 問:那jdk7怎么辦??

6. 問:如果要去除后還要有序??

7. 問:對線程安全怎么看??

8. 問:為什么要實現內存模型??

9. 問:如何讓線程安全??

10. 問:如果要你做一個防火墻,有10萬個黑名單,有可能會增長達20萬個,一個數據包過來,如何匹配??

11. 問:數據庫的實現比自己實現B樹快??

12. 問:二分查找復雜度是??

13. 問:GET和POST的區別??

14. 問:用面向過程可以實現面向對象嗎??

15. 問:那是不是不能面向對象??

三面:?

一道題:兩個小時?

//IP地址庫查找,自定義內存中的數據結構,需要考慮性能最優,內存最少。?
//精確編寫該類的實現并且包括單元測試程序。?
//編譯環境為標準Java。?
public class IpLib{?

//第一個接口?
/* file 為IP地址庫文件,格式為每行一個點分十進制的IP,上億條。 需要判斷IP格式是否正確,且IP需要去重 */?
bool LoadIpLibFile( String file);?

//第二個接口?
/* 輸入一個點分十進制的IP,若該IP在內存數據結構中,返回true,否則返回 false */?
bool Find( String ip);?

我當時想到的方法 創建1億個元素的long數組,然后將每一個讀入的IP用正則判斷無誤后轉為 long 放入數組中,然后用快速排序排序,對輸入的IP轉long進行二分查找。當然去重操作是做不到的?

四面:?

一道題:四個小時?

考察學習能力:?

閱讀 RFC2616 文檔,即 HTTP/1.1 規范,輸入某個網址,利用 Java 的 Socket 發送 HTTP請求,特別要求能夠解碼 chunked 編碼,觀察文檔中的偽代碼實現,自己用Java代碼實現,將解析后的整個html文檔輸出到控制臺上,不要求關注太多細節。(就是不允許用httpclient的jar包,自行實現這個jar包類似的功能)?

五面:?

1. 問:為什么選擇后臺??

2. 問:之前填寫意向的時候說是去UC的移動事業群,說說你對手游的理解?

3. 問:談談對阿里云的理解?后來說如果前面面試官沒介紹過就不用說了?

4. 問:說說對安全的理解??

5. 問:準備往哪個方向?大數據,云計算??

6. 問:看你填了之前去過某個XX公司兼職過,平時是干什么的??

7. 問:開發的項目是負責什么?是成員嗎?

8. 問:那兩個人負責,你是主導還是配合??

9. 問:當初為什么選擇去XX公司??

10. 問:為什么不考研??

具體看我是怎么答的:?

https://zebinlin.github.io/tags/#interview



本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/386081.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/386081.shtml
英文地址,請注明出處:http://en.pswp.cn/news/386081.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

瘋狂漲知識!「高并發秒殺」微信搶紅包實戰案例幫你突破瓶頸

推薦閱讀: 阿里二面涼經:設計模式緩存Spring虛擬機MySQL中間件并發等難題,全部迎刃而解阿里巴巴字節跳動那些大廠必問的HTTP該怎么學?我建議你看看這篇文章!螞蟻、字節、PDD社招面經Java崗(分布式線程安全…

2016面試——騰訊、螞蟻金服、蘑菇街

騰訊TST技術面: 先羅列一下問題吧: 編程語言編譯的過程 同樣的邏輯,golang的二進制代碼比C語言的二進制代碼長很多.試分析原因 項目 ,三個項目都有聊.因為現場面,可以用紙寫,所以描述的更清楚些 N * N的方格紙,里面有多少個正方形 兩個數組求交集 什么樣的…

Android開發;Activity-Hook你了解多少?一起來debug

享學課堂特邀作者:周周 轉載請聲明出處! 前言 手把手講解系列文章,是我寫給各位看官,也是寫給我自己的。文章可能過分詳細,但是這是為了幫助到盡量多的人,畢竟工作5,6年,不能老吸血,…

牛客網筆記之JAVA運算符

計算機的最基本用途之一就是執行數學運算,作為一門計算機語言,Java也提供了一套豐富的運算符來操縱變量。我們可以把運算符分成以下幾組: 算術運算符 關系運算符 位運算符 邏輯運算符 賦值運算符 其他運算符 邏輯運算符結果 ~a是按位非&#…

Android架構師談:View-Pager-性能優化之-無限循環

作者:享學課堂Alvin老師 轉載請聲明出處! ViewPager實現無限滑動 **方案一:**將viewpager上限設置成一個很大的數,第一個頁面設置到中間。然后滑動的時候,用當前的序號與viewpager頁面數取余得到目標頁面的序號&#…

你知道如何用面向對象思想寫好并發編程嗎?

在工作中,我發現很多人在設計之初都是直接按照單線程的思路來寫程序的,而忽略了本應該重視的并發問題;等上線后的某天,突然發現詭異的 Bug,再歷經千辛萬苦終于定位到問題所在,卻發現對于如何解決已經沒有了…

你知道怎么在生產環境下部署tomcat嗎?

享學課堂特邀作者:老顧 轉載請聲明出處! 一、前言 小伙伴們在網上看到的很多文章,都是對tomcat的一些介紹,什么配置啊,怎么啟動。其實在生產環境中怎么部署,和網上介紹的有很大區別。這篇文章老顧就帶著大…

淺談HashMap

Java集合類的整體架構 比較重要的集合類圖如下: 有序否 允許元素重復否 Collection 否 是 List 是 是 Set AbstractSet 否 否 HashSet TreeSet 是(用二叉樹排序) Map AbstractMap 否 使用 key-value 來映射和存儲數據, Key 必須惟…

matlab實現一元線性回歸和多元線性回歸

在回歸分析中,如果有兩個或兩個以上的自變量,就稱為多元回歸。事實上,一種現象常常是與多個因素相聯系的,由多個自變量的最優組合共同來預測或估計因變量,比只用一個自變量進行預測或估計更有效,更符合實際。 在實際經濟問題中,一個變量往往受到多個變量的影響。例如,家…

互聯網寒冬!“996”為什么還沒實行?我還等著早點下班呢!

“喊了十多個月的‘996’,說要實行‘996’,上班上到現在,影子都沒看到,我還能早點下班嗎?” 我一個在廣州上班的朋友小李,在我去廣州出差期間,與他聊天的時候發出了這樣的牢騷,我剛…

matlab求解常微分方程組/傳染病模型并繪制SIR曲線

看了很多關于傳染病模型的matlab程序,大都是繪制出兩條曲線(I、S)的,本文最大的不同是繪出SIR三條曲線。 先給出SIR微分方程組 函數文件: run的程序:

互聯網寒冬!技術站最全MySQL數據庫實戰規范

享學課堂特邀作者:老顧 轉載請聲明出處! 前言 我們小伙伴們經常使用到mysql數據庫,一般就這么一用,很少會考慮mysql里面的細節問題,如sql語句的規范,或索引有沒有起到相應的效果,今天老顧就給大…

SQL求一個表中非重復數據及其出現的次數

mysql中,我們可以用distinct求不重復的數據有多少,也可以用group by。 這里有個例子,如下表sheet1,共有5411條數據 查詢語句 共有3446條不重復數據,每條不重復數據出現的次數在第二列顯示:

什么是微服務擴展性和高可用-可擴展性、高可用性和性能

歡迎關注專欄:Java架構技術進階。里面有大量batj面試題集錦,還有各種技術分享,如有好文章也歡迎投稿哦。 Overview 可擴展性、高可用性和性能 術語可擴展性、高可用性、性能和關鍵任務對于不同的組織或組織內的不同部門來說可能意味著不同的…

SQL實現當前行等于前面兩行數據之和

sql實現類似斐波那契數列的功能,即當前數據等于前面兩個數據之和,詳看本文例子 原表: sql語句(此處要熟悉JION ON的用法) 結果

【大牛系列教學】靠著這份面試題跟答案

開篇閑扯 打工人,打工魂,我們生而人上人。當“資本主義”逐漸禁錮我們人(大)上(韭)人(菜)肉體的時候,那一刻我才明白那個日不落帝國資本主義收割機瑞民族之光幸瑞幸咖啡…

matlab實現二項分布

二項分布 1. 求n次獨立重復試驗中事件A恰好發生k次的概率P。 命令:pdf 或 binopdf 格式:pdf (‘bino’, k, n, p) 或 binopdf (k, n, p) 說明:該命令的功能是計算二項分布中事件A恰好發生k次的概率。pdf為通用函數,bino表示二項分布,binopdf為專用函數,n為試驗總次數,…

【工作感悟】成功入職阿里月薪45K

前言 苦苦尋覓找工作之間,殊不知今日之時乃我心之痛,難道是我不配擁有工作嘛。自面試后他所謂的等待都過去一段時日,可惜在下京東上的小金庫都要見低啦。每每想到不由心中一緊。正處為難之間,手機忽然來了個短信預約后續面試。 我…

Mysql優化技巧

索引優化,查詢優化,查詢緩存,服務器設置優化,操作系統和硬件優化,應用層面優化(web服務器,緩存)等等。這里的記錄的優化技巧更適用于開發人員,都是從網絡上收集和自己整理…

【工作經驗分享】不會真有人覺得mybatis很難學吧

什么是自旋鎖和互斥鎖? 由于CLH鎖是一種自旋鎖,那么我們先來看看自旋鎖是什么? 自旋鎖說白了也是一種互斥鎖,只不過沒有搶到鎖的線程會一直自旋等待鎖的釋放,處于busy-waiting的狀態,此時等待鎖的線程不會…