成為大數據頂尖程序員,先過了下面問題!

成為大數據頂尖程序員,先過了下面問題?。ǜ酱鸢附馕觯?/p>

在大數據開發(fā)崗位的需求下,工資待遇水漲船高,不少編程人員在面對職業(yè)瓶頸期的時候,會選擇轉編程方向發(fā)展。

你是否已經意識這是你人生中的一個重要轉機?能不能抓住這個時代的機遇,就在于你對大數據信息的應用和獲取。而如何成為大數據時代的弄潮兒,掌握當下最緊缺的軟件技能是關鍵!谷歌、阿里巴巴、百度、京東都在急需掌握hadoop技術的大數據人才!無論你精通大數據的哪一項類,都將在未來職場脫穎而出!

在過去的2017年有不少大數據學成準備參加工作,在參加工作前最重要的一輪就是大數據的面試,小編收集了一些2018春招大數據面試題及答案,希望可以幫到準備或者正在參加大數據面試的朋友們。

大數據學習交流群:722680258群里都是學大數據開發(fā)的,如果你正在學習大數據 ,小編歡迎你加入,大家都是軟件開發(fā)黨,不定期分享干貨(只有大數據軟件開發(fā)相關的),包括我自己整理的一份2018最新的大數據進階資料和高級開發(fā)教程,歡迎進階中和想深入大數據的小伙伴加入。

一、選擇題

1.下面哪個程序負責HDFS數據存儲。答案C datanode

a)NameNode

b)Jobtracker

c)Datanode

d)secondaryNameNode

e)tasktracker

2. HDfS中的block默認保存幾份?答案A默認3分

a)3份

b)2份

c)1份

d)不確定

3.下列哪個程序通常與NameNode在一個節(jié)點啟動?答案D

a)SecondaryNameNode

b)DataNode

c)TaskTracker

d)Jobtracke

此題分析:

hadoop的集群是基于master/slave模式,namenode和jobtracker屬于master,datanode和tasktracker屬于slave,master只有一個,而slave有多個SecondaryNameNode內存需求和NameNode在一個數量級上,所以通常secondary NameNode(運行在單獨的物理機器上)和NameNode運行在不同的機器上。


JobTracker和TaskTracker

JobTracker對應于NameNode

TaskTracker對應于DataNode

DataNode和NameNode是針對數據存放來而言的

JobTracker和TaskTracker是對于MapReduce執(zhí)行而言的

mapreduce中幾個主要概念,mapreduce整體上可以分為這么幾條執(zhí)行線索:obclient,JobTracker與TaskTracker。

1)、JobClient會在用戶端通過JobClient類將應用已經配置參數打包成jar文件存儲到hdfs,并把路徑提交到Jobtracker,然后由JobTracker創(chuàng)建每一個Task(即MapTask和ReduceTask)并將它們分發(fā)到各個TaskTracker服務中去執(zhí)行。

2)、JobTracker是一個master服務,軟件啟動之后JobTracker接收Job,負責調度Job的每一個子任務task運行于TaskTracker上,并監(jiān)控它們,如果發(fā)現有失敗的task就重新運行它。一般情況應該把JobTracker部署在單獨的機器上。

3)、TaskTracker是運行在多個節(jié)點上的slaver服務。TaskTracker主動與JobTracker通信,接收作業(yè),并負責直接執(zhí)行每一個任務。TaskTracker都需要運行在HDFS的DataNode上。

4. Hadoop作者?答案:C Doug cutting

a)Martin Fowler

b)Kent Beck

c)Doug cutting

5. HDFS默認Block Size答案:B

a)32MB

b)64MB

c)128MB

(因為版本更換較快,這里答案只供參考)

6.下列哪項通常是集群的最主要瓶頸:答案:C磁盤

a)CPU

b)網絡

c)磁盤IO

d)內存

該題解析:

首先集群的目的是為了節(jié)省成本,用廉價的pc機,取代小型機及大型機。小型機和大型機有什么特點?

1.cpu處理能力強

2.內存夠大

所以集群的瓶頸不可能是a和d

3.網絡是一種稀缺資源,但是并不是瓶頸。

4.由于大數據面臨海量數據,讀寫數據都需要io,然后還要冗余數據,hadoop一般備3份數據,所以IO就會打折扣。

7.關于SecondaryNameNode哪項是正確的?答案C

a)它是NameNode的熱備

b)它對內存沒有要求

c)它的目的是幫助NameNode合并編輯日志,減少NameNode啟動時間

d)SecondaryNameNode應與NameNode部署到一個節(jié)點。

二、多選題:

