url去重問題(百度Java後端面試一面第二題

2021-08-16 03:25:19 字數 431 閱讀 2247

問題:有10 億個 url,每個 url 大小小於 56b,要求去重,記憶體只給你4g

思路:1.首先將給定的url呼叫hash方法計算出對應的hash的value,在10億的url中相同url必然有著相同的value。

2.將檔案的hash table 放到第value%n臺機器上。

3.value/n是機器上hash table的值。

分析:將檔案的url進行hash,得到值value,相同的url的檔案具有相同的value,所以會被分配到同一臺機器v%n上。在同一臺機器上的重複的url檔案具有相同的value/n值,如果出現了衝突,不同的url在同一臺機器上也可能有相同的value/n值。在每個機器上將value/n值作為key,url值作為value構成hash表進行去重。最後將記憶體中去重後的hash表中的value值即url寫入磁碟。合併磁碟中的各部分url檔案,完成去重。

百度實時主動推送url

提交方式 提高了很多站長所需的東西。你一看便知。2 post推送示例 進行輸出流的緩衝 out.flush 通過bufferedreader輸入流來讀取url的響應 in new bufferedreader new inputstreamreader conn.getinputstream str...

百度搜尋URL引數

關鍵字 cl 3 cl class 搜尋型別,cl 3為網頁搜尋,cl 2為搜尋 pn page number 顯示結果的頁數 ct 此值一般是一串數字,可能是搜尋請求的驗證碼 si 在限定的網域名稱中搜尋,比如想在本站內搜尋可使用引數si shangzhiwang.com,要使這個引數有效必須結合...

百度面試題 迭代開啟url問題

乙個url指向的頁面裡面有另乙個url,最終有乙個url指向之前出現過的url或空,這兩種情形都定義為null。這樣構成乙個單鏈表。給兩條這樣單鏈表,判斷裡面是否存在同樣的url。url以億級計,資源不足以hash。本題可以抽象為有環和無環情況下的鍊錶交叉問題 情況一 兩條單鏈表均無環 最簡單的一種...