【面试招聘】据说这里有一份关于BAT的 “宝藏级” 面试记录终于可以看了!...
文章來源于海邊的拾遺者,作者守著光的
寫在前面????
? ? 作者是研二的學弟,實力強悍的清北大佬一枚,研究方向與求職方向高度一致,為圖機器學習/推薦系統,學弟本人非常有自己的想法,不光優秀還極其自律,不光收割了BAT,還嘗試了難度較大的一些外企。話不多說,馬上就獻上這一份“珍藏版”面試記錄,內容詳實,有一定的門檻,具有很高的含金量。如下僅為部分面經,墻裂歡迎各互聯網大佬來撩!(可通過聯系小編,具體方法為點擊文章頂部左上方“海邊的拾遺者“進行關注,并在頁面右上角選擇”星標“公眾號,然后在頁面右下角點擊“聯系小編”即可聯系到大佬!)
螞蟻金服|AILab
一面
? ? 自我介紹。
介紹實習的工作,問了一些具體內容。
了解哪些GNN, GAT和GCN的區別,如果圖很稠密的話,對GAT有什么影響。
兩道easy的算法題,BST和二分。
問我會不會一些傳統的機器學習方法,比如xgboost, gbdt。
深度學習優化器的區別,Adam和SGD。
Transformer的結構, positional embedding等。
? ? 面試完以后面試官說他挺滿意的,介紹了下部門,說主要做圖理論算法的。但是我當時比較想做應用業務,所以就讓面試官就把我推薦到了他們經常合作的另一個部門了。
二面
? ??到了螞蟻第二個部門繼續面試的流程。
? ? 自我介紹。
介紹下以前的工作。
講下graph embedding的發展歷史,有哪些有代表性的模型,都講講。
給了兩個螞蟻的場景題,讓我設計解決辦法,說思路。
反問。
? ? 總共不到半個小時,聊的感覺挺好的。面試體驗很好。
三面
? ??晚上10點多面的。。。。,自我介紹完后簡單問了問項目和基礎的ML問題,大概10分鐘。
阿里媽媽
??? ? ?由于阿里只能最終在系統上選擇一個進行投遞,我選了螞蟻,所以阿里媽媽這兒就停止了。
? ? 自我介紹。
問了python語言的一些屬性,list和tuple的區別。dict里key能否是list,如果自己改造的list可不可以作為dict的key。dict除了用hash實現還可以用什么實現。生成器,迭代器,裝飾器。
代碼題:一個隨機序列,找第k小的元素。最好的方法應該用quickselect,時間復雜度是O(n)。quickselect在之后邊面別的公司的時候也被問了好多次,也算因禍得福了。
聊了聊項目。
問xgboost, gbdt原理及區別。
反問。
字節跳動
一面30min
? ? 自我介紹。
直接兩道算法題:1.判斷t2是不是t1的子樹(說了暴力算法,面試官說還有更快的。。。被搞蒙了,結果發現他想要的就是暴力遞歸。最后面試官說我代碼有問題,我說沒問題,他檢查了下說奧是他搞錯了。。。>.<緊張) 2.編輯距離,沒讓寫代碼,說了下思路。就結束了。
二面50min
? ? 自我介紹。
只聊了聊幾個實習經歷的工作,細節問了問。Focal loss公式。
一道概率題:給一個木棍,切兩刀,問可以組成三角形的概率。有點緊張,想了1分鐘說了個錯的答案。面試官就提示想想有幾個變量?畫到二維平面上?就想了到用線性規劃,然后就做出來了,1/4。
代碼題:隨機數組找第k大的元素。說了兩種,1是用heap,2是quickselect。第二個更快,復雜度是O(n), 然后把第二種的code寫了下,講了講。
三面30min
? ? 自我介紹。
聊了聊,介紹了3段實習經歷。
代碼題:類似leetcode島嶼連通的那道題。
HR面30min
? ? 聊天。
微軟|STCA
一面30min
? ? 自我介紹。
代碼題:1.鏈表排序 2.subarray sum equals k。半個小時寫完code后開始聊項目。
講了實習時候做的工作。連帶著相關細節數據集的采集,idea怎么做的等等。
深度學習的相關知識,過擬合,cnn,rnn,lstm,激活函數,梯度消失梯度爆炸,batch normalization, adam 等等問了問。
對面向對象熟悉不,有沒有什么經驗?
二面30min
? ? 自我介紹。
代碼題:給一個doc和一個摘要, 去查找doc里匹配摘要的位置(起始,結束)。能匹配多少就輸出多少。比如doc是abc, 摘要是ba,那么b和a都是在doc里有所匹配的。如果可以匹配多個,則返回最長匹配。
? ? 一開始沒理解題意,問師姐怎么劃分摘要里的句子,用句號?后來明白了不需要劃分,就硬匹配就行。面試官提示我建立一個倒排表,記錄doc里每個字符出現的位置,才終于明白了。coding了一下講了講,算法就過了。面試官說ok,coding沒問題算法就這樣吧。
介紹實習經歷。簡單聊了聊實習做的東西,大概十分鐘。整個面試體驗挺好的。
美團
一面40min
? ? 自我介紹。
上來先介紹實習經歷,項目。做法,細節,創新點都有問。從我做的東西出發,問了一些深度學習的問題,比如學習率,優化器,BN, LN, 梯度消失爆炸,過擬合,正則化的方法等。如果訓練的時候不同batch之間loss差別很大可能是什么原因?當emebdding size特別大的時候怎么辦?
后邊做了一道非常簡單的題。給一堆學生,按成績排序。
問了python的語言特性,*args, **kwargs, yield,生成器,迭代器,python的垃圾回收機制。知不知道python多線程。python構造函數是啥?
二面40min
? ??面試官看起來略微嚴肅,問了很多問題,問的很細。
? ? 自我介紹。
聊項目,基礎。
還有一些發散性的問題。比如怎么由用戶的外賣信息對用戶作其他方面的推薦(比如旅游)。
代碼題:求topk小的數。
Amazon|SDE
一面
? ? 自我介紹。
介紹項目。
代碼題:1.minstack 2.system design的題目,是最基礎的LRU。但是當時沒做過,靠著面試官提示,半個小時最后終于把思路說對了,沒時間寫代碼了。
二面
? ? 介紹項目。
代碼題:給一個list,里邊有一些time,比如23:59, 14:00, 讓你返回里邊最小的時間間隔。在面試官的指引下,最后把時間復雜度降到了O(n),因為實際上可能的time只有1440個。
? ? 這題回頭看挺簡單的,唉,但當時面試的時候自己好菜,就得靠面試官提示才到了最全,最優解。最后面試官說我potential還不錯,他后邊還要面很多人。等通知吧。
? ? 因為是SDE崗,感覺面試官傾向于聊計算機基礎,比如網絡,數據庫之類的。。。
騰訊|WXG
一面
? ??自我介紹。
寫一個堆(好久不寫了,都忘了堆了。。。寫了40min才寫完,發的那個在線coding的地方寫代碼會有重影眼花了都。。。,寫的有一點小問題,被check了一下,不過應該還ok)。
問深度學習基礎。上來問我為什么要引入激活函數。我說是為了非線性。他說錯,根本原因是為了scale輸出值防止梯度爆炸。我???然后問我sigmoid是非線性的嗎,我說是啊非線性的。他說不,sigmoid,tanh都是線性的,relu才是非線性的。? 我蒙蔽了,他又跟我講一開始引入sigmoid為了scale值, 防止梯度爆炸/消失,balaba。。。我無語了只能同意他了。。
問batch size有什么用?大的batch有什么優點?
問基于字和基于詞的nlp方法有試過嗎,哪個好?
BTE聽說過嗎,我以為他問的BCE,又仔細問了一遍,確定沒聽錯是BTE。不知道,后來查了下也沒查出來是啥。莫非想說bert?但他是一個一個字母讀的,我也沒聽到r啊。。。。
問nlp里decoder出來unknown詞怎么辦。我說decoder的softmax那里應該把unknown mask掉的,就不會輸出這個了。如果非要輸出,就再訓練一個模型學一下這個unknown應該是啥。他說ok吧。。。
然后時間差不多快到了,就問我有啥問他的。我說有做推薦搜索的嗎,對話這個方向可能不是很match,我不了解。他說也有做推薦搜索相關的,簡單介紹了下。然后就結束了。。。
二面
? ??剛開始自我介紹我說想做推薦搜索的,和對話系統不太匹配,面試官就把簡歷給HR推到比較合適的組了。
? ? 自我介紹。
問了一個python的函數默認參數的問題。答錯了,面試官讓我打開命令行自己跑一下,然后給出解釋,并且改成這個函數應該想達到的效果。然后連著調用兩次append_list('one'),append_list('one'),問兩次返回啥。應該['one'], ?['one', 'one']。函數如下:
? ??但是其實這個函數的功能是想兩次都返回['one'],所以我改成了:
def?append_list(*args):if len(args) == 1:return [args[0]]args[1].append(args[0])return?args[1]代碼題:找到兩個list相交的點。? ??
接下來半個小時主要針對我之前的工作聊了聊,包括一些細節。
最后問了一個發散的問題。對于一個搜索query,如果這個query很長,里邊很多沒用的詞,那么怎么提高搜索的準確度呢?我主要從模型上講了講,可以build一個模型來確定query里每個詞的重要度,用cbow/self-attention之類的模型。
最后面試官介紹了下他們團隊,感覺不錯,接下來等通知后續安排。
三面
? ??自我介紹。
介紹項目。
GNN發展史,GNN為什么可以work,GNN的數學原理。
self-attention的深層次原理是什么(不懂。。。),為什么work?
代碼題:一個單調棧的題,比較簡單,他那邊測了下test過了,然后就結束了。
HR面
? ??自我介紹。
問我你的缺點是什么?結果被追著問了好久,第一次有hr面要翻車的感覺。
? ??不過好在hr最后說今天是騰訊提前批的最后一天,應該一會兒你就能看到狀態更新,下周會發offer,看來是通過了。晚上11點多收到了短信說恭喜通過了所有面試,具體offer溝通下周進行。
快手
一面40min
? ??自我介紹。
機器學習/深度學習基礎,問了好多,有一些不會。
聊了聊項目,面試官對我做的方向不是太了解。
代碼題:帶重復元素的sorted array里尋找最左端的target。
二面1h
? ??一面通過了馬上就開始二面,感覺這輪的面試官特別聰明有活力。感覺這輪主要考coding。
? ? 自我介紹。
問了一些python的基礎,list, tuple, dict, generator, derocator之類的。
代碼題:1.zigzag打印二叉樹 2.給兩個等長字符串,輸出兩個字符串之間的個數 3.給第三個字符串,求兩字符串中間不包含第三個字符串的個數(leetcode上周周賽最后一題。。。太難了)不會做。就把第三個字符串簡化為字符,和面試官討論了一下。
Apple|Maps
一面20min
? ??自我介紹。
簡單介紹了下簡歷項目,說接下來還有一輪過項目一輪coding。等通知
? ? 但是后邊沒消息了,應該是今年疫情的緣故,HC取消了吧。
總結
? ? 整個春招過程可以說經歷地非常快了,體驗也還可以,有失也有得,后面的路走一步看一步了。小編覺得優秀的人本質都是非常相似的,向優秀的人看齊才是正確的姿勢,但是更優秀的人更努力的例子不值得我們更加努力學習嗎。最后祝大家面試順利,一起加油!歡迎大家來交流~
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯獲取一折本站知識星球優惠券,復制鏈接直接打開:https://t.zsxq.com/yFQV7am本站qq群1003271085。加入微信群請掃碼進群:總結
以上是生活随笔為你收集整理的【面试招聘】据说这里有一份关于BAT的 “宝藏级” 面试记录终于可以看了!...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【面试必备】通俗易懂的XGBoost、T
- 下一篇: 【机器学习基础】机器学习模型的度量选择(