8.下列哪項可以作為集群的管理?答案:ABD

a)Puppet

b)Pdsh

c)Cloudera Manager

d)Zookeeper

9.配置機架感知的下面哪項正確:答案ABC

a)如果一個機架出問題,不會影響數據讀寫

b)寫入數據的時候會寫到不同機架的DataNode中

c)MapReduce會根據機架獲取離自己比較近的網絡數據

10. Client端上傳文件的時候下列哪項正確?答案B

a)數據經過NameNode傳遞給DataNode

b)Client端將文件切分為Block,依次上傳

c)Client只上傳數據到一臺DataNode,然后由NameNode負責Block復制工作

該題分析:

Client向NameNode發(fā)起文件寫入的請求。

NameNode根據文件大小和文件塊配置情況,返回給Client它所管理部分DataNode的信息。

Client將文件劃分為多個Block,根據DataNode的地址信息,按順序寫入到每一個DataNode塊中。

11.下列哪個是Hadoop運行的模式:答案ABC

a)單機版

b)偽分布式

c)分布式

12. Cloudera提供哪幾種安裝CDH的方法?答案:ABCD

a)Cloudera manager

b)Tarball

c)Yum

d)Rpm

三、判斷題:

13. Ganglia不僅可以進行監(jiān)控,也可以進行告警。(正確)

分析:此題的目的是考Ganglia的了解。嚴格意義上來講是正確。ganglia作為一款最常用的Linux環(huán)境中的監(jiān)控軟件,它擅長的的是從節(jié)點中按照用戶的需求以較低的代價采集數據。但是ganglia在預警以及發(fā)生事件后通知用戶上并不擅長。最新的ganglia已經有了部分這方面的功能。但是更擅長做警告的還有Nagios。Nagios,就是一款精于預警、通知的軟件。通過將Ganglia和Nagios組合起來,把Ganglia采集的數據作為Nagios的數據源,然后利用Nagios來發(fā)送預警通知,可以完美的實現一整套監(jiān)控管理的系統。

14. Block Size是不可以修改的。(錯誤)

分析:它是可以被修改的Hadoop的基礎配置文件是hadoop-default.xml,默認建立一個Job的時候會建立Job的Config,Config首先讀入hadoop-default.xml的配置,然后再讀入hadoop-site.xml的配置(這個文件初始的時候配置為空),hadoop-site.xml中主要配置需要覆蓋的hadoop-default.xml的系統級配置。

15. Nagios不可以監(jiān)控Hadoop集群,因為它不提供Hadoop支持。(錯誤)

分析:Nagios是集群監(jiān)控工具,而且是云計算三大利器之一

16.如果NameNode意外終止,SecondaryNameNode會接替它使集群繼續(xù)工作。(錯誤)

分析:SecondaryNameNode是幫助恢復,而不是替代,如何恢復,可以查看.

17. Cloudera CDH是需要付費使用的。(錯誤)

分析:第一套付費產品是Cloudera Enterpris,Cloudera Enterprise在美國加州舉行的Hadoop大會(Hadoop Summit)上公開,以若干私有管理、監(jiān)控、運作工具加強Hadoop的功能。收費采取合約訂購方式,價格隨用的Hadoop叢集大小變動。

18. Hadoop是Java開發(fā)的,所以MapReduce只支持Java語言編寫。(錯誤)

分析:rhadoop是用R語言開發(fā)的,MapReduce是一個框架,可以理解是一種思想,可以使用其他語言開發(fā)。

19. Hadoop支持數據的隨機讀寫。(錯)

分析:lucene是支持隨機讀寫的,而hdfs只支持隨機讀。但是HBase可以來補救。HBase提供隨機讀寫,來解決Hadoop不能處理的問題。HBase自底層設計開始即聚焦于各種可伸縮性問題:表可以很“高”,有數十億個數據行;也可以很“寬”,有數百萬個列;水平分區(qū)并在上千個普通商用機節(jié)點上自動復制。表的模式是物理存儲的直接反映,使系統有可能提高高效的數據結構的序列化、存儲和檢索。

20. NameNode負責管理metadata,client端每次讀寫請求,它都會從磁盤中讀取或則會寫入metadata信息并反饋client端。(錯誤)

此題分析:

NameNode不需要從磁盤讀取metadata,所有數據都在內存中,硬盤上的只是序列化的結果,只有每次namenode啟動的時候才會讀取。

1)文件寫入

Client向NameNode發(fā)起文件寫入的請求。

NameNode根據文件大小和文件塊配置情況,返回給Client它所管理部分DataNode的信息。

Client將文件劃分為多個Block,根據DataNode的地址信息,按順序寫入到每一個DataNode塊中。

