1. 程式人生 > >面試記錄-螞蟻金服-演算法工程師(共四面)通過

面試記錄-螞蟻金服-演算法工程師(共四面)通過

一面,1.5小時

7月中旬找了螞蟻金服的師兄內推。之後大概10天后收到螞蟻金服面試電話,面試官剛開始是用釘釘打過來的,沒接到,之後再給他回電話也沒人接,沒想到面試官在下班路上給我來的電話,可以說很敬業了。

面試官先給我說明一下他所在的部門是支付寶的安全部,然後讓我介紹一下自己

我簡單說了一下自己現在所在學校,還有自己本科的兩個專案,一個是獲得全國大學生資訊保安競賽的專案–app(因為是安全部門,所以這個我提了),第二個是本科老師創業的專案–web,然後說明我研究生階段的研究方向是機器學習,專案還有我在滴滴公司實習的情況。

說一下你具體做的一個專案

這裡我就講自己做的kaggle上的一個競賽了,關於廣告欺詐的,講了自己的資料處理,特徵工程,還有主要用xgboost模型,之後用AUC值評估

說一下你處理資料的過程

這裡講了一下對資料缺失值,異常值的常見處理方式,以及對資料做離散化的操作,以及資料不平衡的處理

為什麼對資料做離散化

回答的時候差不多按照這些方向回答的:
0. 離散特徵的增加和減少都很容易,易於模型的快速迭代;
1. 稀疏向量內積乘法運算速度快,計算結果方便儲存,容易擴充套件;
2. 離散化後的特徵對異常資料有很強的魯棒性:比如一個特徵是年齡>30是1,否則0。如果特徵沒有離散化,一個異常資料“年齡300歲”會給模型造成很大的干擾;
3. 邏輯迴歸屬於廣義線性模型,表達能力受限;單變數離散化為N個後,每個變數有單獨的權重,相當於為模型引入了非線性,能夠提升模型表達能力,加大擬合;
4. 離散化後可以進行特徵交叉,由M+N個變數變為M*N個變數,進一步引入非線性,提升表達能力;
5. 特徵離散化後,模型會更穩定,比如如果對使用者年齡離散化,20-30作為一個區間,不會因為一個使用者年齡長了一歲就變成一個完全不同的人。當然處於區間相鄰處的樣本會剛好相反,所以怎麼劃分區間是門學問;
6. 特徵離散化以後,起到了簡化了邏輯迴歸模型的作用,降低了模型過擬合的風險。

對資料不平衡你怎麼處理的

對樣本少的進行過取樣,對樣本多的進行下采樣,或者相結合

為什麼處理不平衡的資料,這樣會有什麼好處嗎

因為我想先有lr模型擬合一下,但是lr模型對資料不平衡特別敏感,所以需要對資料進行取樣,這是好處,但是資料取樣之後會丟失一些特徵,這個只是單純的用lr看一下效果,大概的baseline

那能不能不處理

更換模型,比如我採用xgboost模型,或者nn模型就不用過多的處理不平衡的資料。

那你怎麼做特徵工程的

我說根據業務的需要,比如廣告欺詐裡,對於欺詐產生的場景,哪些特徵是影響結果的,然後講了講我的一些特徵,還有為什麼選這個特徵的原因。

那這些特徵你怎麼選擇的

我用xgboost的特徵重要性的函式來篩選,它會給出特徵的評分。

xgboost怎麼給出評分的,以及xgboost的原理你清楚嗎

這個回答我基本是按照我的部落格,手推記錄——xgboost,評分就是根據節點分割的增益,原理就從目標函式講起。然後從頭到尾基本說了一遍。

我看你的簡歷,你們還用到了lgbm,lgbm的原理是什麼,那這兩個有什麼區別

我說使用lgbm主要原因是因為lgbm處理大資料集速度更快,自己並不太清楚lgbm的原理,但是目標函式適合xgb一樣的,只是分裂節點的方式不一樣,xgboost採用的是level-wise的分裂策略,而lightGBM採用了leaf-wise的策略,區別是xgboost對每一層所有節點做無差別分裂,可能有些節點的增益非常小,對結果影響不大,但是xgboost也進行了分裂,帶來了務必要的開銷。 leaft-wise的做法是在當前所有葉子節點中選擇分裂收益最大的節點進行分裂,如此遞迴進行,leaf-wise這種做法容易過擬合,因為容易陷入比較高的深度中,因此需要對最大深度做限制,從而避免過擬合。lightgbm使用了基於histogram的決策樹演算法,這一點不同與xgboost中的 exact 演算法。然後有講了一些其他的不同。

