天天看點

從清華到阿裡,他隻用6年時間,影響了數億使用者

“阿裡技術直播”,是專為技術人量身制作的視訊直播節目,旨在分享行業前沿趨勢、技術幹貨和技術人生。今天為大家送上阿裡資深算法專家靖世的精彩直播内容。

大家好,我名字叫蓋坤,在阿裡花名叫靖世。之前在清華大學讀的大學跟博士,專業是機器學習跟人工智能。畢業之後一直在阿裡巴巴做廣告算法,現在在阿裡媽媽負責競争展示廣告技術,做的工作包括廣告算法,廣告算法裡面包括比對算法、預估模型、排序算法,也包括廣告工程部分。還有其它相關跟人工智能相關的部分,包括機器學習平台,包括計算機視覺裡面有圖象識别等等,也包括nlp的一些技術。

今天我的分享有三個部分的内容,希望對大家有用。

1、從找工作的時候選擇阿裡巴巴,到工作六年來一路走過來的曆程跟體會。

2、做ai背後的想法,在ai上取得的一些成果和背後的思考。

3、最後會建議一下大家在面試阿裡之前應該準備哪些内容。

緣起阿裡:研究與應用有了完美交叉點

先說一下跟阿裡巴巴的一個開始。其實我在學生的時候,是做機器學習和計算機視覺,也發了一些國際的會議跟期刊的論文。在畢業的時候,我有一個,或者說在學生的時候我有一個願望就是希望自己做的東西不但是以論文的形式分享給别人,而且希望能夠對于這個世界産生更大的作用。是以當時就希望能夠去找一個研究跟應用結合比較好的一個地方。剛開始的目标主要是集中在一些外企的研究院上,當時也聊了一些研究院。

跟阿裡巴巴緣分的開始也是一個機緣巧合,之前清華同學經常上的論壇叫水木社群,當時叫水木清華,我在那裡的ai版上發現有一個人發了文章說阿裡巴巴要做大規模的機器學習系統,這裡面有很多挑戰。我當時也是晚上很晚的時候回了一封私信,當時也沒多想,而且在學生的時候,說實話有晚上玩遊戲的習慣,然後回了之後就玩遊戲到兩三點,睡得比較晚。結果第二天一早八九點就被阿裡巴巴的hr叫醒去面試,這是跟阿裡的緣分的開始。

從清華到阿裡,他隻用6年時間,影響了數億使用者

拿到阿裡的offer之後,其實也是思考了很多,糾結了很久,最後選擇阿裡巴巴,是因為覺得阿裡巴巴其實在中國零售的業務上,也是蓬勃發展,業務前景非常好。第二個做機器學習可能最看中的就是資料,阿裡巴巴有一個圍繞零售的消費者的,從逛到買,再到買之後的後續行為的一個完整的類目資料。

這個類目資料上用人工智能的方法可以做很多事情,有很多可能性,是以會覺得人工智能在阿裡巴巴會特别有空間。還有最後一個點,當時也是跟阿裡的同學聊了很多,會覺得阿裡裡面不管團隊還是各方面,其實也都說對研究會比較看中,也會在應用之餘鼓勵做研究的事情,包括鼓勵大家去出一些研究的成果。是以當時會覺得就是:

1,業務的應用前景非常的廣闊;

2,研究跟應用可以做一些結合。

當時基于這兩個考慮選擇了阿裡巴巴。

我分享一下在阿裡巴巴一路走過來的經曆,包括其中涉及到一些做的事情,希望給大家一些參考,最後再做個階段性的總結,想做得更成功的話,應該具備哪些特質。

阿裡6年經曆:從沉寂半年到連續提升2個10%、每天影響上億使用者

我進阿裡巴巴之後,其實前半年的感覺就是自己什麼都不會,然後其實進了實際的業務,實際的資料,雖然之前學了很多的機器學習相關的知識,然後發現這些知識可能跟業務跟實際的資料還不能很好的結合在一起。是以前半年其實是一個沉入到業務,沉入到資料,而且是一個相對來講比較平淡跟寂寞的時間。但後來我會發現,其實必須得沉入到實際的業務,實際的資料裡面才有可能做出一些不一樣的東西,這個過程是必須經曆的,這是很多在實際工作人的一個體會。

