1. 程式人生 > >【位元組跳動】19校招演算法工程師面試總結

【位元組跳動】19校招演算法工程師面試總結

20181013

一面:

1. 面試官:看你發了兩篇論文,是關於股票預測的,講一下論文吧!

我:就簡單的講了一下論文的創新點和達到的精度。

注意:

(1)其實論文是自己的亮點,面試官感興趣,我應該仔細講講的。

(2)其次,論文裡面用到的細節,一定要非常清楚,能講清楚,並且講論文的試試,要有鋪墊。

可以這麼講:

(1)之前別人是怎麼做股票預測的。

(2)別人做股票預測的精度和不足。

(3)你做的股票預測和別人做的股票預測有什麼差別。(這裡重點講一下自己的創新點。)

(4)你達到了一個怎麼樣的精度,效果如何。

2.  面試官:你都熟悉哪些常用的機器學習演算法?

我:迴歸演算法有:線性迴歸、Lasso迴歸、嶺迴歸。分類演算法有:邏輯迴歸、決策樹、貝葉斯、SVM、神經網路、整合學習。聚類演算法有:k-means、層次聚類、(密度聚類不敢說,因為切實忘了原理過程)。

面試官:你能詳細的講解一下,線性迴歸的原理麼?

我:線性迴歸的迴歸模型為 y = W^{T}X,就是訓練一條直線來擬合我們的訓練資料,根據這個訓練好的線性函式來預測數值。

面試官:你講解的線性迴歸是我們理解的形式,你能具體講解一下線性迴歸的底層原理,比若說如何訓練,如何得到引數,如何調整引數等?

我:這個不是很清楚,沒有做過具體的專案,但是我對邏輯迴歸做過深入的研究。

面試官:那你就講解一下邏輯迴歸的原理吧!

我:把邏輯迴歸從頭到尾,詳詳細細的講解了一遍。

3. 面試官:你再詳細的講解一下樸素貝葉斯的底層原理,比如說,如何選引數,如何訓練模型,如何做分類?

我:樸素貝葉斯的樸素其實是樣例中特徵之間相互獨立。後邊就說不出來了。。。

4. 面試官:深度學習中的梯度消失是什麼,如何解決?

我:詳詳細細的把梯度消失的現象,造成的實質原因,和三種解決辦法講了一遍。

三種解決辦法:

(1)修改啟用函式。

(2)用BN。

(3)把傳統的迴圈神經網路,換成GRU網路。

5. 面試官:神經網路中的word2vec瞭解麼?詳細講解一下它們的原理?

我:把word2vec的兩個模型:CBOW、skip-gram詳細的講解了一下。

(1)面試官:你能詳細的說一下CBOW和skip-garm它們的區別麼?分別適用於什麼場景?

我:沒回答出來。

6. 面試官:資料結構中,什麼是平衡二叉樹?

我:詳細的把平衡二叉樹概念說了一下。

(1)面試官:什麼是二叉樹?

我:一個結點沒有子節點,或者是隻有左孩子結點、或者只有右孩子結點、或者只有左孩子和右孩子結點。

(2)面試官:平衡二叉樹的應用都有哪些?

我:二叉排序樹。(錯誤的回答。)

注意:正確的回答應該是B-樹和B+樹。

7. 面試官:我們來寫一道程式碼題。

題目:給你一個很大的檔案,檔案裡有很多行資料,每一行資料是一個使用者的uid,表示這個使用者點開過抖音,請你找出開啟抖音次數最頻繁的前10個使用者。

面試官接著解釋題目:假如抖音裡面有5億使用者,那麼每個使用者開啟一次抖音就有5億條記錄,如果每個使用者開啟兩次抖音,就有10億條記錄。也就是說,使用者每開啟一次抖音,就記錄一下他的uid。請找出開啟抖音次數最頻繁的前10個使用者。