2)文件讀取

Client向NameNode發(fā)起文件讀取的請求。

21. NameNode本地磁盤保存了Block的位置信息。(個人認為正確,歡迎提出其它意見)

分析:DataNode是文件存儲的基本單元,它將Block存儲在本地文件系統中,保存了Block的Meta-data,同時周期性地將所有存在的Block信息發(fā)送給NameNode。NameNode返回文件存儲的DataNode的信息。

Client讀取文件信息。

22. DataNode通過長連接與NameNode保持通信。(? )

這個有分歧:具體正在找這方面的有利資料。下面提供資料可參考。

首先明確一下概念:

(1).長連接

Client方與Server方先建立通訊連接,連接建立后不斷開,然后再進行報文發(fā)送和接收。這種方式下由于通訊連接一直存在,此種方式常用于點對點通訊。

(2).短連接

Client方與Server每進行一次報文收發(fā)交易時才進行通訊連接,交易完畢后立即斷開連接。此種方式常用于一點對多點通訊,比如多個Client連接一個Server.

23. Hadoop自身具有嚴格的權限管理和安全措施保障集群正常運行。(錯誤)

分析:hadoop只能阻止好人犯錯,但是不能阻止壞人干壞事

24. Slave節(jié)點要存儲數據,所以它的磁盤越大越好。(錯誤)

分析:一旦Slave節(jié)點宕機,數據恢復是一個難題

25. hadoop dfsadmin –report命令用于檢測HDFS損壞塊。(錯誤)

26. Hadoop默認調度器策略為FIFO(正確)

27.集群內每個節(jié)點都應該配RAID,這樣避免單磁盤損壞,影響整個節(jié)點運行。(錯誤)

分析:首先明白什么是RAID,可以參考百科磁盤陣列。這句話錯誤的地方在于太絕對,具體情況具體分析。題目不是重點,知識才是最重要的。因為hadoop本身就具有冗余能力,所以如果不是很嚴格不需要都配備RAID。具體參考第二題。

28.因為HDFS有多個副本,所以NameNode是不存在單點問題的。(錯誤)

29.每個map槽就是一個線程。(錯誤)

分析:首先我們知道什么是map槽,map槽->map slotmap slot只是一個邏輯值( org.apache.hadoop.mapred.TaskTracker.TaskLauncher.numFreeSlots ),而不是對應著一個線程或者進程

30. Mapreduce的input split就是一個block。(錯誤)

31. NameNode的Web UI端口是50030,它通過jetty啟動的Web服務。(錯誤)

32. Hadoop環(huán)境變量中的HADOOP_HEAPSIZE用于設置所有Hadoop守護線程的內存。它默認是200 GB。(錯誤)

分析:hadoop為各個守護進程(namenode,secondarynamenode,jobtracker,datanode,tasktracker)統一分配的內存在hadoop-env.sh中設置,參數為HADOOP_HEAPSIZE,默認為1000M。

33. DataNode首次加入cluster的時候,如果log中報告不兼容文件版本,那需要NameNode執(zhí)行“Hadoop amenode -format”操作格式化磁盤。(錯誤)

分析:

首先明白介紹,什么ClusterID

ClusterID。添加了一個新的標識符ClusterID用于標識集群中所有的節(jié)點。當格式化一個Namenode,需要提供這個標識符或者自動生成。這個ID可以被用來格式化加入集群的其他Namenode。

以上就是小編整理的2018大數據春招面試題及答案準備或者是正在參加大數據的面試的朋友可以收藏一下好好看看,做好充分的準備參加每一場的面試,祝你成功!

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 備忘錄模式:在不破壞封裝性的前提下,捕獲一個對象的內部狀態(tài),并在該對象之外保存這個狀態(tài)。這樣就可以將該對象恢復到原...
    桌子上的方便面閱讀 226評論 0 0
  • 作者:放鑫 小時候 家鄉(xiāng)的夜 夜光皎潔,蟲鳴鳥叫 安靜得能聽到自己的呼吸 閉上眼睛,如此心安理得 長大后 城市的喧...
    放鑫閱讀 291評論 0 2
  • 我們各自的人生和各種選擇,每每產生交集,引發(fā)出一個全新的可能,我們在不同的人生,以不同的年齡一次次重逢的情景,我們...
    書茵閱讀 313評論 0 0
  • GSG是什么?—團隊對接微信:18666189703 ① GSG是虛擬商品! ② GSG是虛擬資產! ③ GSG是...
    GSG游戲理財閱讀 6,242評論 0 1

友情鏈接更多精彩內容