12.20今日头条实习面试总结-算法工程师
項(xiàng)目經(jīng)歷
1.LDA模型,Simhash的流程
這個問題主要問的是算法是怎么工作的,工作流程,就是具體在做工程的時候怎樣實(shí)現(xiàn),沒有涉及到太多的公式
2.問了LSTM的結(jié)構(gòu),公式推導(dǎo)
這個當(dāng)時是讓我畫出LSTM的Cell結(jié)構(gòu)。這個結(jié)構(gòu)當(dāng)時忘了,給他畫了一個RNN的結(jié)構(gòu),然后推了下rnn正向傳播的公式,LSTM就是三個gate,具體數(shù)據(jù)怎么劉的忘了…
3.L1和L2正則懲罰項(xiàng)公式及區(qū)別
這個比較簡單了,L1懲罰項(xiàng)得到的特征比較稀疏,就是對于某些不太重要的特征,其權(quán)重可能懲罰至0, L2懲罰項(xiàng)的數(shù)學(xué)性質(zhì)比較好,得到的特征權(quán)重比較平滑,不會讓某些特征的權(quán)重系數(shù)過高
4. bagging和boosting的區(qū)別
我就分別把bagging, Adaboosting, Gradient boosting和gbdt的原理都解釋給面試官
5.開放性問題:給定一堆未標(biāo)注的樣本,樣本中包含少量的色情低俗新聞(負(fù)樣本),如何標(biāo)注數(shù)據(jù),以及如何做特征工程?模型選擇,識別出這些負(fù)樣本
這個是他們現(xiàn)實(shí)遇到的問題。主要就是不平衡分類和無監(jiān)督的問題。對于不平衡分類,說了三個想法:1. 降采樣 2.升采樣 3. loss函數(shù)的設(shè)計. 對于無標(biāo)注樣本,可以采用聚類的算法或者半監(jiān)督的方式。
算法題
給定一個List,和長度為k的窗口。窗口在list上滑動,找到每次滑動的最大值
這個回答出來了,但不是最優(yōu)的解法。面試官告訴我用堆…
二面
項(xiàng)目經(jīng)歷
1.主要是問KDD CUP 2017的項(xiàng)目
random forest, GBDT, 對數(shù)變換,異常值處理情況(箱線圖)
2.開放性問題,找出某些新聞是用機(jī)器翻譯的(可讀性差,負(fù)樣本),和真正原創(chuàng)的新聞(可讀性好,正樣本)
這個和一面的問題有點(diǎn)像。我感覺答的不太好。
算法題
1.一維透視表轉(zhuǎn)二維透視表
題目比較復(fù)雜,但理解了題意就比較簡單…
2.兩個堆棧實(shí)現(xiàn)一個數(shù)據(jù)結(jié)構(gòu),入棧,出棧,找到最小值的時間復(fù)雜度都是0(1)
這個答出來了。
三面
項(xiàng)目經(jīng)歷
1.LDA模型推公式
花了LDA模型的框圖,但遠(yuǎn)遠(yuǎn)不夠…
2.Simhash推公式原理
回答的還可以, 講了隨機(jī)超平面hash和Simhash之間的聯(lián)系,以及如何處理超大規(guī)模文本的去重.
3.邏輯回歸計算過程(公式,梯度更新)
答出來了
算法題
1.給出一個list,找到Top K最大的數(shù)
不是最優(yōu)解法,面試官告訴我用堆…
2.給出一個list(不含重復(fù)的數(shù)),找到其全排列
回答出來了,用回溯發(fā)
3.給出一個list(含重復(fù)的數(shù)), 找到其全排列
回答出來了,也是用回溯發(fā),但回溯之間先對輸入做排序,然后價格條件判斷當(dāng)前數(shù)和上一個數(shù)是否相等。
HR面
面試到這就很輕松了。問了寫和技術(shù)無關(guān)的問題,關(guān)于生活愛好之類的,HR帶我到處走了走參觀的頭條的總部,食堂健身房等等,感覺還是很nice的。
總結(jié)
整個面試的過程略長(6個小時),頭條比較注重算法能力,和理論公式的推到,這方面還得加強(qiáng)。但最后也是拿到實(shí)習(xí)offer了
總結(jié)
以上是生活随笔為你收集整理的12.20今日头条实习面试总结-算法工程师的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android官方开发文档Trainin
- 下一篇: 【LeetCode】4月4日打卡-Day