1. 程式人生 > >記錄平安金融壹賬通的面試過程

記錄平安金融壹賬通的面試過程

今天上午做了兩份現場筆試題,一份資料探勘的(筆試題偏SQL),一份AI崗的筆試(偏深度神經網路)。

面了平安科技的AI崗和大資料(資料探勘)崗位,現在記錄一下:

1.AI崗位:

面試官很和善,但是看了我的簡歷專案經驗和學術經驗,明確我沒有深度學習方面的相關經驗和學習,所以認為我和這個崗位不匹配,儘管我在期間,也表達了我有很強的自助學習能力,和很強的轉崗興趣,但是,沒有得到面試官的認可,最後還是把我調到大資料的(資料探勘崗位)了。

這裡得到的一點小總結:之前自己對深度學習也有過了解,用過tensorflow調包去實現一些小的案例,但是始終沒有深入的去學習這塊領域的知識,認為先學好傳統機器學習的知識就可以了,去面試機器學習的崗位。

但是,這幾次的面試下來,發現,大部分的崗位都需要有深度學習的基礎,比如RNN,CNN的一些學習實踐,所以在後期的學習力,我也要把這一塊的知識再學習一下,簡歷上也放一些實踐或者比賽的案例上去。

2.大資料(資料探勘)崗位:

剛面試,從自我介紹說起,我就把自己的實習經歷,學術經歷按簡歷順序一一敘述了一遍。

然後面試官也就順著簡歷一路問下來,其中包括的一些問題,我總結一下:

1,使用者畫像,用到了哪些維度的資料?  這裡,我就直接說了一些特徵,從人口特徵,到平安的平臺數據等,回答的還可以

2,我使用者畫像用的是K-means演算法,那麼對於離散變數如何進行連續化?

我回答的是,因為離散變數不能匯入模型直接計算距離,所以使用one-hot編碼,可以實現離散變數的連續化。

面試官接著問:除了one-hot編碼,還有其他比較好的編碼方式嗎,因為one-hot 編碼的效果不是很好。

我的回答 : 我瞭解的離散變數轉變成連續型變數,還有的方法有 等距分箱法,卡方分箱法等,來實現。

(其實我也不是很清楚到底哪種方法好,這裡就這麼說了,所以後面需要去確定一下,到底哪種編碼方式比較好?

面試官接著問:對於有序的屬性可以這樣處理,那麼對於無序的屬性呢? 我沒有給出比較滿意的回答。。。。

3.一般k-means都使用歐式距離,還有沒有其他的方法,你認為比較好的,來計算變數之間的距離?

這個問題,我真的不確定。我雖然知道,還有其他的方法可以計算變數之間的距離,比如馬氏距離,餘弦相似度計算,所以只說了這兩個,也沒有明確到底用哪種距離比較好?

23點更新:https://www.zhihu.com/question/60868444 知乎上有解答,在西瓜書上也寫到了VDM的距離方法,不過,雖然知乎上說了獨熱編碼的缺點,會丟失資訊,但是也說有什麼好的編碼方式。

只是說了有

所以基於K-means這種思路的演算法:

1.處理連續變數的有K-means和K-means++[2]

2.處理categorical變數的有K-modes[3]

3.處理混合變數的有K-prototypes

4.開始問CART數的問題

1) 為什麼選用CART數作為分類是否是沉睡使用者的模型?

我回答說,決策樹模型可以接收非數值型的輸入,所以選決策樹比較好處理。相對於ID3 ,ID4.5決策樹來說,CART數的效能更好,所以就選了這個。

2)對於輸入資料有缺失值的情況,你們是怎麼處理的?

我回答是:將缺失值作為一種特徵,直接帶入到模型中,不需要作缺失值處理。

面試官接著問:是如何將缺失值作為一種特徵帶入模型的。我沒有給出滿意的回答。。。。

3)CART迴歸數,如何尋找葉子節點?

擦,我這裡在面試的時候,沒有明白麵試官的意思,剛才查了一下,應該是就是如何分裂。就是怎麼選擇決策數的特徵。就是根據GINI指數嘛。但是和分類樹不一樣,迴歸樹是計算 Gain_σ

5.開始問申請評分卡的問題

1)缺失值是怎麼處理?

我回答,缺失值就是用平均值進行填充了。面試官問:是不是有些武斷了?

我接著回答說,也可以用迴歸的方法進行預測,但是這個做法工程量有點大,所以就沒有這麼做。

2)如何確定變數是否存在共線性,怎麼進行剔除?

這裡我不是很清楚,就回答了用PERSON相關性分析來確定是否存在共線性。。。如果兩個變數相關,就剔除其中一個。

然後面試官又問,如何判定離散變數和連續型變數,是否存在共線性呢?

這個我回答,還是要把離散變數連續化,再去判斷,但是面試官對回答不是很滿意。。。。

3)線性迴歸的基本假設是什麼?

這個我真不知道,回答了:假設變數之間的關係是線性的。

剛才找到了一個解釋的文章:

最後,面試官問,有什麼要問他的?

我問了一下面試官所做的業務場景,是我知道的開放平臺。然後對外面做一些模型輸出。

下次,我還可以問一下自己的今天面試表現如何,有什麼地方需要改進的。