但是這半年說實話,雖然可能沒有做出驚天動地的事情,但是這裡面有一件事情,其實一直在思考。其實在我加入阿裡巴巴的時候,當時是機器學習在廣告,在ctr預估系統裡面開始大規模的使用,然後國内的各個公司也開始建立團隊研發這一塊。這一塊也可以認為是這幾年國内的主流業界的公司在機器學習去投入大量的資源的一個開始。

因為大家可能也都知道,整個網際網路行業裡面,現在收入最大的兩個闆塊:一個是廣告,一個是遊戲。廣告應該是比遊戲還要靠前,而且不是所有的公司,包括大公司都做遊戲的,大部分公司的支柱收入其實是廣告。對于各個公司這麼重要的一個業務,背後其實點選率預估是對廣告主,浏覽者,平台收入,做好了的話是一個三赢的事情,是以各個公司都投入非常多的資源來做這一塊。

是以這一塊是機器學習可能第一次非常大規模,而且在實際的大業務中起非常核心作用的一個契機,這也是近年來的一個起點。機器學習在後面,在更多的業務裡面去發揮更大的作用,這是後面的事了。

在點選率預估裡面,當時有一個經典的做法就是叫大規模的特征加上一個簡單的線性模型、邏輯回歸的一個做法,這個做法簡單說一下怎麼了解呢?就是其實那時候大規模特征是一種叫id特征的一種形式。比如,我們假設說現在中國有13億人,我們有13億使用者。我們一定要用一個向量,有sample有label的概念,用一個向量,用樣本來表示它。這個樣本裡面特征怎麼辦呢?我有13億使用者,我就用13億的系數向量來表示這個使用者,然後13億維,這個樣本對應哪個使用者就是在哪一個次元上标記為1,其它次元都為1,是一個非常大規模的一個稀疏的一個表示。

其實使用者可以這麼表示,商品可以這麼表示,所有的資訊基本上都可以one hot的編碼來表示。是以,其實連續的一些統計值或者連續的一些值也可以做一些離散化,把它變成哪個區段的,繼續用one hot來表示,我們會把大量的資訊用one hot編碼或者用id特征表示方法來把它給變成規模非常龐大的特征,特征次元也特别大,這可能是沒接觸過工業界實際的,比如說ctr預估系統的同學可能之前不太知道的一個概念,就是為什麼工業界需要這麼大量的特征。

這樣的特征用簡單的邏輯回歸來做的話,其中有一個問題,當然這裡面挑戰也很大,有兩個挑戰:

1,樣本量特别大,特征次元特别大。

樣本量特别大什麼意思?比如說點選率預估,那我們的sample,就是使用者的曆史行為,如果使用者看了沒點,這就是label是0,就是負樣本;如果看了又點了,這個樣本就是一個正樣本。其實你每天看大量的東西,大量的使用者在網站上浏覽,是以我們有非常多的樣本。第二個特征次元特别大。是以對邏輯回歸來講的話,一個挑戰就是如何能支撐這麼大的樣本和這麼高的次元,這是第一個挑戰。然後這裡面會涉及到大量的機器學習的并行算法相關的東西。

從清華到阿裡,他隻用6年時間,影響了數億使用者

2,正則化,怎麼了解?

就是邏輯回歸一般來講會跟一個l1範數一起來使用,它其實背後有兩個目的,第一個目的就是這麼大量的特征的化很容易發生過拟合,是以我要用一種方法,在機器學習裡面是非常經典的方法,正則化的方法去來抑制過拟合,讓這個模型能夠在未來的使用的場合裡面表現比較好。過拟合的意思就是我隻記住了那些已見過的東西,但是對未來新的東西其實預測能力并不好。

第二個其實就是這個特征庫特别大的時候,我們在離線做訓練的時候也許能夠承受這麼大規模的特征,但是我們在線上預測的時候,我們希望性能盡量的好。是以我們希望訓練的時候做一些特征選擇,這麼多的特征是不是全需要?很有可能我們其實隻需要其中的一小部分。能不能讓模型在訓練的時候自動做這件事,這就是正則化的一個方法。那加上正則化的方法也是會給整個優化問題帶來一些挑戰,這是邏輯回歸的兩個挑戰跟難點。

