首先處理大數(shù)據(jù)的面試題意乓,有些基本概念要清楚:
(1)1Gb = 109bytes(1Gb = 10億字節(jié)):1Gb = 1024Mb图谷,1Mb = 1024Kb主之,1Kb = 1024bytes酵幕;
(2)基本流程是衬以,分解大問題缓艳,解決小問題,從局部最優(yōu)中選擇全局最優(yōu)看峻;(當然阶淘,如果直接放內(nèi)存里就能解決的話,那就直接想辦法求解互妓,不需要分解了溪窒。)
(3)分解過程常用方法:hash(x)%m。其中x為字符串/url/ip冯勉,m為小問題的數(shù)目澈蚌,比如把一個大文件分解為1000份,m=1000珠闰;
(4)解決問題輔助數(shù)據(jù)結(jié)構(gòu):hash_map惜浅,Trie樹,bit map伏嗜,二叉排序樹(AVL坛悉,SBT,紅黑樹)承绸;
(5)top K問題:最大K個用最小堆裸影,最小K個用最大堆。(至于為什么军熏?自己在紙上寫個小栗子轩猩,試一下就知道了。)
(6)處理大數(shù)據(jù)常用排序:快速排序/堆排序/歸并排序/桶排序