我看你現在還在滴滴實習,說一下你在滴滴的工作吧

然後講了一下我在滴滴實習的一些工作,包括用到的模型,資料等等

最後

你有什麼問題問我的嗎

我跟面試官提了,為什麼拿我的簡歷,因為他們是安全部門,而我不是做安全的,面試官解釋說要AI的同學來搞安全了。很多場景需要用到;我又提了說沒有安全基礎是不是需要補充一下,有什麼途徑,之後面試官建議我去看看一些介紹安全的網站,瞭解一下就行。

二面,1.5小時

一面之後一週的時間,二面是一個比較偏向做安全的面試官,但是他說自己也搞機器學習

你本科的那個專案,就是拿一等獎的是什麼樣的,能介紹一下嗎

我就介紹了一下這是一個手機丟失之後,能夠遠端防護手機,把檔案進行取回銷燬等等功能的一個產品。跟安全攻防沒有什麼關係。

我看你做的專案用auc值來評判模型的好壞,能解釋一下auc嗎

我說,auc值是roc曲線下的面積,用來評判模型結果結果的可信度,可以理解為,在樣本里抽一個正樣本和一個負樣本,正樣本的評分高於負樣本的概率比較大。然後面試官說是不是可以理解成auc高的話精確率會高,然後這裡我其實不太贊同,但是我當時又沒想到怎麼解釋auc和精確率沒有必然的聯絡,沒解釋好,我們兩個討論了好久,最好面試官說,很多人都解釋不清楚。。。然後問我roc曲線怎麼畫出來。我說先把所有樣本給出的評分從高到低排序,然後依次設定閾值,每一次都算出一個真陽率和假陽率,真陽率就是召回,正樣本里有多少預測成正的,假陽率,就是負樣本里面有多少被預測稱正的。然後以真陽率為縱座標,假陽率為橫座標,打點,連線。曲線就是roc曲線了。

你用的xgboost模型,能解釋下gbdt,xgb,rf的區別嗎

我先說rf和gbdt/xgb不一樣,一個是bagging一個是boosting,rf是將樣本抽樣,特徵抽樣,然後訓練很多個弱分類器,然後加權求和。gbdt和xgb都是加法模型,序列的,根據上一個弱分類器的結果訓練下一個分類器,消除殘差。

xgb是怎麼消除殘差的,目標函式什麼

往殘差的負梯度方向走,來消除殘差。面試問什麼是梯度。我說都是當你上山時,最陡峭的位置,就是梯度。面試還問了梯度下降,以及梯度下降的改進和梯度消失的概念。我就把梯低下降的優化演算法,比如adam講了一下。之後我解釋了目標函式是損失函式加正則項,面試官接著問正則。我把xgb正則的定義說了一下,他說為什麼要加正則,我說是防止過擬合,他說那為什麼加了正則可以防止過擬合,我根據xgb的原理,講了樹在分裂時的表示式,分裂的增益需要減去一個r,這個就可以防止樹瘋長,防止過擬合,然後又講了l1,l2一般化的是怎麼防止過擬合的。

你打算怎麼改進自己的專案

我說自己打算用nn模型,因為工業界已經開始往深度學習方向走了,然後面試問我深度學習瞭解的怎麼樣,我說知道一點卷積。面試官問,為什麼深度學習會好一點,我說深度學習可以幫我提取特徵。

那你能解釋一下卷積網路嗎?

我從卷積,填充,滑步,池化講了一遍。面試官說,那你覺得卷積有什麼好的或者不足,我說卷積最大的好處是引數共享,可以減少求參。不足就是沒辦法識別大圖。就是空間資訊不能捕捉,卷積之後特徵會丟失。

之後還問了一些和一面有點重複的問題。就不打出來了。
最後問我有什麼問題,我就再聊了一下部門的工作內容就結束了。

三面,30分鐘

二面之後,15天左右,三面應該是部門leader了,搞安全的,主要問我做的安全競賽專案是什麼,對linux系統是否熟悉,對文字資料分析怎麼樣,我介紹了一下安全競賽的專案,然後說linux熟悉指令,核心不太熟悉。文字資料沒搞過。然後他說如果我要能夠檢測異常的使用者,用AI怎麼實現。我就從資料,收益,模型講了一下。然後他說異常的樣本很少的,這種情況怎麼處理,我就按資料不平衡的處理方式說了一下,然後建議做遷移學習。講了一下想法。面試官又問,如果我想有一個模型來定義使用者的正常行為呢,我說可以考慮成使用者行為畫像(胡扯的。。。。)自己說了一下理解。
之後讓我提問題,我再聊了一下,就結束了

