1. 程式人生 > >大數據常見面試算法題復習

大數據常見面試算法題復習

得到 面試算法 比較 出現 百度 日誌 bitmap 小文件 span

  

1、海量日誌數據,提取出某日訪問百度次數最多的那個IP。

解:ip個數是4個0到256的數字來表示.所以他是2^32個.

掃描一下日誌:直接把所有第一個數字是n的放到一個文件n裏面.這樣我們有256個文件了.

對每一個小文件,他裏面找到訪問百度次數最多的ip(可以字典計數).然後得到256個ip.在256個ip裏面找最大的.整體效率O(N)

2.假設目前有一千萬個記錄(這些查詢串的重復度比較高,雖然總數是1千萬,但如果除去重復後,不超過3百萬個。一個查詢串的重復度越高,說明查詢它的用戶越多,也就是越熱門。),請你統計最熱門的10個查詢串,要求使用的內存不能超過1G。

解:用長度為10的小根堆(給一個字符串他的頻率如果他比棧頂大就插入堆,否則就舍棄)和trie樹.把字符串記錄都給trie樹,然後對應的value是出現的次數.

(也就是掃描到已經有的就加上去).這個結構搜索速度快.建立結構的同時維護一個長度為10的小根堆即可(每修改一個記錄或者加入一個記錄就更新一下小根堆).最後彈出小根堆結果即可.

3、在2.5億個整數中找出不重復的整數,註,內存不足以容納這2.5億個整數。

經典bitmap題目.bitmap去重最快.

大數據常見面試算法題復習