大家好,這里是NewBeeNLP。轉(zhuǎn)眼間2023屆春招實(shí)習(xí)已接近尾聲,由于疫情影響,今年找個(gè)大廠(chǎng)實(shí)習(xí)確實(shí)很難,今天就給大家分享一位23屆同學(xué)找算法崗實(shí)習(xí)的總結(jié),最終拿下抖音APP、快手主站和美團(tuán)優(yōu)選的推薦算法崗offer,希望能幫助到下半年找工作的小伙伴們,以下為原文。 985渣碩,保研本校之后因?yàn)闆](méi)有大規(guī)模開(kāi)發(fā)的經(jīng)驗(yàn),再加上不太想背八股,所以轉(zhuǎn)算法。研究方向是醫(yī)學(xué)圖像,SCI2區(qū)一篇水刊醫(yī)學(xué)+計(jì)算機(jī)結(jié)合論文。 組內(nèi)有做推薦算法的于是花了一個(gè)月時(shí)間轉(zhuǎn)推薦,慢慢對(duì)推薦感興趣。21年底有個(gè)非常好的朋友(阿里P8級(jí)別的)把我撈去了小紅書(shū)實(shí)習(xí),base北京,接觸到了企業(yè)級(jí)別的推薦算法。推薦算法實(shí)習(xí)的意義可能就是接觸線(xiàn)上+業(yè)務(wù),畢竟在學(xué)校里面是不能碰到這種場(chǎng)景的,推薦算法需要大數(shù)據(jù)+場(chǎng)景支撐。 萬(wàn)事開(kāi)頭難,原本遲遲沒(méi)有下決心的,4月初的時(shí)候一天晚上下班,字節(jié)hr打電話(huà)給我(本科大三的時(shí)候曾經(jīng)投遞了字節(jié)的簡(jiǎn)歷,后來(lái)因?yàn)樯眢w原因沒(méi)有面試),問(wèn)我有沒(méi)有意向,剛好hr是抖音app推薦算法團(tuán)隊(duì)的,所以下決心開(kāi)始準(zhǔn)備春招實(shí)習(xí)??梢哉f(shuō)投得非常晚,準(zhǔn)備得也很晚。于是回到了學(xué)校開(kāi)始準(zhǔn)備。因?yàn)槭堑谝淮伍_(kāi)始海投,沒(méi)經(jīng)驗(yàn)所以沒(méi)錄音,回憶一下大概,可能漏掉了很多問(wèn)題跟細(xì)節(jié)。 一面4.8下午18:00當(dāng)時(shí)其實(shí)自己還在小紅薯實(shí)習(xí),所以請(qǐng)了一天假。 自我介紹 答:語(yǔ)速放慢,背; 挑一個(gè)小紅薯的項(xiàng)目仔細(xì)介紹 答:主要在小紅薯做了一些向量召回+點(diǎn)召回工作,語(yǔ)速放慢,慢慢講; 模型的時(shí)效性怎么樣? 答:我是t - 1更新,還會(huì)離線(xiàn)把ANN結(jié)果寫(xiě)入redis,因?yàn)榫€(xiàn)上qps目前暫時(shí)不支持; 聊聊AUC吧。 答:隨機(jī)取兩個(gè)樣本,正樣本排在負(fù)樣本之前的概率; 追問(wèn):AUC怎么快速計(jì)算 答:把樣本按照預(yù)測(cè)值排序,編號(hào)從大到小,看正樣本的編號(hào),巴拉巴拉~。PS:這里主動(dòng)輸出了一下知識(shí),簡(jiǎn)單證明了一下 曲線(xiàn)下面積 = AUC的物理定義; 線(xiàn)上線(xiàn)下AUC不一致怎么辦?(這里有點(diǎn)懵,而且因?yàn)闆](méi)有做過(guò)排序,只能按照自己的閱歷盡可能全面去回答。) 答:有可能召回側(cè)拿到的樣本是之前舊版本排序模型的結(jié)果,會(huì)導(dǎo)致模型間的gap,采樣的時(shí)候要變換方式;檢測(cè)離線(xiàn)訓(xùn)練模型有沒(méi)有過(guò)擬合;檢查線(xiàn)上線(xiàn)下特征是否一致(可能存在穿越現(xiàn)象);導(dǎo)致線(xiàn)上線(xiàn)下auc不一致最可能出現(xiàn)的情況就是樣本穿越,因?yàn)殡x線(xiàn)訓(xùn)練計(jì)算auc是所有樣本一起計(jì)算的,而線(xiàn)上不可能出現(xiàn)一個(gè)用戶(hù)去點(diǎn)擊排序給另一個(gè)用戶(hù)的item的情況,所以過(guò)濾掉那些點(diǎn)擊為0,或者點(diǎn)擊率過(guò)高的用戶(hù)) 你們排序是怎么做的,時(shí)效性如何?(可能是看到我對(duì)第6個(gè)問(wèn)題的回答,直接轉(zhuǎn)向了排序) 答:目前基建還不完善,沒(méi)有prerank,postrank,rerank階段,排序側(cè)只有一個(gè)排序模型wide&deep,排序模型是實(shí)時(shí)的,每30分鐘線(xiàn)上發(fā)射session label,然后把樣本+特征dump到云上,模型自動(dòng)訓(xùn)練。 召回的時(shí)候具體怎么做的? 答:每天離線(xiàn)訓(xùn)練完之后,模型會(huì)產(chǎn)出當(dāng)天的向量,寫(xiě)到oss上,下游消費(fèi)向量建立NN索引(HNSW),然后我再刷一遍全量的商品,把nn結(jié)果寫(xiě)入redis,線(xiàn)上從用戶(hù)畫(huà)像取用戶(hù)lastn,做trigger selection和時(shí)間衰減,最后送到排序模型。 如果現(xiàn)在我上一路DSSM召回,發(fā)現(xiàn)AB實(shí)驗(yàn)效果不好怎么辦? 答:首先看樣本+特征。召回的樣本是不是跟當(dāng)前線(xiàn)上排序模型關(guān)聯(lián),特征穿越之類(lèi)的;其次看當(dāng)前召回渠道的結(jié)果是不是跟線(xiàn)上已有的重復(fù);追問(wèn)了一下還有呢?當(dāng)時(shí)有點(diǎn)緊張,只能說(shuō)那就加大流量,5%不行就到10%,再不行就到20%。到這里面試官笑了,感覺(jué)這才是他想要的回答,hh。 兩道Easy算法題。 10.1. 一個(gè)m * n棋盤(pán),只能往右或者往下走,問(wèn)從左上到右下路徑和的最小值。簡(jiǎn)單dp(當(dāng)時(shí)直接用二維dp寫(xiě)的,寫(xiě)到一半自己就說(shuō)了其實(shí)可以用滾動(dòng)數(shù)組,然后又讓用滾動(dòng)數(shù)組寫(xiě)了一遍) 10.2. 斐波那契數(shù)列第n個(gè)數(shù)。當(dāng)時(shí)看到這個(gè)想到肯定是有別的想考的,所以就把記憶化,跟直接用數(shù)組保存比較了一遍。最后又問(wèn)我時(shí)間復(fù)雜度能不能再低?我說(shuō)通項(xiàng)公式,有追問(wèn)還有其他方法嘛?當(dāng)時(shí)緊張給忘了,面試剛結(jié)束就想起來(lái)了 ,其實(shí)就是矩陣的n次方,然后就轉(zhuǎn)化成快速冪了,O(logn)。
二面4.12晚上20:00一面面完不到半個(gè)小時(shí)直接約了二面。 自我介紹 答:語(yǔ)速放慢,背; 挑一個(gè)你做的比較熟悉的召回渠道,詳細(xì)講一下(跟一面差不多) 答:dssm召回巴拉巴拉。其中著重提到了樣本的問(wèn)題,想讓面試官問(wèn)我。 你剛剛提到了樣本,說(shuō)說(shuō)你的樣本具體是怎么做的 答:召回本身最看重的也是樣本,又巴拉巴拉一堆,又著重講到了負(fù)采樣(因?yàn)樨?fù)采樣的邏輯都是我自己做的,所以比較熟)。 說(shuō)說(shuō)你負(fù)采樣具體是怎么做的 答:第一版i2i在batch內(nèi)隨機(jī)負(fù)采樣,并加了bias進(jìn)行修正;第二版u2i借鑒w2v,以u(píng)v曝光為權(quán)重,全局負(fù)采樣,但是由于全局負(fù)彩成本太大,做了二次哈希,根據(jù)樣本uv進(jìn)行了分桶; 你簡(jiǎn)歷上說(shuō)對(duì)FM,DeepFM跟FFM有一定了解,講講。 答:回答了一下各自的特點(diǎn)和改進(jìn)點(diǎn)。
你簡(jiǎn)單寫(xiě)一下FM訓(xùn)練整個(gè)過(guò)程的偽代碼吧(懵了,降低時(shí)間復(fù)雜度的證明會(huì),但是直接手撕GG) 答:因?yàn)橐郧笆炙哼^(guò)SGD跟LR,所以稀稀拉拉寫(xiě)了點(diǎn)出來(lái),然后寫(xiě)了下FM化簡(jiǎn)的推導(dǎo),但是FM對(duì)w0, w1, Vij的導(dǎo)數(shù)求錯(cuò)了 。線(xiàn)下痛定思痛,直接numpy手撕了一版簡(jiǎn)易的FM。
算法題。 數(shù)組第K大的數(shù), 沒(méi)看到要求用快排,我用堆排寫(xiě)了一遍,問(wèn)了時(shí)空復(fù)雜度+證明。最后又問(wèn)到了快排怎么做,臨結(jié)束又問(wèn)了快排怎么做到近線(xiàn)形是件復(fù)雜度的,這里全忘了。其實(shí)就是在partition的時(shí)候引入隨機(jī)性,證明的話(huà)網(wǎng)上一堆。
反問(wèn)環(huán)節(jié)略。二面過(guò)去一天,第二天晚上問(wèn)hr,hr說(shuō)面試官很忙還沒(méi)寫(xiě)面評(píng)價(jià)(其實(shí)就是在橫向),當(dāng)時(shí)就知道自己涼了,果然hr說(shuō)掛了,問(wèn)需不需要投其他nlp或者圖像方向,婉拒了。第一次面試直接gg,狠狠的emo了好幾個(gè)小時(shí) 。 筆試4.9下午16:00四道算法題+幾道選擇題(參加過(guò)這場(chǎng)的應(yīng)該都知道,全都是easy題,很快全部ac,甚至感覺(jué)自己出現(xiàn)了幻覺(jué)hh,反而是后面的選擇概念題比較難) 一面4.13晚上20:00自我介紹; 項(xiàng)目介紹; 你說(shuō)模型里面batch內(nèi)負(fù)采樣用到了bias修正,具體怎么做的? 上線(xiàn)前的準(zhǔn)備,怎么看召回指標(biāo) 答:首先看auc,雖然召回模型的auc基本沒(méi)有參考價(jià)值,但是如果auc太低說(shuō)明根本不行;其次本來(lái)應(yīng)該看topn的hr,但是由于業(yè)務(wù)比較緊急,所以當(dāng)時(shí)就直接拉取了頭部的item做了nn,肉眼評(píng)測(cè)結(jié)果; 負(fù)采樣怎么做的? 跨域i2i怎么做的 答:以swing為例,在UDTF階段生成item -> item_list的領(lǐng)域?qū)Γ煌氖?,左?cè)的item來(lái)源于社區(qū),右側(cè)的item_list來(lái)源于商品。
swing跟adamic具體細(xì)節(jié) 答:balabala一堆,然后說(shuō)到了高活用戶(hù)和熱門(mén)item的打壓 算法題 也是easy題,判斷是否是一棵合法的二叉搜索樹(shù)(我當(dāng)時(shí)用的棧去做非遞歸,pre指針保存中序遍歷前一個(gè)節(jié)點(diǎn),然后跟當(dāng)前節(jié)點(diǎn)判斷值大小,面試官說(shuō)我這個(gè)做法有問(wèn)題,應(yīng)該用一個(gè)int保存遍歷過(guò)的節(jié)點(diǎn)的最大值,我其實(shí)覺(jué)得我做法沒(méi)問(wèn)題,而且還能AC,但是不敢反駁hh,甚至還附和了面試官,哎0offer的孩子就是這么卑微)
二面4.19晚上19:00不得不說(shuō),美團(tuán)的流程相比字節(jié)速度真的慢很多很多。二面問(wèn)的基本全都是業(yè)務(wù)問(wèn)題,這里就不展開(kāi)了(貌似現(xiàn)在基本不問(wèn)八股了,什么SVM,對(duì)偶問(wèn)題,過(guò)擬合,BN,dropout,生成模型判別模型,lr為什么用sigmoid,最大似然,L1和L2(拉普拉斯分布和高斯分布)) 美團(tuán)二面感覺(jué)還是挺好的,全程都在聊業(yè)務(wù),本來(lái)字節(jié)掛了還對(duì)美團(tuán)挺抱有希望的,但是直到今天還沒(méi)消息,公眾號(hào)回復(fù)跟大家的一樣,面試官正在考慮(其實(shí)就是橫向比較)。 算法題:求最短的子數(shù)組長(zhǎng)度,子數(shù)組滿(mǎn)足總和 >= target。簡(jiǎn)單雙指針。 當(dāng)時(shí)抖音APP推薦涼了之后emo了好幾個(gè)小時(shí),后來(lái)在高鐵上的時(shí)候緩過(guò)來(lái)想找抖音電商,結(jié)果沒(méi)想到抖音電商hr主動(dòng)聯(lián)系上我了,可能就是猿糞吧,又燃起了生活的希望,hh,被撈之后重新充滿(mǎn)斗志。 一面4.18下午18:00自我介紹; 項(xiàng)目介紹; 挑一個(gè)最熟悉的項(xiàng)目; 模型batch內(nèi)負(fù)采樣怎么做的? 加bias有什么用? 答:負(fù)采樣的本質(zhì)是想打壓高曝光item,但是由于高曝光的item本身就頻繁出現(xiàn)在樣本中,隨機(jī)采可能會(huì)打壓過(guò)頭,因此加一個(gè)bias tower進(jìn)行修正(其實(shí)就是學(xué)一個(gè)值取平衡正負(fù)樣本)。 帶權(quán)負(fù)采樣的邏輯? 答:如果按照uv曝光進(jìn)行帶權(quán)負(fù)采樣,就是先按照uv曝光排序,之后累加,最后生成一個(gè)隨機(jī)數(shù),看著隨機(jī)數(shù)落到哪兩個(gè)item的uv累加和(前綴和)區(qū)間,就采樣哪個(gè)item。 我看你做了swing,分析一下swing的時(shí)間復(fù)雜度? 答:swing是基于用戶(hù)行為共現(xiàn)的,首先取一個(gè)時(shí)間周期,獲取這個(gè)時(shí)間周期內(nèi)的用戶(hù)點(diǎn)擊行為歷史(最長(zhǎng)50個(gè)),得到user->item_list;在UDTF階段,需要根據(jù)用戶(hù)的行為歷史得到item->item_neighbors領(lǐng)域集合,假設(shè)用戶(hù)數(shù)量為U,人均點(diǎn)擊的item個(gè)數(shù)位I,UDTF階段時(shí)間復(fù)雜度就是O(U*I*I);在UDAF階段要根據(jù)領(lǐng)域去計(jì)算每個(gè)item的最近個(gè)topk個(gè)item,假設(shè)共現(xiàn)當(dāng)中出現(xiàn)的item總數(shù)是N,時(shí)間復(fù)雜就是O(N* I * I),最后還需要根據(jù)大根堆排序,假設(shè)取topK個(gè),則時(shí)間復(fù)雜度位O(N * I * I * logK);可能看我算得很仔細(xì)面試官就沒(méi)有繼續(xù)細(xì)問(wèn)了。 Swing跟Adamic有什么區(qū)別?(略) 概率題。8個(gè)箱子編號(hào)1-8,扔進(jìn)箱子的概率是 4 / 5,扔進(jìn)每個(gè)箱子的概率相同;仍不進(jìn)箱子的概率是 1 / 5。扔一次之后,現(xiàn)在打開(kāi)1號(hào)箱子發(fā)現(xiàn)沒(méi)有球,問(wèn)球在8號(hào)箱子的概率。(條件概率) 算法題。鏈表排序,要求快排 答:其實(shí)鏈表的快排有2種寫(xiě)法, 最簡(jiǎn)單的是交換值,節(jié)點(diǎn)不變;最難的是直接交換節(jié)點(diǎn),這里面有無(wú)數(shù)的邊界case需要處理,當(dāng)時(shí)衡量了一下,直接把遞歸+歸并, 迭代+歸并排序都寫(xiě)出來(lái)了。還給面試官分析了一下,說(shuō)前面一種時(shí)空都是nlogn,后面一種空間復(fù)雜度為0,然后說(shuō)說(shuō)抱歉沒(méi)看到是快排hh。面試官說(shuō)沒(méi)事,還是讓我說(shuō)了一下快排的思路,我就把兩種都說(shuō)了。
二面4.19下午16:00不得不說(shuō)字節(jié)的速度是真的很快,大致問(wèn)題跟之前都差不多,不過(guò)這里問(wèn)了一下基礎(chǔ)。 自我介紹; 項(xiàng)目介紹; 挑一個(gè)最熟悉的項(xiàng)目(語(yǔ)速放慢,到這里基本上前三個(gè)問(wèn)題,回答的都一模一樣) 了解過(guò)nlp嗎(不太了解,只知道最最簡(jiǎn)單的,最基礎(chǔ)的) 仍然是一堆業(yè)務(wù)相關(guān)問(wèn)題; 說(shuō)一下FM,DeepFM,F(xiàn)FM的區(qū)別聯(lián)系,以及每個(gè)模型的改進(jìn); 你說(shuō)你們排序是wide&deep,那你對(duì)wide&deep有過(guò)一定了解嗎? 答:回答了一下自己的見(jiàn)解 你知道wide&deep優(yōu)化的方式嗎? 答:以前看過(guò),主要是兩邊的優(yōu)化器不同,面試的時(shí)候忘了 (wide用的Follow-the-regularization-loss, FTRL, deep用深度學(xué)習(xí)常見(jiàn)的AdamGrad) 為什么優(yōu)化器不同? 答:當(dāng)時(shí)忘了,就亂說(shuō)一通。到后來(lái)想起來(lái)然后跟面試官解釋了一下:FTRL主要為了解決L1不能真正得到稀疏解的問(wèn)題(由于SGD),wide側(cè)很需要稀疏解,第一避免過(guò)擬合,第二線(xiàn)上部署的時(shí)候稀疏那部分直接去掉,能提高超高多的性能;deep部分就是傳統(tǒng)的deeplearning了。 了解優(yōu)化器嗎? 答:之前記得很多,包括公式,就簡(jiǎn)單說(shuō)了一下SGD,Adaptive,AdamGrad之類(lèi)的,其實(shí)主要是為了動(dòng)態(tài)去調(diào)整學(xué)習(xí)率,然后從局部最小值收斂性簡(jiǎn)單瞎BB了幾下。最后又說(shuō)好多都忘了,面試官很溫柔說(shuō)不記得也沒(méi)事。 概率題。西游記主題盲盒,抽中師徒四人任意一人的概率相同,問(wèn)要抽中孫悟空的平均次數(shù)。 答:當(dāng)時(shí)面試官表達(dá)得很含糊,我戰(zhàn)戰(zhàn)兢兢回答了4次,他問(wèn)思路,我說(shuō)就是伯努利實(shí)驗(yàn),n重伯努利實(shí)驗(yàn)就是二項(xiàng)分布,二項(xiàng)分布的期望是np,np = 1的時(shí)候,n = 4。面試官說(shuō),哦你直接套公式啊。。。。。我感覺(jué)面試官是想讓我手撕二項(xiàng)分布的期望方差?下去之后自己推導(dǎo)了一下。 算法題。easy題,背包,給定硬幣面值,組成target需要的最小硬幣數(shù)。
反問(wèn)環(huán)節(jié)的時(shí)候跟面試官探討了一下那道概率題,面試官最后又拓展說(shuō)抽全4種的平均次數(shù),讓我線(xiàn)下去思考一下。直接的思路就是算n次,抽全的概率,E(x) = sum(np),最后演變成無(wú)窮級(jí)數(shù)收斂值的問(wèn)題。后來(lái)到處請(qǐng)教查資料,發(fā)現(xiàn)可以構(gòu)造數(shù)列An,表示 還剩下n種沒(méi)有集齊的卡片時(shí)候,需要抽的次數(shù)。An = 1 + n / 4 * An-1 + (4 - n) / 4 * An。這個(gè)做法驚呆了。。。。 三面4.20上午11:00
說(shuō)在前面,第一次體驗(yàn)字節(jié)三面,面完整個(gè)人都不好了。前面的問(wèn)題直接略過(guò)看重點(diǎn)。 你說(shuō)你做過(guò)對(duì)比學(xué)習(xí)(實(shí)驗(yàn)室醫(yī)學(xué)圖像項(xiàng)目,面試這么久第一次被問(wèn)到,當(dāng)時(shí)用的是自監(jiān)督對(duì)比),談?wù)勀銓?duì)對(duì)比學(xué)習(xí)的理解。 現(xiàn)在如果要把自監(jiān)督用到召回里做i2i該怎么做? 你接觸過(guò)圖像,現(xiàn)在要建模商品圖片對(duì)于點(diǎn)擊/購(gòu)買(mǎi)的影響該怎么做? 用一行代碼寫(xiě)出對(duì)比學(xué)習(xí)的loss?(當(dāng)時(shí)直接懵了,對(duì)比學(xué)習(xí)最后做對(duì)抗loss的時(shí)候,涉及到很多計(jì)算技巧,一行代碼GG) 如果寫(xiě)不出來(lái)的話(huà),寫(xiě)一下ce的loss也行(貌似是最容易回答的) 你覺(jué)得siamese跟simclr有什么異同,你是怎么理解的? 從數(shù)學(xué)推導(dǎo)的角度證明一下,自監(jiān)督能夠提高模型性能?(懵了,難道不都是直接看實(shí)驗(yàn)結(jié)果才能知道嗎?當(dāng)時(shí)就只能bb,數(shù)學(xué)推導(dǎo)gg) 現(xiàn)在如果想要增加圖搜功能,拍照搜索商品,該怎么做? 了解統(tǒng)計(jì)學(xué)派跟貝葉斯學(xué)派嗎?你覺(jué)得最大似然更接近哪個(gè)? 概率題,4支球隊(duì),單循環(huán)賽,輸贏平概率相同,分別得分3,0,1.問(wèn)最后4支隊(duì)伍得分總和服從什么分布? 答:其實(shí)相當(dāng)于做6次伯努利實(shí)驗(yàn),每次實(shí)驗(yàn)得3分的概率是 2 / 3, 平了2分概率是1 / 3,最后分?jǐn)?shù)范圍為12 - 18,概率遞增,相當(dāng)于一個(gè)離散分布列。但是當(dāng)時(shí)讓我回答服從什么分布,GG,好像叫得上名字的分布跟這個(gè)都沒(méi)關(guān)系,當(dāng)時(shí)只能支支吾吾的說(shuō)服從廣義的二項(xiàng)分布,然后面試官讓我寫(xiě)公式,我寫(xiě)到一半面試官直接說(shuō)那面試就到這里。。。
反問(wèn):這里不省略,是因?yàn)槲疫@輩子都會(huì)記得。當(dāng)時(shí)我整個(gè)人都是萬(wàn)臉懵逼的狀態(tài),鬼使神差脫口問(wèn)了句實(shí)習(xí)的話(huà)有轉(zhuǎn)正hc嗎?面試官手都已經(jīng)準(zhǔn)備合上電腦蓋了,然后他笑了,沒(méi)錯(cuò)他笑了。。 HR面4.26上午11:00其實(shí)三面之后自己都覺(jué)得涼透了,甚至還問(wèn)過(guò)hr小姐姐,小姐姐人特別好,說(shuō)幫我爭(zhēng)取一下??吹綘?zhēng)取一下心里又涼了半截,甚至一度又emo了好幾個(gè)小時(shí),美團(tuán)又遲遲不給回應(yīng),整個(gè)人都裂開(kāi)。當(dāng)時(shí)hr給我發(fā)微信的時(shí)候突然說(shuō)技術(shù)面過(guò)了,約hr面。想象一下一個(gè)高考落榜的人突然告訴你系統(tǒng)分?jǐn)?shù)算錯(cuò)了。。(其實(shí)還是怪自己菜,三面發(fā)散性思維,回答得太差了,但是不知道為什么居然能過(guò)?) 自我介紹+職業(yè)規(guī)劃+遇到問(wèn)題怎么結(jié)局+入職時(shí)間,實(shí)習(xí)時(shí)常+如果碰到身邊有同事劃水怎么辦= =!.27今天下午已OC。感謝小姐姐!字節(jié)流程是真的速度! 當(dāng)時(shí)覺(jué)得字節(jié)涼透了,于是開(kāi)啟了海投模式。讓實(shí)驗(yàn)室?guī)熜置蛢?nèi)推了。PS:快手的面試官好溫柔,溫文爾雅。這半個(gè)月的面試,快手的面試體驗(yàn)是最好的,其次是美團(tuán),說(shuō)錯(cuò)了不打斷,但是會(huì)善意提醒你。 一面4.25下午17:00
自我介紹; 項(xiàng)目; 寫(xiě)出對(duì)比學(xué)習(xí)的Loss; 對(duì)比學(xué)習(xí)本質(zhì)是想?yún)^(qū)分不用的內(nèi)容,拉近相同內(nèi)容,但是相同內(nèi)容純天然就有一定相似性,怎么解決? 你覺(jué)得在做對(duì)比學(xué)習(xí)的時(shí)候最主要需要注意的地方是什么? Siamisese跟SimCLR有什么不同? 聊聊項(xiàng)目吧,說(shuō)說(shuō)你最熟悉的一項(xiàng)工作。 負(fù)采樣怎么做的?為什么要負(fù)采樣? 模型怎么部署的,特征怎么處理的? 排序了解嗎?FM知道嗎?為什么能降低時(shí)間復(fù)雜度?系列FM之間的差別在哪兒? 我看你寫(xiě)了XGBoost,講講他對(duì)于GBDT的優(yōu)化點(diǎn)。(第一次碰到,終于有人問(wèn)了hh) XGBoost葉子節(jié)點(diǎn)的值怎么得到的(這個(gè)忘了,瞎說(shuō)說(shuō)分裂之后的平均值,還會(huì)在分裂的時(shí)候正則化,面試官糾正我其實(shí)是根據(jù)優(yōu)化目標(biāo)得來(lái)的) 隨機(jī)了一道算法題。二叉樹(shù)層序遍歷(啊這)
今天跟我約了明天二面; 我投遞的比較晚,基本上是4.5才開(kāi)始準(zhǔn)備。結(jié)果剛投騰訊WXG,直接宣布不招人;剛投阿里,又直接鎖HC。。整體的面試還是業(yè)務(wù)的偏多,準(zhǔn)備了好多好多基礎(chǔ),樹(shù),LR,SVM推導(dǎo)(軟硬間隔),KKT,SVM回歸,手撕SGD,手撕DNN,手撕Softmax,手撕LR,XGB損失函數(shù)推導(dǎo),LightGBM優(yōu)化,Boost&Bagging,GBDT,卷積,BN,激活函數(shù),L1,L2,近段梯度下降,牛頓法,最大似然,幾乎都沒(méi)用上(只有快手的面試官問(wèn)過(guò)一些)。 算法題也都o(jì)c了(不過(guò)都是easy題) 一路走來(lái)幾乎每天都過(guò)的渾渾噩噩,從最開(kāi)始被拒絕的失落難受到振作,到嘴里一邊罵一邊leetcode的量子疊加態(tài),最后終于從0到1有了個(gè)offer。也祝愿大家春招收獲滿(mǎn)滿(mǎn)(馬上就要結(jié)束了),秋招備戰(zhàn)!最后借用小紅書(shū)那個(gè)跟我關(guān)系很鐵的前輩說(shuō)的話(huà)收個(gè)尾:年輕的時(shí)候我們都?jí)粝氪髲S(chǎng),但是最后一定要找到最適合自己的那個(gè)角落!沒(méi)有找到的牛友也別泄氣,面試7分靠實(shí)力,3分靠運(yùn)氣,最重要就是別否認(rèn)自己。
|