除了這兩個挑戰和難點解決了很大一方面的問題之外,邏輯回歸還有一個問題我倒是一直在思考,這樣的特征體系用線性模型夠不夠,這個問題其實目前來講在深度學習這麼如火如荼的今天來講大家都不會産生疑問,非線性一定會做得更好,大家可能都這麼想。但當時其實還是有挺大争議,很多人會有一個觀念,包括一些論文裡其實也把這個結論會明确的寫出來,就是特征次元比較高的時候,線性模型就夠了。

當時在幾年前,谷歌還算是在某些方面是國内公司的技術上司者,某些方面的技術大家都是向谷歌看齊。當時谷歌也是用大規模的特征加上一個線性模型,是以你要做非線性模型很多人就會挑戰為什麼非線性模型有用,線性模型是不是就夠了。現在這個觀念好像并不是那麼的統一,大家都覺得深度學習都用上了,那非線性更強了,非線性一定有用。

但當時其實要打破這個思維定勢,其實相當于在挑戰公司内外、業界、學術界的權威概念。當時我一直在想夠不夠,其實我們知道,其中有一個做法很說明問題,就是在使用邏輯回歸的時候,我們的特征即原始的特征,就是one hot編碼或者id特征的次元很大,但我還是需要做特征加工、特征工程。比如說我們的目标的目标跟兩個相關,可能要對這兩種id做一個笛卡爾積,做笛卡爾積是特征非常爆炸的過程。

比如說一億維的使用者特征,一億維的寶貝特征,我們要做他們的關系的話,就是笛卡爾積會的話就是1億×1億種可能,一下子就爆到1億億的次元了。我們在實際工作裡面很多公司做過這樣的事情,我們用算法工程師來做特征的組合、特征的加工,然後尤其是笛卡爾積等等的工作。這裡面非常的繁雜,而且兩兩特征可以組合,三種特征是不是可以組合,有沒有其它的加工方式。是以這裡面有大量的繁雜的工作。

這其實是一個很好的例子,就是線性模型并不夠,如果線性模型夠的話為什麼還要做特征加工的工作,用人工來補足呢,其實這是當時業界的一個經典做法,一個經典的思維定勢,内部的自我思維的一個沖突。然後這底下其實我在想的就是如何能夠省去這些繁雜的人工處理的工程,而且人工處理對特征加工一定是有限的,我們其實能不能用現在做ai,做智能的方法,去抽取更精确的資訊,做更好的預測,這其實可能是一個做ai的人,内心在真正追求的東西。

是以我們其實思考的是能不能夠去做一個更強力的人工智能的模型,準确來說是機器學習的模型來代替原來這種重工程的簡單的線性模型。兩個目的:一個省去人工繁雜的加工動作;第二個就是能夠去達到更好的效果。另外一個目的,如果我們做智能的工作可以達到一個端到端的學習,像現在深度學習一樣,可以讓很多事情更自動化起來。

這個事情其實前半年一直在我腦海裡去思考,雖然前半年沒做出什麼特别驚天動地的事情,然後在日常的項目投入跟業務了解裡面,我一直在想這個問題的答案。後面找到一種方法。就是在大規模特征,而且大規模的樣本上做非線性的學習,而且還能拿到效果。

下面簡單介紹一下後面采取一種方法就是叫分片線性的方法,準确來說是整個高維空間裡面,如果次元特别高的話,把空間分成很多不同的區域,每個區域裡面有一個自己獨立的一個線性模型。這樣的話整個空間變成分段線性的模型,如果是二維比較好了解,原來是一條線,現在變成分段折線,折線足夠多可以去二維上逼近非常複雜的曲線,可以去逼近任意複雜的一個函數。

其實背後這種思想還是蠻簡單直接的,我們會有兩個挑戰:

1,我們如何能夠把空間劃分跟最後的每個劃分裡面分段線性,一起用機器學習的方法去一起把這東西全部學到,然後通過資料的方法學到;

2,我們去面對的資料規模特别大,特征規模也特别大,是不是能發展出一個非常有效的方法做這件事。有一個叫混合邏輯回歸的方法,在阿裡媽媽内部真正使用的,用分片使用的softmax函數,最後每個區域内做分類線性的邏輯回歸這樣的一個組合。實際上當時我應該是研發了差不多有十餘種不同的模型,有各種各樣的分片的方法,分段的方法,包括有一起并行去學的,也有像gbbt之類的是一個片段一個片段去學,一個片段一個片段續貫學的很多不同的算法。

