CMU-CS碩士北美碼農求職數據科學家,已拿到Apple Offer

jopen 9年前發布 | 14K 次閱讀 碼農

CMU-CS碩士北美碼農求職數據科學家,已拿到Apple Offer

拒了另一個 Offer,工作徹底也定了,考慮到還有同學正在找工作,先簡單地寫一點東西,希望對正在北美找工作的同學有幫助。也請關注我的知乎專欄,我會寫一些關于我在 CMU 的經歷,我的在實驗室干活的感受,以及找工作酸甜苦辣。

一點背景介紹,陳然,THU 軟件學院 2009 級,CMU-MCDS 13Fall,暑假在 MCDS Director Prof. Eric Nyberg 的 OAQA 組里干活,一直覺得很有可能留下來繼續讀 PhD 的,做做 Machine Learning 的交叉學科的應用。后來被老板告知沒有 RA(畢業至 15Fall PhD 入學這段時間),要去工作,于 9 月的 Career Fair 開始刷題找工作,因為準備得晚,一直被拒,連跪七個面試后來了一個大 offer,Data Scientist @ Trulia in SF ,考慮到這個組很小,只有 5 個人,也是偏 Research 的,其他人都是 PhD 或者有多年工作經驗的,再加上估計也不會有人給我更多的錢了,遂從了,并毫不猶豫地放棄了 PhD 的學術理想。

因為這個組催的急,還有 FB,LinkedIn 也就不等了,Aetna 的 Senior Informatics Analyst 也不繼續面了,另外一個拿到的 Offer 是 Apple 的 Map Evaluation Team,也是類似 Data Scientist 的角色。我也一共就這兩個 offer。

感覺 Trulia 給了我 Data Scientist 的 Offer 主要是這么幾個原因:

1.  一是我們的項目名字叫 Master of Computational Data Science,一看就是相關專業,感謝項目改名!

2. 二是我選了大量 Machine Learning 的課程,從基礎的 Machine Learning 到中級統計到 Probabilistic Graphical Model,基本對于現在工業界能用的 Model 都了解

3. 三是我會使用 Hadoop 等工具,這主要得益于第一我選過 Cloud Computing,這 課手把手,還給錢,教使用 AWS 做了很多東西。第二我選過 Machine Learning in Big Data, 這課主要教的就是怎么在 Hadoop 和 Hadoop Stream 上實現 Naive Bayes,雖然內容不多,但是講了方方面面的很多瑣碎的東西,而且工業界很適用。

4. 四是我有實際的 Machine Learning 項目經驗。我來讀 Master 的時候就希望可以把一個項目的時間做的盡可能的長,我很厭倦實習和畢設那 2 個月做一個項目但是什么都做不出來的感覺,所以我通過 Spring 2014 選課+暑期留在實驗室 +Fall 2014 畢設做同一個項目把這個項目做了 8 個月。這是個在法律界的使用 NLP,IR,ML 的項目,太難做了,太繁瑣了,太多 Dirty Work 了,太多心得了。但是面試的人跟我總是有特別多的共鳴。

5. 最后當然我本科也是學 CS 的,計算機組成原理,計算機網絡,數據庫,編譯原理,操作系統,信息檢索等課程也都上過,基礎知識也沒有什么短板,這個也很重要

我申請的時候主要投的職位包括:Software Engineer, Software Engineer in Machine Learning, Data Scientist, Data Engineer, Data Science Engineer。至于這些所謂的 Data Scientist 或者類似的職位到底是做什么的,每家公司情況都不一樣,我的所見所謂主要是有這么幾類:

1. 做 Infrastructure 的。這一類就是做系統的,而且要求不低。

2. 做傳統數據分析的。Excel,SQL,寫 report。

3. 做比較新的數據分析的。往往要使用爬蟲到處爬數據,寫腳本處理 Log,Hadoop 處理數據等等。

4. 做 Machine Learning 應用的。常見的 Machine Learning 的相關的應用包括搜索,NLP,圖像,廣告,反欺詐等等。

5. 其他的大雜燴的。

大家可以對著這樣的職位的要求查缺補漏,把一些課和技能補全。

最后,我會把詳細的經驗和心得也寫出來,不過需要一點時間,大家可以在下面幾個地方關注我:

  1. 知乎:陳然
  2. 微博:Sina Visitor System
  3. LinkedIn: Ran Chen LinkedIn
  4. 郵箱:chenr09@gmail.com

最后,給大家一點信心,展示一下我的求職坎坷之路:

沒有回復我的:

  1. Precyse (Senior NLP)
  2. Pinterest (Data Engineer)
  3. A9(Data Science Engineer)
  4. TripAdvisor (Software Engineer – Machine Learning)
  5. Grassbridge-llc (Data Scientist – Machine Learning)
  6. Reflektion (Software Engineer – Machine Learning/Predictive Algorithm/eCommerce)
  7. Adobe (Data Scientist)
  8. Medallia (Research Scientist NLP & Machine Learning)
  9. Skyhigh (Networks Java Algorithm Engineer – Big Data – Cloud Security)
  10. Yelp (Software Engineer – Data-Mining, Data Scientist)
  11. Groupon (Data Scientist/Algorithm Engineer, New Graduate)
  12. Zensight (Machine Learning Engineer)
  13. Indeed (Software Engineer – New Grad (Seattle))
  14. Fitbit (Research Engineer – New Grad)
  15. Uber (SOFTWARE ENGINEER – MACHINE LEARNING)
  16. Quantcast (Software Engineer, Machine Learning)
  17. ePlus (Data Scientist)
  18. Eharmony (Machine Learning Engineer)
  19. Lynx (NLP/Machine Learning Engineer)
  20. http://Adap.tv(Data Scientist)
  21. OnDeck (Data Scientist)
  22. 非死book (Software Engineer)

