導語
雙非(非 985、非 211) 普通本科院校生,還沒畢業就收到了年薪30w的Offer…..
文/ Dave
編輯/ 之餚
這是一個關於雙非(非 985、非 211) 普通本科院校生(具體是哪所就不方便透露了哈),如何與機器學習結緣,又是如何從一名“可憐白髮生” 的“非酋” 玩家,一路披荊斬棘,成功進入美團,成為“歐皇”的故事。這就是我,努力努力再努力的Dave。
我作為一名剛剛踏入人工智慧領域的小將,已經開始有了髮際線後移的煩惱。雖說弱冠之年、大學畢業之際就擔心脫髮有點為時過早,但是這幾根頭髮幫我成功的獲取美團的offer、得到了年薪30萬的工作,也算得上是“一發千金”。
本文作者,頭髮這麼濃密還擔心脫髮!
緣起
接觸演演算法,觸碰機器學習相關的知識,源於學校老師推送的一篇關於“中國高校大資料挑戰賽”的公告,大意是“希望給學校幾分薄面,同學們踴躍報名”。那時候正好在修讀一門關於“人工智慧”的選修課,課程的期末專案要求自行設計,必須包含人工智慧的相關知識,聯想到這一比賽,期末專案就有著落了。報名比賽的那一刻,在人工智慧的戰場上又多了一名奮力拼殺的小將。
雖然感覺到激情澎湃,志氣滿滿,但是讓一個沒碰過槍炮的人上戰場,難免還是有點心有餘而力不足,於是開始了在Google上學習知識、借鑒前輩經驗的苦逼日子。光有著初生牛犢不怕虎的勁兒也不行,專業術語、陌生領域和各種基本概念,學的很吃力,如同一個人在知識的海洋中狗刨還時不時嗆水。
挑戰
正如魯迅先生所說,“只要有心,處處都是困難”。在機器學習這條“不歸路”上,困難如同沙漠中的沙子般俯拾皆是,一不小心就是一個坑。從Level1到Level10,從新手到出新手村的過程中,我覺得最大的挑戰有兩個:“沒人陪伴”和“缺乏反饋”。
在一所雙非學校,走向卓越的路往往是孤獨的,不像櫻木花道打籃球還有一群夥伴,而我只有自己一個人。在遇到困難的時候沒有夥伴可以吐槽,遇到問題的時候沒有人詢問,只有冰冷的Google大叔陪伴,雖然Google大叔也能解惑,但並不能很好地傳道受業。
幸運的是,在朋友的“慫恿”下報名參加了Udacity的 機器學習 課程。在課程的“優等生計劃”,課程通關群中,遇到了一群一起踩坑的小夥伴們,大家可以其樂融融地吐槽這個知識點是多麼的深澀難懂,課程裡面的“二人轉組合”是多麼的奇葩;也可以相互交流,怎麼去理解“摺積神經網路”等不容易讀懂的概念。
一個人的理解難免有些偏頗、有失原意,畢竟真理是越辯越明的——只有不斷地學習、探討、實踐,才能最終掌握。這就引出了第二個問題——一個人的學習路,沒辦法獲得及時的反饋,很難找到靠譜的人相互探討。
不過,自從加入了這個課程,除了有一起學習的小夥伴可以探討艱深晦澀的高深概念,還有導師可以諮詢。每次做完課程專案提交後,會有導師認真地審閱並做上批註,特別是一些容易混淆的概念,審閱還會給出一些輔助資料幫助理解。這些及時的反饋如同及時雨般重要,讓我更加深刻地理解概念以及抓住細節,畢竟俗語有雲“細微之處,彰顯本質;不求甚解,難以理解”。
導師除了高高在上,還可以非常的親民有趣,推薦我加入Udacity課程的朋友原來就是這門課的導師——楊培文。培文導師不僅是我的入門老師更如同好朋友——亦師亦友,不僅在最初的高校大資料挑戰賽糾正了我很多錯誤的概念,而且帶我參加了百度的驗證碼識別的比賽,讓我更加深刻地理解了深度學習的應用。
一群好同學,一位良師益友,是我在這裡面最大的收穫——讓我在這條路上,更加勇敢、更加具有激情,披荊斬棘奔向標的。
機遇
魯迅先生又說,“機遇總是垂青那些有準備的人,因為只有他們可以抓住”。在準備校園招聘的過程中,收集了許多公司部門HR的郵箱而非官網投遞,直接投到了部門HR的郵箱之中。也許是因為部門招人比集團直招更加高效,收到了美團HR姐姐的回覆,並通知我準備電話面試。
對於簡歷而言,我個人信奉“奧卡姆剃刀”原則——如非必要,勿增物體,做的比較簡單。簡歷主要由個人資訊(照片除外)、教育經歷、專案經歷、比賽經歷、校內經歷、個人技能以及用於加分的其他資訊。
另外,簡歷上遵循“凸顯主要,略寫次要,主次分明,詳略得當”的原則。把與崗位要求匹配的技能放在首要的位置,把專案名稱和職位放大加粗,把專案內容略寫等等。對於我們搞技術的人,不要學一些熱門微博的的簡歷風格,簡歷做的太花哨喧賓奪主,文字再簡練、考究一些即可。
最後成功得到美團演演算法崗offer,一是得益於直投HR郵箱——美團HR姐姐的不以學校論英雄,給了我一個部門面試的機會;二則是做了充分的前期準備——對崗位和麵試題型做了調研。
面試
面試和追女孩都有一點相似——獲得對方的青睞,那麼如何獲得對方的青睞,這就是我們接下來探討的問題。
孫子兵法有雲,“知己知彼,百戰不殆”,面試也是如此。我的準備過程分為兩個部分——“分析問題下定義”和“針對分析做準備”,通俗點講就是:只有瞭解了我們要做什麼,才知道我們該怎麼做。
前段時間看到一篇好文《一種幫我解了人生99%困惑的思維方式》,一種“定義式思維”。聯想到面試準備,我發現很多人只知道刷面經準備面試,但是他們卻不知道什麼是面試,面試是為了什麼。
面試的目的是為了篩選出可用之才,因此面試主要考察應聘者的基礎知識點是否扎實、牢固,瞭解應聘者的相關從業、專案經驗是否真實、豐富,以及應聘者的人文素養。
知道了為什麼面試,和麵試有什麼之後,我們開始對症下藥,對面試進行庖丁解牛般地分析與準備。
對於考察基礎知識點而言,按照標的崗位描述的技能進行分析以及準備。以我校招演演算法崗為例,“熟悉常用的分類、聚類演演算法”、“掌握常見的資料結構預演演算法”和“常用程式語言”,這是我的崗位要求。那麼對應第一個要求,我寫了一個對常見的分類、聚類演演算法總結,並把各個演演算法特點的以及優劣進行了對比,並且延伸了每個演演算法的基本原理及底層實現,最後寫了幾篇部落格作為總結。
對於第二個要求,我把《劍指offer》看了三遍,並且刷了部分LeetCode的題目,主要刷連結串列與二叉樹類的題目,這兩種資料結構簡單且最適合面試手寫。對於第三點,熟練掌握一門程式語言併在刷題的時候使用,比如我使用Python刷LeetCode的題目,不僅可以刷題,也可以增加語言使用的熟練度。
對於瞭解從業經驗而言,重點準備簡歷上的專案或者比賽,挑一個覺得最好說且體現一定技術難度的。作為一名應屆生,電話面試和現場面試的面試官都向我詢問關於參加比賽的細節:
1. 瞭解我對比賽的理解以及我在比賽參與的程度,用於判斷是否簡歷造假;
2. 瞭解我在比賽所用的技術以及實現方案,用於瞭解我的實戰經驗和思維方式。
那麼知道這兩個目的,我們就可以做出相應的準備,把最拿手的比賽/專案經驗過一遍,事無巨細,把所有技術實現、思考細節、所用技術都總結幾遍並可以流暢地表達,那麼這一關就可以輕鬆闖過。
對於瞭解人文素養而言,重點體現對知識的渴求、對挑戰充滿激情以及對於技術的追求。面試官會和你探討一些個人興趣愛好,以及一些情景問題,這就是透過短暫的聊天去瞭解應聘者的思想成熟度和一些人文素養。那麼,在這個階段多展現自己的優點,比如說熱愛讀書,舉一些書的例子和感悟;熱愛運動,時不時和朋友組隊打球;探索新知識,從多方渠道瞭解業內技術前沿並簡要談談…突顯自己“德智體美勞”全面發展,但切記不能說大話和空話,以面試官的閱歷還是很容易看出是否在空談。準備一下自己的興趣愛好,以及知識獲取的渠道,那麼這一關也可以無損通關了。
這三條看似簡單,但簡單的才是最難的。每一條看起來都很好準備,但這些都需要一定時間的積累才能很好地完成,畢竟做好一盤家常小炒還是要先準備好各種食材,最後才能下鍋翻炒收汁。
結語
正如李白在《行路難》中寫道,“長風破浪會有時,直掛雲帆濟滄海”。走向卓越的路必定是孤獨的,但能忍受孤獨的人往往是內心強大的人,必將走出自己豐富多彩之路的人。
在當今的中國,市場需要100萬演演算法類人才,而如今中國只有30萬演演算法類人才。其中有10萬在各大高校,還有10萬在各大企業內部培養,只剩下最後的10萬供給市場。
正如狄更斯《雙城記》中的金句所言,這是最好的時代,也是最壞的時代。在這個充滿機遇與挑戰的時代,把好風帆,咬牙劃槳,終究會尋找到自己的芳草地。
想從粗通演演算法的零基礎小白進階到矽谷認證的機器學習工程師麼?想和本文作者一樣在AI浪潮中先行一步麼?快快加入Udacity 機器學習工程師課程吧!
掃描下方二維碼入群諮詢報名【機器學習(入門)課程】,帶你成功邁出機器學習第一步。
↓點選閱讀原文,瞭解《機器學習(入門)》基石奈米學位專案詳情