各大AI研究院共35场NLP算法岗面经奉上
本文涵蓋了騰訊微信事業群模式識別中心,PCG和TEG事業群,阿里達摩院,螞蟻金服,百度研究院,京東研究院,頭條AI Lab,滴滴AI Lab,微軟亞洲研究院,微軟工程院以及聯想研究院等等多個公司NLP算法崗面試內容,其實面試內容都大差不差,從大的來說就包含四塊內容,下面我也就這四塊做一個簡要的說明:
1、簡歷中項目以及提到的相關算法
2、傳統機器學習相關算法原理及使用細節
3、深度學習算法相關算法原理及使用細節
4、手動Coding,數據結構的考察
首先也是重重之中,就是要準備好一份漂亮的簡歷,簡歷的重要程度不用多說,我想大家首先給自己心理設下這樣一個標準,我這份簡歷前后修改了有20個版本了沒有。
簡歷投出去之后就是自我的準備工作,對于傳統機器學習算法,我列舉一些如:
K-近鄰,K-Means,樸素貝葉斯,決策樹(ID3, C4.5, CART, GBDT, Xgboost, Lightgbm, 隨機森林等),邏輯回歸,最大熵模型,支持向量機SVM,EM算法,隱馬爾科夫模型,條件隨機場等,這些傳統機器學習算法在面試中經常會被問到原理,或者直接讓你公式推導,推薦閱讀的書籍如:李航-統計機器學習,周志華-西瓜書,劉鐵巖-分布式機器學習等
?
除了傳統機器學習就是深度學習算法的復習,深度學習模型的考察通常會結合實際的項目場景進行考察,那掌握模型的原理便是基礎,常考查的深度學習模型如
1、CNN,RNN/GRU/LSTM,Transformer(NLP特征提取)
2、Word2Vec,Glove,FastText,Elmo,Bert,Flair(預訓練詞向量)
3、CNN,RNN,RCNN,DPCNN,FastText,HAN,Bert(NLP分類模型)
4、GNN,GCN,SGCN(圖模型)
深度學習算法復習推薦書籍如:花書-深度學習,python神經網絡編程等
?
最后一個便是面試都少不了的coding,如果現場面試基本都會準備一張紙一支筆然后手動Coding,像今年遠程面試那就都是線上coding,像頭條或部分公司就會使用牛客網在線編程環境,線上coding其實相對于手動coding還是有好處的,因此平時就是在線上寫代碼,但如果是手動coding大家需要注意一些問題,不要以為線上會coding,紙上也能完整的寫下來,需要提前在紙上寫一寫,因為線上coding是有可自動補全的編程環境,會讓你舒服很多。手動Coding的能力不是短時間可以練出來的,因此平時大家要多練習,這個大家倒不用買什么書籍,就可以在Leetcode網站,牛客網站上進行練習。
?
接下來就給大家奉上將近20家公司NLP算法崗的面經,供大家參考,我把面經分為了暑期實習面試篇和日常實習面試篇,其實暑期實習和日常實習面試的內容沒有太大的區別,只是在流程上暑期實習面試的流程很長,在招聘上公司也會更加的謹慎。?當然只要大家對上面提到的四項內容全都掌握,那么面經倒也沒有太大意義了,如果大家想溝通面試經驗或者某些公司組別的相關情況可以關注公眾號后獲取我的聯系方式,希望和大家一起交流學習。
暑期實習面試篇
阿里螞蟻金服-人工智能部
一、阿里一面(兩小時)
1、兩道算法題(50分鐘)
(1) Leetcode139 單詞拆分
(2) 對算數表達式求值,如給定字符串'1+((2+3)*4+(4+2))-5*(2+1)',求算數表達式結果
2、聊簡歷(40分鐘)
3、算法常識(30分鐘)
(1) 偏差和方差的區別
(2) 介紹一些傳統機器學習的分類體系
(3) Bert和Elmo在工程中存在的一些Trick
?
二、阿里二面(四十分鐘)
1、聊簡歷(40分鐘)
?
三、阿里三面(三十分鐘)
1、聊簡歷(30分鐘)
?
四、阿里HR面(二十分鐘)
1、簡單介紹一下實習項目
2、以往實習經歷的體驗和收獲
3、自己性格的優缺點
4、對工作地點和入職時間的確認
?
阿里面試體驗:根據很多同學交流反饋的不完全統計,阿里面試一面難度最大,之后的面試好多都是只聊簡歷項目。阿里的HR權利很大,即使面到了最后一面HR面還是有很大可能會被掛掉,一句話夸張的概括一下阿里HR的存在吧,#阿里技術部的面試官是在給HR部門招人,而不是HR再給技術部招人#。而且阿里的流程走的是真的慢,很多同學都是在HR面后超過半個月才會收到offer意向書,所以面了阿里就得放平心態耐心等著吧。
?
騰訊WXG-模式識別中心
一、騰訊WXG一面
1、聊簡歷
2、結合簡歷詢問相關模型細節及工程細節
3、算法題
(1) 不用Python自帶的包實現INT轉為STR
(2) 反轉鏈表,劍指offer原題/Leetcode206
(3) 給定一段文本Text,對文本做各種數據統計
?
二、WXG二面
1、聊簡歷
?
三、WXG三面
1、聊簡歷
2、算法題
(1) 字典樹的最大正向匹配算法實現
(2) Leetcode146-LRU緩存機制
騰訊TEG-AI平臺事業部
一、騰訊TEG一面(兩小時)
1、算法常識(50分鐘)
(1) 介紹過擬合的方法,L1和L2正則的區別,L1正則為什么產生稀疏解
(2) dropout方法如何防止過擬合,直接簡化網絡和dropout的區別
(3) 介紹深度模型中的優化函數以及優缺點,介紹實際工程中如何判定過擬合
(4) 給房屋面積/房間個數/是否有電梯/是否南北通透/樓層數以及房屋價格,描述解決思路
2、聊簡歷(40分鐘)
3、算法題(30分鐘)
(1) 實現dropout函數
(2) 長度N的整數數組,只用乘法不用除法,求任意N-1個數乘積最大一組
(3) 二叉樹中的所有和為Target路徑,Leetcode113-路徑總和2
?
二、TEG二面(四十分鐘)
1、問的都是工程方面開放性問題
(1) 多層次分類如何處理
(2) 分類文本中如果含有一些關鍵詞擾亂分類結果如何處理,舉例
(3) 分類文本中如果出現一些新詞無法識別導致分類錯誤如何處理
(4) 分詞多個分類模型的優缺點如CNN,RNN,FastText以及應用場景
(5) 開放題: 農夫山泉公司對水資源的開采是否會造成水資源的枯竭,如何看待
?
三、TEG-HR面(十五分鐘)
1、聊簡歷項目十分鐘
2、給了五分鐘問問題
?
騰訊面試體驗:暑期實習在流程上騰訊和阿里比也快不到哪里,但是騰訊有一個特別好且可以利用來加快面試速度的小方法,那就是基本每個人都可以直接接觸到騰訊的HR,在面試進度被卡時,可以通過聯系騰訊HR來直接推進面試進度,HR小姐姐一般都很樂意幫忙。還有就是騰訊HR面完之后基本就挺穩了,這點和阿里也差別很大。
?
頭條AI Lab
一、一面(一個小時)
1、聊項目
2、基礎知識
3、算法題:字符串s只包含字母‘a’和‘b’,請問同時滿足以下條件的字符串s’的最大長度(1)s’是s的連續子字符串,(2)s’里‘a’和 ‘b’數目相等 ,(3) o(n)的時間復雜度
?
二、二面(一個小時)
1、聊項目
2、基礎知識
(1) python中的裝飾器、值傳遞和索引傳遞
(2) word2vec和FastText模型以及二者的區別,FastText算法N-gram作用
3、算法題:實現K-Means算法
?
三、HR面(十五分鐘)
HR面試相對輕松,就是問了以前實習有沒有什么收獲以及之后的職業規劃,還有HR介紹了一波頭條的AI Lab
?
頭條面試體驗:頭條給人的感覺就是嚴謹,無論從HR或者到面試官,首先頭條的HR還是真的專業,在面試前都有HR先和你溝通面試時間,有什么問題都可以和HR溝通。談到這點我就特想說,阿里的面試很多都是突然某個午休時鈴聲響起就這么突然地被面試了(基本都是用公用電話打,也不給你任何聯系他們的機會,神秘的組織啊),至于HR嘛只有在HR面的時候你才能聽到他的聲音,但他還有決定你去留的強大權利。頭條的面試官嚴謹怎么說呢,就是頭條的每次面試基本都是一個小時左右,不少不多。但阿里和騰訊那就看面試官心情了。
?
?
日常實習面試篇
阿里達摩院
一、一面(一個小時)
1、聊簡歷項目
2、算法知識
(1)CNN?模型中池化層的作用,Max Pooling 是如何反向傳遞梯度的。
(2)機器學習中正則化做什么的?約束模型參數,防止過擬合。
(3)正則化有 L1 和 L2 正則化區別是什么
(4)Transformer?模型架構, Transformer 和 BERT 的位置編碼有什么區別
(5)Dropout 有什么作用
3、算法題:給定一個未排序的整數數組,找出最長連續序列的長度,o(n)時間復雜度,leetcode128原題
?
二、二面(一個小時)
1、聊簡歷項目
2、簡歷上設計的相關算法原理介紹
3、算法題:尋找兩個有序數組的中位數,o(log(n))時間復雜度,leetcode4原題
?
新東方研究院
1、聊項目(一個小時)
2、算法題:array=[1, 3, 7, 9, 12, 15, 21], target=21, 找出數組中所有和(n個數,n=1,2,…)目標數的數集合,leetcode39、leetcode40組合總和問題
?
聯想研究院知識圖譜
1、聊項目(半個小時)
2、算法題
(1)尋找二叉樹中任意兩個節點的公共父節點,無指向父節點的指針且不準添加
(2)兩個list1,list2保存了電話信息,電話都是字符串且都有數字組成長短不一,查詢list2中電話在list1中出現的情況:如果完全匹配返回電話,如果只是前綴且僅是一個電話前綴返回電話,若是多個電話前綴則返回空,如果完全不匹配返回空
?
美團知識圖譜核心組
一、一面(一個小時)
1、聊簡歷項目,介紹BERT、Attention、Transformer原理
2、場景題:對于分類問題中的多標簽問題/或者多級字標簽問題如何解決
3、算法題1:二叉樹的層次遍歷,leetcode102,leetcode107原題
二、二面(一個半小時)
1、聊簡歷項目
2、場景題:對于分類中為什么要采用數據不同比例
3、寫出交叉熵公式并解釋為什么要使用交叉熵作為損失函數去評估誤差
3、算法題1:leetcode15三數之和
4、算法題2:鏈表的歸并排序和鏈表的快速排序
?
騰訊自然語言處理組
一、一面(一個小時)
1、聊簡歷項目
2、介紹Bert、XLNet、Attention、CNN的原理,
3、探討了rule激活函數如果不加在卷積層之后而是加在最大池化層之后有什么影響
4、算法題:快速排序
二、二面(一個小時)
1、聊簡歷項目
2、python中字典和集合的實現結構
3、算法題1:使用Tensorflow實現Softmax函數
4、算法題2:給了一個文檔集合,計算每篇文檔中每個單詞的TF-IDF值
5、算法題3:二維平面有很多點,判斷二維平面中是否存在平行線
三、三面(一個小時)
1、聊簡歷項目
2、簡歷上提到的所有算法原理過了一遍
?
百度研究院
1、聊簡歷項目
2、傳統機器學習:L1/L2正則化及對損失函數造成影響的區別、邏輯回歸、GBDT原理以及殘差實現細節、GBDT和Xgboost對比、高斯過程原理、吉布斯采樣原理
3、算法題1:求一個整數的平方根
4、算法題2:給定兩個整數數組,對第一個數組進行排序,整數順序由其在第二個數組中的位置決定,對于沒有出現在第二個數組中的整數,應排在末尾,其之間順序無限制。這里整數的取值范圍是[0, 2^32-1],例如第一個數組為5 1 6 2 1 2 3, 第二個整數數組為2 1 3, 則排序結果為2 2 1 1 3 6 5或2 2 1 1 3 5 6
?
?
京東AI研究院
1、聊簡歷項目,面試超水,聊完簡歷項目直接要了
?
滴滴AI Lab
1、聊簡歷項目
2、word2vec原理、如何得到詞向量,fasttext原理
3、GDBT梯度決策提升樹、xgboost、lightgbm原理及區別
4、算法題:給定數組例如[A,B,C,D,E,F],給定目標數C, 得到數組[D,E,F,C,A,B]
香儂科技
一、一面(一個小時)
1、聊簡歷項目
2、算法題:兩數之和,從數組array中找出兩數之和為target
3、算法題:在一個坐標系中給定(0,0)、(a,b)點,從(0,0)點出發,每次只能向右走一步或者向左走一步,到達目標點(a,b)點一共需要走多少步
4、GBDT和xgboost的原理,為什么常說xgboost可以并行的,GBDT和xgboost有什么區別
5、L1正則化和L2正則化的區別,L1正則為什么產生大量稀疏解
二、二面(一個小時)
1、聊簡歷項目
2、算法題:反轉鏈表
3、算法題:將多個排序好的鏈表合并成一個有序鏈表
4、一對夫妻有兩個孩子,第一個是女孩,問第二個是男孩的概率
5、CNN,RNN,LSTM,BERT全稱都是是什么
?
?
百度知識圖譜
一、一面(一個小時)
1、聊簡歷上的項目
2、激活函數有哪些以及激活函數如何選用
3、操作系統中進程和線程有什么區別,通信方式
4、算法題:LCS、二分查找
?
二、二面(一個小時)
1、聊簡歷項目
2、介紹Bert、Transformer、Attention原理
3、手推SVM
4、算法題:在二叉樹中同層的節點之間添加左孩子到右孩子的指針
?
微軟工程院Bing搜索
1、聊簡歷上的項目
2、算法題:樹中任意兩個節點的最近公共父節點,面試官讓使用兩種遞歸的方式實現,并且又要求使用迭代形式實現,迭代實現樹的中序遍歷
3、深度學習相關知識:CNN架構理解,梯度消失和梯度爆炸,L1正則和L2正則,損失函數
?
微軟小冰核心對話組
一、一面(一個半小時)
1、聊簡歷項目
2、算法題:LCS迭代實現、遞歸實現、LCS序列打印、算法優化,LCS和最長公共子串區別
3、手推Bayes公式
4、手推CBOW和Skip-gram公式
5、許多開放性試題如:維護一個項目上線最主要的是什么,NLP領域都有哪些任務,詞向量預訓練發展整個過程等等
?
二、二面(一個小時)
1、聊簡歷上的項目
2、介紹HAN模型原理,Attention機制原理
3、算法題1:判斷一個序列是否是二叉搜索樹的后序遍歷序列
4、開放算法題2:在牛市實時數據,不斷的有數字型數據流進入,如何在每次進入時得到當前所有數據的中位數
?
三、三面(一個半小時)
1、求公選課人數的平均數(不知道每個公選課的選課人數)
2、給出QA中的Question和Answer,你能做些什么
3、word2vec中cbow\skip-gram滑動窗口設定大小有何影響
4、有事筆記本電腦跑程序出現內存不夠用,但是打開任務管理器發現還有空余內存為什么
5、算法題:編輯距離
6、算法題:任意兩個樹節點的最近公共父節點
?
微軟機器學習組
一、一面(一個小時)
1、聊簡歷上的項目
2、手推邏輯回歸
3、CNN和RNN中反向梯度傳播過程,為什么會出現梯度消失或梯度爆炸
4、算法題:用前序序列和中序序列重構二叉樹
二、二面(一個小時)
1、聊簡歷上的項目
2、算法題:設計一個游戲角色在地圖中從起始位置到目標位置是否有可行路徑,如果有記錄下來
總結
以上是生活随笔為你收集整理的各大AI研究院共35场NLP算法岗面经奉上的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 四种检测异常值的常用技术简述
- 下一篇: 好心情:长期心情不好就是抑郁症?