這背後其實遇見了大量的問題,比如說模型到底work不work,模型如果work的話我們複雜的函數一般對應一個優化問題,優化問題不是能尋找一個很好的解,包括其實這個模型也會限制它的算法,這個算法能不能很快的收斂。這些其實都遇見大量的問題。最後我們其實作在留下的,看起來雖然非常直接簡單,也是當時試驗了大量的方法之後,最後留下了幾種可行的方法中的一種。背後有非常多的失敗的案例,這個可能是其它人不太知道的背後的故事。

做完這件事之後,其實基本上解決了之前說的一些問題,一個是非線性學習能夠讓模型自動的智能化的在資料裡面去挖掘人挖掘不出來的知識,節省人工的勞力,來真正形成現在說的一個智能化的方法,用一個非常強力的人工智能的方法去挖掘出一個很好的效果。

這件事做完之後,第一期在業務上的效果應該大概在入職已經是大半年了,當時在上線的業務線上,廣告的收入,包括點選率提升10%以上。而且分兩期,每期都是10%以上。當時具體的數字比這還高不少,但是具體數字現在記得不準确了。當時就覺得第一次覺得特别激動,終于就是把自己的知識去應用到實際場所裡面,不僅提升了使用者的體驗,平台收入也有一個大幅的提升。自己做的東西,每天能影響上億使用者。這感覺真的是用自己的專業知識做到了一件能夠更影響這個社會,更影響使用者的事情,非常有成就感。這是加入阿裡的想分享的第一個事。

深度學習現狀與規律總結

下面我大概說一下深度學習。深度學習怎麼看?我分享一下我的觀點。

從清華到阿裡,他隻用6年時間,影響了數億使用者

深度學習現在特别火。這裡面其實我們去抽取幾個規律,深度學習有這樣的性質:

1,深度學習其實把原來模型跟算法耦合的一件事結耦了,深度學習背後的比如說叫梯度傳播算法,基本上是sgd的方法,sgd基礎上會有一些加上動量,自适應動量之類的一些算法。然後這些算法其實變成了一些标準化的算法,你架什麼模型都是在這些算法裡面去選擇,你可以很大機率上可以不用去特别深入這些算法,或者建立一套算法。這樣結耦的模式跟原來做機器學習的模型其實是概念完全不一樣。

如果真的對機器學習特别了解的,或者學過相關專業的同學會知道,svm其實從模型到算法是整個體系化的方法,邏輯回歸也是一體化的方法,gbdt也是一個一體化的方法。當然它的整體性會非常好,但是它做這件事的代價特别重,必須是專業能力非常強的人,從模型了解、資料了解到整個算法設計都需要非常強的專業知識,才能夠去做這件事。這個在生産力上來講是被束縛了。深度學習其實是把模型跟算法結耦,算法标準化,模型可以任意的改變跟搭建,極大釋放生産力,能夠讓更多的同學參與進來,而且去嘗試更多更複雜不同的模型。

2,深度學習這個方法有點像搭積木,我其實有很多子產品,其實各個公司,各個學術機構還在持續不斷得根據實際的問題跟資料去創造新的子產品。

很多場合下,其實大部分的工作是把這些子產品自由的根據自己的業務問題組合起來。跟原來不一樣,原來是沒有子產品,你要建個樓,整個樓都是自己建,現在給你很多牆,很多樓闆,你用這個樓闆搭起來就可以了。這個其實在我們實際的基礎子產品稱之為元件化,它可以元件化、标準化的把原來想像不到的複雜體系更簡單搭建起來。

這兩個特點,一個結耦,一個模型本身的元件化,在深度學習架構下能夠讓我們的工程師搭建原來完全無法想像的複雜模型,解決原來解決不了,或者是效果達不到我們預期的一些問題。這是深度學習背後的一些機會,我認為是對生産力的一個極大的促進點。

