大資料big data相關面試

來源:互聯網
上載者:User
文章目錄
  • 1. 海量日誌資料,提取出某日訪問百度次數最多的那個IP
  • 2. 搜尋引擎會通過記錄檔把使用者每次檢索使用的所有檢索串都記錄下來,每個查詢串的長度為1-255位元組。假設目前有一千萬個記錄(這些查詢串的重複度比較高,雖然總數是1千萬,但如果除去重複後,不超過3百萬個。一個查詢串的重複度越高,說明查詢它的使用者越多,也就是越熱門。),請你統計最熱門的10個查詢串,要求使用的記憶體不能超過1G。
  • 3. 有一個1G大小的一個檔案,裡面每一行是一個詞,詞的大小不超過16位元組,記憶體限制大小是1M。返回頻數最高的100個詞。
  • 4. 有10個檔案,每個檔案1G,每個檔案的每一行存放的都是使用者的query,每個檔案的query都可能重複。要求你按照query的頻度排序
  • 5.  給定a、b兩個檔案,各存放50億個url,每個url各佔64位元組,記憶體限制是4G,讓你找出a、b檔案共同的url?
  • 6. 在2.5億個整數中找出不重複的整數,注,記憶體不足以容納這2.5億個整數
  • 7. 5億個int找它們的中位元
1. 海量日誌資料,提取出某日訪問百度次數最多的那個IPIP地址是32位的位元,所以共有N=2^32=4G個不同的IP地址,如果使用HashMap,則使用的記憶體((4+4)*4G)遠遠超出記憶體大小。解決辦法,用IP的高8位進行劃分,將ip劃分到2^8=256個檔案當中,並對每個檔案(區間)進行HashMap並記錄訪問次數最高的ip。然後就可以計算出所有IP地址中訪問次數最大的IP了。2. 搜尋引擎會通過記錄檔把使用者每次檢索使用的所有檢索串都記錄下來,每個查詢串的長度為1-255位元組。假設目前有一千萬個記錄(這些查詢串的重複度比較高,雖然總數是1千萬,但如果除去重複後,不超過3百萬個。一個查詢串的重複度越高,說明查詢它的使用者越多,也就是越熱門。),請你統計最熱門的10個查詢串,要求使用的記憶體不能超過1G。(1) HashMap(N) / MergeSort(N*logN) 目的是計算所有query出現的次數。因為題目要求的記憶體容量可以容納3million queries,所以採用HashMap是最好的選擇(2)PriorityQueue(N*log10)在一個整形數組中,找Top K,經典演算法,不多述。3. 有一個1G大小的一個檔案,裡面每一行是一個詞,詞的大小不超過16位元組,記憶體限制大小是1M。返回頻數最高的100個詞。題目和海量日誌中提取訪問次數最多的ip一樣思路。將每一行的詞對2000進行模數,將大檔案劃分成2000個小檔案,每個檔案含有 不同詞的大小總和不超過500K,這樣可以在1M的記憶體中做HashMap,然後PriorityQueue統計出該分段中頻率最高的100個。K ways merge sort找到所有檔案中頻率最高的100個。K < 2^(20 - 11)4. 有10個檔案,每個檔案1G,每個檔案的每一行存放的都是使用者的query,每個檔案的query都可能重複。要求你按照query的頻度排序題目和海量日誌中提取訪問次數最多的ip一樣思路。只是需要順序讀取這10個檔案,然後對每一條query進行Hash後在對10模數。5.  給定a、b兩個檔案,各存放50億個url,每個url各佔64位元組,記憶體限制是4G,讓你找出a、b檔案共同的url?將50億個url進行hash然後對128模數,這樣將a檔案分為128個小檔案,同理將b檔案也分為128個小檔案。這樣編號不對應的檔案中不含有相同url。6. 在2.5億個整數中找出不重複的整數,注,記憶體不足以容納這2.5億個整數方法1. 類似第一題分而治之方法2. 採用2-Bitmap(每個數分配2bit,00表示不存在,01表示出現一次,10表示多次,11無意義)進行,共需記憶體2^32 * 2 bit=1 GB記憶體,還可以接受。7. 5億個int找它們的中位元按照高8位將5億個int分在2^8個檔案當中,並統計每個檔案含有數位個數。然後就可以知道中位元在第幾個檔案中,並知道在該檔案中的位置。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.