2017 Dcard 暑期實習面試心得

Junlin Wu
4 min readMay 27, 2017

熱騰騰的Dcard面試心得!2017/5/27
我應徵的是 Data Engineer Intern!

一到Dcard的辦公室,迎面而來就是Dcard的藍色大招牌 XD
裡面便是新創公司風格開放式辦公室,大桌子而無間隔,讓彼此可以快速討論。

馬上就進入會議室面試,面試官為一位Dcard Data team的正職與一位Backend Team的資深實習生。進入會議室之後主管也馬上出題要我接招了!

主管直接明瞭說明兩個月內要做一個Dcard的文章推薦系統,這裡提供兩個策略:

  1. 利用使用者之前的行為,例如瀏覽、Like、回應過哪些文章,在推薦相似的文章給他。
  2. 利用Collaborative filtering,利用別人去猜這個使用者會不會喜歡這篇文章,利用這結果去推薦文章。
    問:請說明您覺得哪個好,為什麼?
    答:我選第一種用Like去做會比較準。 (回答沒有標準答案 主要面試官是在了解邏輯以及團隊合作的能力)

問:根據你說明用Like去做會比較準 這是為什麼?
答:Dcard的熱門文章設計會造成bias,點擊過的文章可能都會是熱門文章,但使用者按喜歡表示喜歡這篇,並想多看到這類型文章。 另外我覺得也可以利用文章內文的similarity 來推薦給使用者。 例如用所有文章來算LDA Topic model,再將文章丟進去看這篇文章比較屬於哪些Topic。 我Github有試過這個Model,我秀給你們看。

問:熱門文章介面的設計確實會帶來bias,但另一方面這個設計也讓Dcard可以吸引很多人上線觀看,我們現在便是想要做推薦系統來改善一些問題,那你想怎麼設計介面會比較好?

問:跟我解釋LDA模型是怎麼做的?

問:那要這個方法要怎麼解決cold start的問題?

問:那現在有個情況,我們現在也要解決新文章的推薦問題,主有少數的人會去看Dcard的新貼文,然後按讚把它洗上熱門,我們想要利用推薦系統讓多一點人去看新的文章,那你會怎麼做?

問:你說把Dcard的熱衷使用者按新文章的likes考慮進去推薦系統,那要怎麼加進去原有的推薦演算法?

問:那現在假設你的模型很順利地做出來了,你要怎麼去Evaluate 這個推薦系統,利A/B Test 還是其他方法?

問:你說先找使用者來試用,再去做A/B test,那你要怎麼選哪些人去做A/B Test。

問:你說把Dcard的人去做Cluster,那K-means的K你要怎麼決定?

問:不然這樣好了,我講我的想法,我覺得你在用Cluster會多一層不確定性。不如直接隨機給使用者安裝。 那你要怎麼訂多少人使用你的推薦系統,才表示這個推薦系統是好的?

--

--