是以在這個點下,在深度學習下,阿裡巴巴也展開了很多的研究跟應用。這裡面我說一下現在我們在深度學習的一個思路。深度學習說起來很簡單,就是deep,非常深的一個神經網絡。那這裡面,會有一個問題,就是深層次,就是全部,或者說我們隻要深就夠了嗎?那這裡面,我再舉一個思考,就是業界比如說圖象識别,圖象識别其實它有兩個要素。第一個要素是一些現在大家比較公認的,或者是一些基礎網絡結構,像單層的cnn,像pooling等等的結構,尤其是以cnn,就是卷積神經網絡為代表,卷積神經網絡在圖象裡面基本上占了主導型的應用。大家都是在這種結構的基礎上才搭建深層的網絡。

如果深層網絡夠了,為什麼不用全連結搭建這樣的一個深層網絡呢?這是第一個例子。後面其實還有其它例子,比如在時序,在nlp等等裡面會有很多這種結構,像時序上的rnn,或者是lstm這樣一個稍微複雜一些,可能在很多領域更有效果的一些模型。

這裡面有兩個要素:第一個要素是跟資料比較比對的一個網絡結構。為什麼說跟資料比對呢?以cnn為例子,cnn是局部的卷積窗,這個局部卷積窗代表了一個參數,這個卷積窗在移動的時候參數是共享的。它其實代表了圖象的性質叫平行不變性,就是一個人臉或者狗的圖象,在圖象的左上角,它跑到右下角還是一個狗,它就叫平行不變性,就是物體識别不會因為這一塊區域整體移動之後就會發生顯著的變化。另一個物體識别也是局部的,這一個視窗位置如果是個臉全包括進去了,那這個視窗的資訊就夠了,這是一個領域性。其實像在圖像領域或者已經成功的深度學習比較成功的領域,網絡結構跟它的問題特性以及資料特性是非常比對的。

我們現在其實在關注的是在網際網路的,如何基于網際網路的使用者資料,比如剛才這種id号編碼的大規模資料上,我們如何能夠去找到一種網絡結構,能夠去适應這樣的資料特性,然後我們再用深層次的方法來加強這個結構的泛化能力或者拟合能力來達到更好的效果,這是我們在深度學習上的一個思考以及現在做的一件事。

這裡面有什麼特性?舉兩個例子:

1,我們的推薦,背後有一個很重要的資料,就是使用者的行為,使用者曆史上浏覽過什麼,購買過什麼,或者你在哪些頁面上停留的時間更長,這個對我們分析你未來對什麼更感興趣,是非常有幫助的。第一個概念就是結構化,這背後有一個非常複雜的結構化資料。比如說使用者在淘寶上的行為,你點了一些寶貝,那除了點這個寶貝id本身之外,寶貝是什麼之外,其實這個寶貝後面還有相關的資料,比如寶貝有圖象,你也看到這個圖象,會跟圖象發生了一些思考跟互動,你才決定點不點,買不買,跟商家互動不互動。

再比如說寶貝有标題,再比如你點寶貝的,曆史上點寶貝的時間也有關系。再比如說寶貝詳情頁有很多介紹,你還會看它的評論。這裡面大家發現它都跟某一個寶貝相關,是以這裡是一個高度的結構化的資料,不同源的資料其實是内部有很強的關聯性,異構的資料是關聯在一起的。如果我們去設計一個比較好的深度學習網絡結構,去用好這些異構化的資料,這是一個很大的一個挑戰跟問題。

2,另一個是時序,使用者在我們的電商環境下,其實他會可能會浏覽很多的寶貝,他可能看一些手機,同時給女朋友買一個包包,在行為序列上我們能夠做什麼樣的分析以及設計什麼樣的網絡結構能夠更好更精準榨取使用者真正感興趣的東西,這對深度學習來講也是一個挑戰。

這兩個例子其實就是說明了對一個實際的,比如電商裡面的業務問題來講,你能利用到的東西其實可能比一個學術界給你的資料集要廣泛的多,這裡面你可以想各種辦法,你可以産出更多的創造性來解決這個問題。其實我們前一段時間公開了一個工作叫:使用者多興趣分布模型,我們會在使用者的整個序列上做一些網絡結構去更合理榨取使用者的興趣資訊。我們也對外發表了這個成果,在arxiv上已經挂出來,網上應該也有一些講解,大家對細節感興趣可以看這個模型。

這是我對深度學習的看法,以及我們在做的一些事情。

技術的三個進階過程,阿裡在哪裡?

最後談一下我對技術的一個了解。我會把做技術這件事分三個階段:

