大數據工程師如何提高面試勝算丨面試題在手,未雨綢繆

隨著雲時代的來臨,大數據吸引了越來越多人的關注。大數據通常用來形容一個公司創造的大量非結構化和半結構化數據,這些數據在下載到關係型資料庫用於分析時會花費過多時間和金錢。大數據分析常和雲計算聯繫到一起,因為實時的大型數據集分析需要像MapReduce一樣的框架來向數十、數百或甚至數千的電腦分配工作。未來大數據將對我們的生活產生哪些影響,下面小編就從以下幾個方面來幫大家分析一下:

一、大數據與雲技術的結合

如果再找一個可以跟大數據並駕齊驅的IT熱詞,雲計算無疑是跟大數據關係非常大的一個詞語。很多人在提到大數據的時候總會想到雲計算,二者還是有很多不同的,一句話來解釋二者:雲計算是硬體資源的虛擬化,大數據則是海量數據的高效處理。雖然大數據與雲計算並不是一個東西,但是二者之間還是有著千絲萬縷的關係的,目前,很多人認為,雲計算將是未來解決大數據的最佳平台。雲計算相當於我們的計算機和操作系統,將大量的硬體資源虛擬化之後再進行分配使用,大數據則是我們處理的數據。雲計算是大數據的處理器的最佳平台,未來,這種趨勢的發展將越來越讓二者的關係更緊密。

二、數據的資源化

何謂資源化,是指大數據成為企業和社會關注的重要戰略資源,並已成為大家爭相搶奪的新焦點。因而,企業必須要提前制定大數據營銷戰略計劃,搶佔市場先機。

三、科學理論的突破

隨著大數據的快速發展,就像計算機和互聯網一樣,大數據很有可能是新一輪的技術革命。隨之興起的數據挖掘、機器學習和人工智慧等相關技術,可能會改變數據世界裡的很多演算法和基礎理論,實現科學技術上的突破。

四、智慧城市

相較於其他應用,智慧城市是近年來大數據應用的熱點研究問題之一,通過大數據緊密聯繫各部門工作,使政府對城市的管理更為便利,為城市公共安全方面決策的制定提供可靠性信息支持,可促進現代化城市的建設。

五、大數據將成為企業IT核心

隨著大數據價值逐漸被發展,大數據將成為企業IT的核心,畢竟在這個以盈利為主導的行業環境中,誰能夠為企業帶來更多的價值就將會更重要。在以往,IT系統更多的在企業中是扮演輔助工作的任務,而隨著大數據的發展,IT系統也將具有更大的意義。

說了這麼多,下面言歸正傳,大數據工程師如何提高面試勝算?

面試題在手,一個字「穩」,下面小編就先分享一套大數據面試題給大家,幫助大家從容應對面試。全套面試題共計10套,歡迎私信小編索取~

1.hadoop運行原理

包括HDFS和Mapreduce兩部分。

1)HDFS自動保存多個副本,移動計算。缺點是小文件存取佔用namenode內存,寫入只支持追加,不能隨機修改。

它存儲的邏輯空間稱為block,文件的許可權類似linux。整體架構分三種節點,NN,SNN,DN

NN 負責讀寫操作保存metadata(Ownership Permission blockinfo)

SNN 負責輔助NN合併fsimage和edits,減少nn啟動時間

DN 負責存數據,每個數據(文件)分割成若干block,每個block默認3個副本。啟動後像NN發送心跳保持聯繫

NN保存的metadata在hdfs啟動後載入到計算機內存,除block位置信息的metadata保存在OS文件系統中的fsimage文件中,對metadata的操作日誌保存在OS文件系統中的edits文件中。block位置信息是hdfs啟動後由DN上報NN再載入到內存的。

HDFS的安全模式:直到NN完全載入完metadata之前的這段時間。期間不能寫入文件,DN檢查各個block完整性,並修復。

2)MapReduce

離線計算框架,過程分為split map shuffle reduce四個過程

架構節點有:Jobtracker TaskTracker

Split將文件分割,傳輸到mapper,mapper接收KV形式的數據,經過處理,再傳到shuffle過程。

Shuffle先進行HashPartition或者自定義的partition,會有數據傾斜和reduce的負載均衡問題;再進行排序,默認按字典排序;為減少mapper輸出數據,再根據key進行合併,相同key的數據value會被合併;最後分組形成(key,value{})形式的數據,輸出到下一階段

Reduce輸入的數據就變成了,key+迭代器形式的數據,再進行處理

2.MapReduce原理

邏輯上:

1、split

2、map

3、shuffle

4、reduce

四個過程

物理上:

JobTracker節點:JobTracker創建每一個Task(即MapTask和ReduceTask)

並將它們分發到各個TaskTracker服務中去執行。負責調度Job的每一個子任務task運行於TaskTracker上。

TaskTracker節點:運行在多個節點上的slaver服務。TaskTracker主動與JobTracker通信,接收作業,並負責直接執行每一個任務。TaskTracker都需要運行在HDFS的DataNode上

3.hdfs存儲機制

1) client端發送寫文件請求,namenode檢查文件是否存在,如果已存在,直接返回錯誤信息,否則,發送給client一些可用namenode節點

2) client將文件分塊,並行存儲到不同節點上datanode上,發送完成後,client同時發送信息給namenode和datanode

3) namenode收到的client信息後,發送確信信息給datanode

4) datanode同時收到namenode和datanode的確認信息後,提交寫操作。

4.用MapReduce找出存在公共好友的兩個人

5.用mr設計一個分組排重計數演算法

輸入文件格式:二級域名,一級頻道,二級頻道,訪問ip地址,訪問者id

需求:按照二級域名,一級頻道,二級頻道分組,計算pageview數,計算獨立ip數和獨立訪問者id數

6.hadoop中combiner的作用

當map生成的數據過大時,帶寬就成了瓶頸,怎樣精簡壓縮傳給Reduce的數據,有不影響最終的結果呢。有一種方法就是使用Combiner,Combiner號稱本地的Reduce,Reduce最終的輸入,是Combiner的輸出

索取10套大數據面試題全集,點贊後評論區給小編留言(* ̄︶ ̄),越會撩回復越快,手一抖搞不好全套視頻教程也一起發你了,刺激不刺激~


推薦閱讀:

TAG:大數據 | 面試問題 | 數據挖掘工程師 |