今天去面的是作業(yè)幫的算法工程師實(shí)習(xí)生,做的是廣告相關(guān)的推薦算法,公司地址在西二旗那邊的軟件園,不能地鐵直達(dá),先騎小黃車去了五道口,然后從五道口坐了兩站的地鐵到了西二旗,然后又是近兩公里的小黃車,但實(shí)際直線距離并不是很長,坐公交其實(shí)很直接,直接十幾站就到了。
首先是一個(gè)很溫柔的面試官,下面是面試官的問題:
樸素貝葉斯的原理,如果一個(gè)詞沒有出現(xiàn)過,怎么辦(拉普拉斯平滑)
手推 SVM,(這個(gè)掌握的還闊以)
問了三道算法題:
一個(gè)數(shù)組,給定k,查找和為k的兩個(gè)數(shù)的下標(biāo):給出了O(N)復(fù)雜度的算法,類似于桶排序那種,面試官讓優(yōu)化的時(shí)候,用哈希,但是沒用過,要多學(xué)了
手寫反轉(zhuǎn)鏈表,包括邊界條件的處理,這是最基礎(chǔ)的,答的還可以
給定鏈表,查找倒數(shù)第k個(gè)節(jié)點(diǎn)的值,(面試官告訴我的只用遍歷一遍的方法):
用兩個(gè)指針,一個(gè)移動(dòng)k個(gè),然后一起移動(dòng)。
二面:
一個(gè)看起來技術(shù)很高的人,也很友好,很溫柔的給我講解。上來先問了上一個(gè)面試官問了我?guī)椎浪惴},我說三道,然后他說這么多的嘛,一般不是一道就夠了嘛,emmm,可能是看我太菜了吧,不過問的都不是特別的難和復(fù)雜。
首先問了項(xiàng)目上的一些問題,給他簡單講了Unet的網(wǎng)絡(luò)結(jié)構(gòu)。
問LR,寫邏輯回歸的梯度下降,這時(shí)我說了邏輯回歸的梯度下降與線性回歸的類似。只是決策函數(shù)變成了邏輯函數(shù)。
問了SGD中的學(xué)習(xí)率怎么選的問題(答了兩種,1/t e^-t),面試官說常用的是1/根號(hào)t
然后面試官開始給我講隨機(jī)梯度下降的各種變種,從學(xué)習(xí)率上進(jìn)行改變的有:adagrad等,從梯度方向上進(jìn)行改變的有動(dòng)量法。
問了GBDT,工業(yè)上很常用的,我只說了用負(fù)梯度來擬合殘差,用負(fù)梯度來擬合殘差,是為了消除異常點(diǎn)的對(duì)loss的很大的影響。(面試官說是為了消除正負(fù)樣本差別大的影響)
三面是這個(gè)部門的老大面的,非常精干,沒有問技術(shù)的問題,進(jìn)來就聊了一下實(shí)習(xí)時(shí)間,這個(gè)部門是主要做什么的,讓等通知。
首先能參與推薦算法的實(shí)際的項(xiàng)目,是一定會(huì)有很大的進(jìn)步的,這個(gè)部門剛成立不久,如果我進(jìn)去的話,一定也會(huì)成長很快。