1,應用,提升業務效果,更好的解決問題的階段。這個是大家做的最多的,不管是研究還是實際的業務。就是看下業界大概怎麼做的,不同的公司怎麼做的,哪些公司更先進,我們是不是能把這些先進的做法吸取借鑒過來,運用在自己的業務上,而且做的更好,這是第一個階段,這也是研究工作的基礎,把所有現在最前沿的方法摸清楚。

2,技術上做一些創新,我們不管是對技術的了解,還是對問題的了解,更深一步之後,我們如何能夠發揮創造性,提出一些更新更好的解法,把這個問題解決得更好。這個我們稱之為技術創新的階段。

3,我了解的可能就是更大的一個層面,就是用技術去驅動一些整個因果鍊跟業務鍊條的變化的階段。這是什麼意思呢?其實不管解什麼問題,我們背後都是有因果鍊的,因為什麼是以什麼,使用者會怎樣,商家會怎樣,平台會怎樣,等等一系列的因果鍊。

這個因果鍊建立的過程是在當時的技術條件下會排除掉很多可能性,因為當初很多技術決定了某些事情結果達不到,是以我們會排除很多可能,在這樣的過濾下建立因果鍊,這是已有的業務。那這裡面為什麼阿裡巴巴對技術會做這麼大投入,就是因為技術的變革,其實會導緻這裡面我們原來排除掉的因果可能在未來成為可能性,整個因果鍊的思維過程會跟原來不一樣,整個業務的形态也會發生不一樣,或者催生完全不一樣新的業務。這就是為什麼各大公司都在技術上加大投入這麼重視的原因。

阿裡巴巴其實在第一個階段已經做得非常多,我們的業務體量也非常好。第二個階段是現在在技術創新上在着力做的一件事情。大家可以看到近幾年比如說機器學習跟資料挖掘等相關的領域,這種國際頂級會議的論文其實阿裡巴巴也發表了很多,我們目前來講在第二階段已經開始做出很多很漂亮的結果。

我們的理想是在第三個階段布局,我們希望在技術、行業變革裡面也貢獻自己的一份力量,去催生更多的這種因為因果限制關系的變化造成的整個業務因果鍊的變化,思維的變化,催生出一些新的業務形态,這是我們布局的事情,這是阿裡巴巴目前的階段。

阿裡期待什麼樣的技術人?

我是阿裡技術崗的面試官,也是帶團隊的技術leader,作為這兩個角色的話,我怎麼看,有哪些特質的人是覺得團隊更需要,或者公司更需要的人。其實阿裡巴巴有很好的兩個總結:有一個總結叫“非凡人 平常心 做非凡事”。

非凡人什麼意思呢?我們希望這個人的特質非常好的,首先比較聰明,對事情有韌性、有堅持、有驅動力,能夠去更好的解決問題,然後甚至能夠創造性的解決問題。非凡人我們會概括幾個特質:聰明、皮實、樂觀、自省。樂觀不能遇到問題就特别傷心,啥都幹不了了。聰明的話就是得有一定的專業素養,甚至或者說你得有足夠的潛力,即使你不太會的,能夠在實際的問題,或者通過自己的學習迅速的提高自己。皮實就是我們做任何一件事都不是一帆風順的。

舉一個例子,阿裡的雲戰略,阿裡其實有一個著名的人是王堅博士,王堅博士在做阿裡雲戰略的時候,應該說還是承受很大的壓力的。關注業界的人,都知道那時候相信雲這件事情的公司并不多。大家非議特别大,王博士那時候肯定承受了很大壓。其實真正一路走過來其實阿裡巴巴的雲現在在國内來講,應該是階段性最大的,而且在持續投入更多的資源,希望做得更好。

目前來講,大家基本上都已經相信了雲這件事。這一路走來,其實我覺得我特别欽佩王堅博士的一點就是他在各種壓力下,甚至也有很多人可能對王博士本身對雲技術的了解之類的也會提出一些挑戰。其實王堅博士以他對雲的這種堅信,堅持,真的把這件事情做成。不管可能有其他大牛覺得怎麼樣,但是真正能把這件事做成的,可能除了王博士還真不一定有。因為這個承受的壓力非常大,真的是内心的堅持,内心對這件事的堅信才能把一件很困難的事做成。

