Y! onsite新鮮面經

紫鳳發表於2013-10-21

沒簽NDA, 我就說說了。

一共四輪。

第一輪:

..behavior questions. Most difficult part in your project.

  1. BFS.... 我先用了兩個queue, 被要求改成一個, 再被要求在node的結構里加一個isMarked的property來做, 感覺有點無聊
  2. String compression, 比如 ACCCDD 變成A3C2D

第二輪:

設計一個lexicon使得可以支援wild card。比如lexicon裡面有單詞“apple”, 那麼query = "apple", "a?ple" 或者 “a*”都返回true。 “apble”, "a?ble", "a*l" 返回false。 其中 ‘?’表示任意字元出現一次; ‘*’表示任意字元出現0或多次

第三輪:

這輪是大佬architect來面的, 自然是system design。。。

使用者在每次完成一個task之後, 都會得到一個分數, 設計系統使得使用者可以立刻知道他總分的排名, 並且可以選擇在過去3天/7天/一個月的排名, 要求從security, scalability 等方面分析

第四輪:

使用者在做某個task的時候會不斷向server發出quest, 這個quest包含了userid和taskid, 都是unit型別的。 設計實現可以得到daily active user 和 last 30 day active user的數量的方法。 設計要求兼顧速度和節省儲存空間。

最後討論如果要把每天的資訊serialize到一個local file, 應該怎麼做才能節省空間。

本文來自微信:待字閨中,2013-10-07釋出,原創@陳利人 ,歡迎大家繼續關注微信公眾賬號“待字閨中”。

相關文章