迅雷的乙個面試題

2021-09-01 03:48:24 字數 492 閱讀 2346

假如有這樣乙個資料來源

id scores

一共2億條記錄,其中分數已經是排好了序的。

要求使用者登入就顯示使用者分數在使用者中的排名。

想了5分鐘我的方案是:首先分庫,跨度分成10個表,每個表的資料量大體相等。

再記錄對應的分數階段,如:第一張表0-1000分,約有1000w使用者,第二張1000-1800分,約1000w。。。。。。。。。。。。

用lucene 給10張表做索引,儲存索引檔案,使用者上來通過lucene 找到分數,找到對應資料庫。

這是面試官來了一句,記憶體只有1g,也就是說我不能1次載入出1000w使用者的分數出來,做二分查詢。(我想他是這意思,至於是不是這意思,不管你信不信。。此處省略500字。。。)

然後我支支吾吾,不知道說了什麼,

最好面試官說,你思維混亂,out!

回來想了很久沒相同,怎麼把這10000w載入出來,希望大家給個思路,謝謝

感謝大家的回答,

這個同學總結的相當優雅

乙個面試題

題目是 假設乙個 搜尋引擎收錄了2 24首歌曲,並記錄了可收聽這些歌曲的2 30條url,但每首歌的url不超過2 10個。系統會定期檢查這些url,如果乙個url不可用則不出現在搜尋結果中。現在歌曲名和url分別通過整型的song id和url id唯一確定。對該系統有如下需求 1 通過song ...

乙個面試題

在不超過最右邊的數量的情況下任意組合,要求加起來不超過20280這個數字,但達成最接近的情況,現有一種方法為 1290 4 2990 5,差170,有沒有更接近20280的答案 資料如下 4900 13790 22990 5 意思是不能超過5次,但可以使用1次,2次,3次,4次,5次。2390 31...

乙個面試題

res fromkeys name password age print res print res print id res name id res password res name 666 print res 輸出 57496360 57496360 fromkeys 建立字典時,字典中所有的...