是以我們需要有這種皮實的精神,遇見困難之後就打退堂鼓,那一件偉大的事一定不是你的,任何偉大的事,如果現在還沒被人做出來,一定都是不那麼容易的。自省就是說在整個做事的過程裡面需要反複的去反思自己以及吸收外界的這種回報來思考怎麼把這件事做的更好以及自己初心對不對,自己做的方向是不是在自己初心上面。是以這是對人的要求。

第二個就是大家進入工作階段要保持平常心,其實從學術界或者從一個環境切換到一個新環境,面臨一些可能非常複雜的資料和業務。這裡面可能就需要用一種平常心,用一種堅持力,要耐得住寂寞,能夠沉下去,把這些事情摸透,把資料能夠認識清楚。這是第一個階段,如果特别心高氣傲,永遠覺得很多事好像不願意去做,可能永遠沉不下去,然後也很難真的做出一些特别偉大的事情。

最後就是一個建議,在平常心的同時,要有一顆追求卓越的心。首先要沉下去,沉下去之後,對很多現狀可能要去思考怎麼才是一個改變它的更好的方式。怎樣對業務,對技術是一個更好的未來。然後一直去想一些有挑戰性的問題,有價值的問題,這顆追求卓越的心一定要有。非凡人、平常心、做非凡事,這就是我們怎麼看,我們需要什麼樣的人。以及聰明、樂觀、皮實、自省,都是非常好的總結。

如何在面試時更好展現自己?

每年其實也接觸過很多找工作的同學,下面會給一些建議。

首先就是你的履歷有哪些亮點能夠抓住hr跟技術主管的眼球,比如學校背景大家肯定會看的,但是更抓眼球的是真正能夠在更大範圍内去證明自己能力的一些事情。這裡面包括比如說高品質的學術論文,比如說在一些國際的比如資料比賽的名次或者獎項。再比如你是不是有一些代碼受到了大家的認可,例如說最經典的就是一些開源項目,參與的方式等等,這些東西會特别抓住hr跟面試官的眼球。

如果沒有的話也沒關系,我們還要記住一些面試技巧。

第一個的話就是準備階段,準備階段的話,有一些基礎的,比如程式設計能力,有一些同學後面用進階語言做一些研究的事情可能會把底層的程式設計能力,比如說大學時候學的一些東西稍微忘掉了,實際工作很多需要自己操刀做的,這個東西還是在面試之前稍微撿一下。舉幾個例子,第一個基礎的程式設計能力,第二個是最基本的比如說資料結構的知識,比如你面試的時候連結清單一問都不知道,這可能還是會讓面試官很失望的。第三個如果面試算法崗位,除了剛才說的機器學習或者視覺或者運籌學等專業知識之外,一些基本的算法,最好也準備一下。

這裡面其實推薦一下《算法導論》之類的業界比較經典的書。哪怕你隻花兩小時,或者一下午稍微複習一下前一兩章基礎的概念,這對面試來講都是非常有好處的。基礎能力在研究所學生、博士生階段還真是有可能丢的時間比較久,建議大家可能花一兩個小時或者一下午溫習一下就會好多。

第二個就是專業能力,這是日常的,之前的經曆,研究項目,在學生時代做的研究工作,包括實習的工作都可能很說明問題。

最後講下面試技巧。在面試過程裡面,面試過程裡面,其實大家都可能會擔心自己有些缺點,我覺得這并不是最關鍵的,最關鍵的就是你認為自己的亮點在面試過程裡面真正展示給面試官。比如整場面試下來,面試官沒有問到你覺得自己最牛最厲害的地方,正常面試完了,可能這方面還是會有問題的。

其實面試官會去看這個人潛力,去從各方面來看這個人未來是不是能夠有更好的發展,他會抱着這樣一個心态來跟你聊的。是以你也可以試圖用一些比較好的語言方式去引導一下面試官,引導到你覺得自己比較亮眼,比較強的地方,跟面試官在這上面開展一些讨論跟聊天,這樣對展示自己非常有幫助。不怕有缺點,但怕沒有把你的亮點說出來。

我的分享就到這裡,謝謝大家。

來源:阿裡技術

<a href="https://mp.weixin.qq.com/s/dhbyk74xf7mb4uij0gpj_q">原文連結</a>

繼續閱讀