四面,30分鐘

三面我以為要涼了,但是第3天hr就打來了電話,問了一下有沒有別公司的offer,我說有美團,360,滴滴的。其實都是意向書,然後他說怎麼選擇offer呢,我說首選杭州,然後公司也是首選阿里,他說為什麼是阿里。我說阿里牛逼。。。。
之後聊了一下,對金融未來風險的看法,我說安全第一,然後講了一下理解。然後他再問了一些個人情況就結束。
結束之前說我有什麼問他的,我讓他介紹了一下螞蟻金服晉升體系,還有培訓體系,就沒有了,之後hr讓我月底等訊息。

完。

相關推薦

面試記錄-螞蟻-演算法工程師四面通過

一面,1.5小時 7月中旬找了螞蟻金服的師兄內推。之後大概10天后收到螞蟻金服面試電話,面試官剛開始是用釘釘打過來的,沒接到,之後再給他回電話也沒人接,沒想到面試官在下班路上給我來的電話,可以說很敬業了。 面試官先給我說明一下他所在的部門是支付寶的安全部,然

【小家面試螞蟻2018年Java一面面試題

相關閱讀 廢話不多說,直接把印象中的面試題貼出來: 雖然我自己沒有完全答得很好,但本文給出一些參考性的答案。如果覺得不妥的,可以給我留言討論 1、自我介紹、自己做的專案和技術領域 略 2、專案中的監控:常見的監控指標有哪些? QPS、進出口流量、C

iOS-螞蟻面試題

原文首發地址 由洲洲哥整理提供,有些地方說的不準確的地方還希望各位看官指正! 下面進入整體 1:在KVO中,他是怎麼知道監聽的物件發生了變化? KVO簡單介紹 中文名稱:觀察者 功能描述: 是一個第三者的觀察方,在不改變被觀察物件任何屬性的情況

阿里巴巴菜鳥- 演算法工程師機器學習提前批筆試面試總結

前面一直在準備出國留學申請,中間投遞了華為、騰訊、阿里三家公司。幸運的是拿到了華為多媒體演算法崗的SP,騰訊遊戲3D視覺演算法崗的SP(真愛),阿里巴巴菜鳥物流演算法崗的A級。接下來將投入到論文發表、計算機名校申請中。 Attention1:本文是博主準備阿里秋招的筆記內容

一份還熱乎的螞蟻面經已拿Offer!附答案!!

本文來自我的知識星球的球友投稿,他在最近的校招中拿到了螞蟻金服的實習生Offer,整體思路和麵試題目由作者——澤林提供,部分答案由

愛奇藝2018秋季校招演算法工程師第一場[程式設計題]括號匹配深度

時間限制:1秒 空間限制:32768K 來源:牛客網 一個合法的括號匹配序列有以下定義: 1、空串""是一個合法的括號匹配序列 2、如果"X"和"Y"都是合法的括號匹配序列,"XY"也是一個合法的括號匹配序列 3、如果"X"是一個合法的括號匹配序列,那麼"(X)"也是一個合法的括號匹配序列 4、

愛奇藝2018秋季校招演算法工程師第二場[程式設計題]幸運子序列

連結:https://www.nowcoder.com/questionTerminal/872919272a33406a9c5ddc8b2f7532f4 來源:牛客網 牛牛得到一個長度為n的整數序列V,牛牛定義一段連續子序列的幸運值為這段子序列中最大值和次大值的異或值(次大值是嚴格的次大

記校招這場尷尬的經歷Ⅰ--阿里螞蟻演算法工程師-機器學習

        本人上海某西南高校研究生,專業方向跟人工智慧沒有任何關係(雖然老闆總想扯上點關係),輔修了機器學習、深度學習等一些課程,當然沒有專案實踐,所以這是一場開始就知道結果的面試。         拜託一個朋友進行的內推,本來是想內推C/C++開發的,朋友說:“你這

2019秋招後臺開發面試記錄(阿里巴巴螞蟻、百度、360、美團點評)