跪在簡歷的:

  1. IBM (Waston Team)
  2. Quora (Software Engineer, New Grad; Data Scientist, New Grad)
  3. Airbnb (Machine Learning; Software Engineer New Grad)
  4. 推ter (Data Scientist, Modeling; Software Engineer – Machine Learning/Relevance (Seattle); Software Engineer, New Grad)
  5. Coursera (Data Product Engineer)
  6. Glassdoor (Machine Learning / Data Scientist, Search Relevance)
  7. BloomReach (Software Engineer – New Grad)
  8. Zillow (Software Engineer, New Graduate)
  9. Meetup (Machine Learning Engineer)
  10. DataRobot (Software Engineer Machine Learning)

跪在電面的:

  1. AOL (Data Scientist / Data Analyst Machine Learning)
  2. WealthFront (Data Engineer)
  3. Palantir (Software Engineer)
  4. Heap (Software Engineer)
  5. Apple (Siri New Features Team, Siri Data Team)
  6. Kosei (Data Engineer)
  7. 跪在 Onsite/On Compus 的:
  8. RocketFuel (Software Engineer)
  9. Google (Software Engineer)

其他:

  1. Aetna (Senior Informatics Analyst):不愿意繼續面試了

拿到的 Offer:

  1. Trulia (Data Scientist)
  2. Apple (Map Evaluation Team)

CMU-CS碩士北美碼農求職數據科學家,已拿到Apple Offer

都面了那些題?

這里我也記錄一下我面試過哪些類型的題目。面試的職位包括:Data Scientist,Data Engineer,Software Engineer in Machine Learning,Data Analyst 等。當然其中有不少也包括最常見得 Leetcode Style 的算法題,除了這一類題目以外,還有不少其他類型的題目,主要分為這么幾類:

1. 問 Skill Set 以及對于常見工具的掌握。

Skill Set 就是指你掌握了哪些知識,一般問起來都是比較粗略地問,主要目的就是考察和團隊的習慣以及工具的掌握是否 Match。我被問到過各種各要的碎碎的問題,比如計算機網絡中 HTTP、TCP、UDP 協議,數據庫的設計原則、實現方法,操作系統的一些基本知識,Unix 的常見指令,Hadoop 和 Hadoop Streaming 如何使用、如何 Debug,平時使用什么 IDE 什么 OS……總之各個瑣碎的角落都被問到過。

2. 問簡歷,就簡歷上的技術細節發問,主要是項目有關的技術細節,以及相關的技術延伸。

比如我的項目中就提到了 NLP 相關的東西,就被問了一些和 NLP 相關工具的使用,比如 Stanford NLP 等。再又問了一些延伸的問題,比如,如何自動生成一個有意義的句子,如何把一段文字 Split 成一個個句子,怎么選 feature 怎么做 model 等等。這類問題主要還是需要對于自己的項目技術細節足夠了解,且對于延伸的問題有所掌握。

3. Machine Learning、Statistic 的相關問題

Machine Learning 相關的問題就太多了,我稍微列舉一些我遇到過的問題:

  • 一些分布參數的最大似然估計之類的東西是什么,如何推導
  • LR SVM 的本質區別是什么
  • 哪些 Regularization,都各有什么性質
  • 對于 Naive Bayes 的理解,NB 有哪些局限性
  • Random Forest 為什么很好用
  • 如何做 Model Selection
  • 給一組數據,問 Decision Tree,LR,NB,SVM 等算法學出來都是什么樣子的,是否學不出來,怎么處理,有哪些 Kernel,在圖上畫線怎么畫

還有被問到了一些比較難的問題,比如:

  • 對于 Graphical Model 的理解,寫出 LDA 的公式,給出 Topic Model 生成過程等的
  • PageRank 的原理和公式推導

總之,前面那些問題本質上都不是那么難,但是不少問題都需要對于 ML 各種知識的融會貫通,所以大家在學習的時候還是需要深入學習,不要浮于表面。

4. 給一個現實問題,如何解決。

這一類問題就比較寬泛了,主要是在回答的時候記住考察的目的很多時候并不是技術本身,而是你對于這一類問題沒有思考的框架。比如如何收集數據, 收集那些數據,如何定 feature,如何定 measurement,如何定 milestone 等等。要分層次一步一步地討論。

舉個例子,比如要你做一個房地產的搜索引擎,該怎么做?

最后,感覺很多東西還是得從做項目中來學習。所以還在讀書的同學還是得想辦法多做一些實際的項目,最好是有真實世界數據的,這樣就可以經歷一些 Clean Data 等耗時耗力,老師不教但是在實際工作中又非常有用的過程,幫助自己成長。同時,還是要盡量地把一個項目的時間做的長一些,比如 6 個月,8 個月,才有可能出比較理想的成果。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!