我最近應聘時,遇到的乙個面試題:請試寫一段mapreduce**。
map/reduce演算法的過程是:
1、partition(劃分資料)
把資料劃n份
2、map
除了劃分資料,還需要把運算該資料的**也map到每個運算節點上面去併發執行。這n個節點各自執行自己的任務,執行完畢以後把執行結果返回
3、partition
這n份執行結果需要歸併,於是我們再次劃分資料,比方說劃分為m份
4、reduce
把reduce**和reduce資料分發到n個節點執行,每個節點執行完畢返回資料。如果需要再次reduce可以再次執行。最終reduce為乙個總共的結果
我現在的理解是這樣的
**
1var
return
=new
var[n];
2for
(inti=
0; i
<
n; i++)
37var
return2=
partitionvalue(
return
);//
return2中元素個數為m,m
8for
(inti=
0; i
<
m; i++)
12....
13一直到return陣列元素個數為1,處理得到最後結果
開發小心得
1.design for test。在寫程式的初期就要考慮到測試,那麼系統就很容易除錯了,不僅硬體線路如此,軟體程式更是如此。2.在嵌入式開發的過程中,當程式總是無法正常執行時,首先要利用硬體測試手段,保證硬體沒有問題,再進行軟體方面的測試,否則,硬體出現了問題,軟體再怎麼除錯都沒有作用。3.在進行...
管理小心得
最近一直專注於忙研發管理,談一點小體會吧。1.要將壓力下發到小組成員,同時要敢於放權 2.壓力下發的同時必須界定每個人的責任範圍 3.邊界交界處必須指定牽頭人,避免互相推諉的情況 4.必須學會批評,且要嚴厲 5.文件一定要時刻與開發同步,否則將導致專案失敗。產品化程序中的重點 6.越早參與評審,越能...
復工小心得
月初舉行了復工會議,有點遺憾沒有到達現場,不過還是在網上參與了而進去。一些復工的基本情況我就不說了,就說一下經過這次會議和我平時觀察到的發一些感慨吧。疫情期間,有的人會關注每日的疫情走向,有的人會在家裡吃吃喝喝玩玩樂樂,也有的人會發現一些商機並去實施。業餘時間做什麼,才決定了乙個人的成就能有多大。說...