螞蟻金服二面 1、自我介紹 2、專案 3、10億數字找最大100個數,不考慮記憶體問題,問的很細 4、索引 B+樹和二叉樹 5、騰訊可以留嗎?給你offer了嗎?你是不是要優先選擇騰訊 5、其他的個人問題聊了很多,哎前面都快被懟死了。。建議我考研之類的。。感覺都涼透了。。最後又給我說,面試表現還

螞蟻面試覆盤插播

1.       首先介紹專案以及架構,然後問了dubbo和zookper之間的關係,為什麼不用別的中介軟體呢,zookper在dubbo中充當什麼樣的角色,用別的替換它行不行,dubbo和zookper的一些配置引數。 2

20180205-螞蟻面試總結3

48.Tomcat reloadable實現原理 47.Tomcat 接收使用者資料的IO原理(我回答的就是NIO,面試官說還可以,另外講一下對Reactor模式和Proactor模式的理解) 48.

螞蟻的一次面試經歷一面、二面

一次有把握的面試,需要經過長時間的準備 電話一面 1、自我介紹、自己做的專案和技術領域 2、專案中的監控:那個監控指標常見的有哪些? 3、微服務涉及到的技術以及需要注意的問題有哪些? 4、註冊中心你瞭解了哪些? 5、consul 的可靠性你瞭解嗎? 6、cons

2018面試總結阿里巴巴螞蟻、餓了麼、人人車等

前言 今年跳槽換工作,一共面試了8家公司,拿到了6個offer,其中包括阿里巴巴螞蟻金服(外派杭州)、餓了麼、人人車等公司,總體來說還算是順利,因為也沒面的特別多,想把今年的面試情況總結一下,給自己做一個記錄,也希望給其他人一點幫助。 面試記錄 星雲鏈

螞蟻的一次面試經歷分享!一面、二面

一次有把握的面試,需要經過長時間的準備! 電話一面 1、自我介紹、自己做的專案和技術領域 2、專案中的監控:那個監控指標常見的有哪些? 3、微服務涉及到的技術以及需要注意的問題有哪些? 4、註冊中心你瞭解了哪些? 5、consul 的可靠性你瞭解嗎? 6、c

螞蟻面試經歷內含大量乾貨

4號通過阿里工作的學長進行內推,7天簡歷評估,11號接到電話面試,儘管猝不及防回答倉促,但好在前期準備充分,通過。3天后進行現場面試,通知時間為早上10點。當日設了七點鬧鐘,結果五點五十三分驚醒後再無法入睡,起床,重新

螞蟻面試總結一面沒過

3月13號晚上8點,螞蟻金服的面試官打電話給我,進行一場面試。電話交流四十多分鐘,通過郵件傳送兩道演算法題目做,時間一個小時。面試過程:現實自我介紹,我第一個專案還沒有說完,被面試官打斷,問題了一些專案問題。自己的專案要非常清楚,我答得不好,對於專案的效能提升問題答不上來。問

2018螞蟻面試總結Java方向

2018年8月初得螞蟻垂青(本人非985/211,螞蟻真的不是很在乎學歷!!!),有了一次社招機會,前後經歷三關,隨敗北但受益匪淺,在此與各位朋友分享經歷與心得。 第一關:線上筆試 筆試題內容如下: 說明: 構建一個本地快取,快取的物件是使用者ID以及部分使用者的資訊。

螞蟻初級Java電話面試 面試題

ringbuf str eem 螞蟻 ren 電話 什麽 死鎖 hashmap 1.String, StringBuffer, StringBuilder 的區別,為什麽String 不可改變,StringBuilder可以改變? 2.HashMap 是不是有序的,有哪些有

阿裏最全面試100題:阿裏天貓、螞蟻、阿裏巴巴面試題含答案

等於 系統 較差 stat http2 介紹 子節點 read osi 【阿裏天貓、螞蟻、釘釘面試題目】 1、微信紅包怎麽實現。 2、海量數據分析。 3、測試職位問的線程安全和非線程安全。 4、HTTP2.0、thrift。 5、面試電話溝通可

渣渣菜雞的螞蟻面試經歷(一)

做的 優化 alibaba hashmap say lar 圖片 線上 禁止 螞蟻金服 電話一面 1、自我介紹、自己做的項目和技術領域 2、項目中的監控:那個監控指標常見的哪些? 3、微服務涉及到的技術以及需要註意的問題有哪些? 4、註冊中心你了解了哪些? 5、consu