1. 大數據開發工程師面試主要面試哪些內容
只要數據量級大(或者是數據復雜度,或者是其他方面的量級大)到普通的處理方法無法處理地實際上都可以算作是大數據開發,只不過一般大數據開發目前招聘的很多都是做數據處理的。有如下幾個方向:1)數據挖掘是大數據處理地一個方向,這里做數據挖掘要有一些統計學基礎才能做,目前數據挖掘的方向其實不是很明確,和人工智慧,機械學習也有一些關系,如果是做數據挖掘,基本的數據會由數據平台部或數據運維部門提供2)數據平台的開發(這里的平台開發在不同公司的內容又不一樣,小公司可能是根據公司業務做一套完整的數據分析系統,大公司這個職位可能是一些開源組件的二次開發)3)大數據運維方向:比如hadoop,spark集群的運維,涉及到ha等內容4)大數據分析方向:有的公司會將職責細化,招聘一些專業的分析人員,去寫hql或者是其它類sql來對數據進行分析最後,其實大數據平台相關工作的劃分並不清晰,行業里沒有統一標准,大公司小公司情況不同。關於技術方向更是用什麼的都有,比如有的公司用spark,有的用impala,還有的用clickhouse等,最近flink也逐漸進入大家的視野。所以在找工作時應該要考慮的是自己的強項是什麼,同時在選擇工作時要考慮到這個工作在做了三五年後,從這家公司出來還能不能找到工作。我個人的建議是如果你會java,那不要脫離java(scala)語言去做大數據開發,也不要專業只去做數據分析工作,大數據行業目前仍舊有一些泡沫(個人看法),很多組件仍舊是基於java的,一旦脫離java語言本身,那源碼閱讀,二次開發都會有問題,同時生產環境自動化去執行一些代碼也是需要語言支持的,或者最差的預估,如果大數據行業嚴重縮水(比如某些公司可以分析,可以挖掘的內容有限),可以隨時轉到java伺服器開發方向。
2. 大數據面試題以及答案整理(一)
一、Map端的shuffle
Map端會處理輸入數據並產生中間結果,這個中間結果會寫到本地磁碟,而不是HDFS。每個Map的輸出會先寫到內存緩沖區中,當寫入的數據達到設定的閾值時,系統將會啟動一個線程將緩沖區的數據寫到磁碟,這個過程叫做spill。
在spill寫入之前,會先進行二次排序,首先根據數據所屬的partition進行排序,然後每個partition中的數據再按key來排序。partition的目的是將記錄劃分到不同的Recer上去,以期望能夠達到負載均衡,以後的Recer就會根據partition來讀取自己對應的數據。接著運行combiner(如果設置了的話),combiner的本質也是一個Recer,其目的是對將要寫入到磁碟上的文件先進行一次處理,這樣,寫入到磁碟的數據量就會減少。最後將數據寫到本地磁碟產生spill文件(spill文件保存在{mapred.local.dir}指定的目錄中,Map任務結束後就會被刪除)。
最後,每個Map任務可能產生多個spill文件,在每個Map任務完成前,會通過多路歸並演算法將這些spill文件歸並成一個文件。至此,Map的shuffle過程就結束了。
二、Rece端的shuffle
Rece端的shuffle主要包括三個階段,、sort(merge)和rece。
首先要將Map端產生的輸出文件拷貝到Rece端,但每個Recer如何知道自己應該處理哪些數據呢?因為Map端進行partition的時候,實際上就相當於指定了每個Recer要處理的數據(partition就對應了Recer),所以Recer在拷貝數據的時候只需拷貝與自己對應的partition中的數據即可。每個Recer會處理一個或者多個partition,但需要先將自己對應的partition中的數據從每個Map的輸出結果中拷貝過來。
接下來就是sort階段,也稱為merge階段,因為這個階段的主要工作是執行了歸並排序。從Map端拷貝到Rece端的數據都是有序的,所以很適合歸並排序。最終在Rece端生成一個較大的文件作為Rece的輸入。
最後就是Rece過程了,在這個過程中產生了最終的輸出結果,並將其寫到HDFS上。
讀:
1、跟namenode通信查詢元數據,找到文件塊所在的datanode伺服器
2、挑選一台datanode(就近原則,然後隨機)伺服器,請求建立socket流
3、datanode開始發送數據(從磁碟裡面讀取數據放入流,以packet為單位來做校驗)
4、客戶端以packet為單位接收,現在本地緩存,然後寫入目標文件
寫:
1、與namenode通信請求上傳文件,namenode檢查目標文件是否已存在,父目錄是否存在
2、namenode返回是否可以上傳
3、client請求第一個 block該傳輸到哪些datanode伺服器上
4、namenode返回3個datanode伺服器ABC
5、client請求3台dn中的一台A上傳數據(本質上是一個RPC調用,建立pipeline),A收到請求會繼續調用B,然後B調用C,將真個pipeline建立完成,逐級返回客戶端
6、client開始往A上傳第一個block(先從磁碟讀取數據放到一個本地內存緩存),以packet為單位,A收到一個packet就會傳給B,B傳給C;A每傳一個packet會放入一個應答隊列等待應答
7、當一個block傳輸完成之後,client再次請求namenode上傳第二個block的伺服器
3. 尚矽谷大數據面試都會問些什麼
其實不管是哪家公司面試,都是根據你的簡歷來對你進行提問,所以自己簡歷上面寫的知識點都要全部對答如流。
還有慎用精通這樣的字眼,工作五年以上的人,也不敢說自己對哪一方面能夠達到精通的地步。
尚矽谷大數據面試的一些基本問題總結如下:
1.講講你做的過的項目。 項目里有哪些 難點重點注意點呢?
2.講講多線程吧, 要是你,你怎麼實現一個線程池呢?
3.講一下Maprece或者hdfs的原理和機制。map讀取數據分片。
4.shuffle 是什麼? 怎麼調優?
5.項目用什麼語言寫? Scala? Scala的特點? 和Java的區別?
6.理論基礎怎麼樣,比如數據結構,裡面的快速排序,或者,樹? 講一講你了解的樹的知識?
7.數學怎麼樣呢?
8.講一下資料庫,SQl ,左外連接, 原理,實現?
9.還了解過數據的什麼知識? 資料庫引擎?
10.Hadoop的機架怎麼配置的?
11.Hbase的設計有什麼心得?
12.Hbase的操作是用的什麼API還是什麼工具?
13.對調度怎麼理解.? 用什麼工具嗎?
14.用kettle 這種工具還是 自己寫程序? 你們公司是怎麼做的?
15.你們數據中心開發周期是多長?
16.你們hbase裡面是存一些什麼數據
4. 大數據開發人員面試常會被問什麼問題
1、你自身的優點
這個問題不僅僅是在大數據面試當中常常被問,在各行各業的面試中都經常出現。所以面試者要盡可能說一些和工作相關的優點,比如「學習能力強」「能抗住壓力」等,再舉一個自己之前工作的例子進行證明,這會讓面試官覺得很真實。
2、為什麼要離開上家公司
其實面試官問這種問題的時候,就是在看你人品。很多人覺得說上家公司不好的話才是好的,其實不是的,離職見人品,如果你能在面試官面前說上家公司的不好,也能在下家公司說這家公司的不好。所以在面試官問及這個問題的時候,最好結合自身的發展來說。
3、未來幾年的規劃
回答這個問題的時候,不要說自己不知道、不清楚,會顯得你這個人沒有目標和方向。所以如果應聘者對這個問題不知道怎麼回答的時候,可以跟面試官交流一下現在大數據行業的職業目標以及准備做些什麼去實現這個目標,至少要讓面試官看到應聘者對選擇這個職業的熱情,甚至是對選擇這份工作的熱情。
5. 2021年大數據工程師面試內容包括哪些
【導語】近年來,大數據發展如火如荼,很多人都選擇學習大數據專業或者轉行大數據,大數據里又包含很多就業崗位,所以在進行崗位選擇的時候,還是需要大家合理選擇,為了幫助大家更好的進入大數據行業執業,下面就把2021年大數據工程師面試內容給大家進行一下具體介紹。
1、自我介紹
一般上來就是自我介紹,談下工作經歷和項目經驗,面試官會根據你的項目經驗對你進行技術面試。在自我介紹時,一定要抓住核心說,不要太啰嗦,盡量放大自己的價值,讓面試官感受到你對工作的熱情,以及以後對公司貢獻的能力。
2、數倉開發知識技能
(1)Java是必問的,不過問的不深,把Javase部分吃透,足以應付Java部分的面試。
(2)Hadoop生態,Yarn、Zookeeper、HDFS這些底層原理要懂,面試經常被問。
(3)Maprece的shuffle過程這個也是面試被常問的。
(4)Hbase和HIve,搞大數據這些不懂真的說不過去。
(5)Mysql、Oracle和Postgres資料庫操作要回,Sql要會寫。
(6)linux操作系統,這個簡單得命令必須要懂,會寫shell腳本更好了。
(7)Kettle或Sqoop這種數據處理工具至少要會一個。8,數據倉庫建模、數據模型的問題。
3、技術方面知識技能
(1)SparkSql和SparkStreaming,底層原理、內核、提交任務的過程等等,盡量深入內幕,這個經常會跟MapRece作比較的。當然也要了解Storm和Flink,Flink這個建議要學會,以後用處會越來越廣。
(2)Redis、Kafka、ElasticSearch這些都得懂原理,深入了解,會使用,會操作,會調優。
(3)impala和kylin這些盡量也要了解會用
(4)Python這個要是有能力,有精力,建議也要往深處學習,我目前正在自學中。
(5)集群的問題,包括一些簡單的運維知識。
(6)大數據數據傾斜的問題,包括Spark JVM內存調優問題等等。
關於2021年大數據工程師面試內容,就給大家介紹到這里了,希望對大家能有所幫助,當然進入大數據行業,還需要大家在平時不斷進行技能提升,這樣才能更好的擁有一席之地。
6. 大數據面試題及答案誰能分享一下
大數據時代才剛剛開始。隨著越來越多的公司傾向於大數據運營,人才需求達到歷史最高水平。這對你意味著什麼?如果您想在任何大數據崗位上工作,它只能轉化為更好的機會。您可以選擇成為數據分析師,數據科學家,資料庫管理員,大數據工程師,Hadoop大數據工程師等。在本文中,慧都網將介紹與大數據相關的前10大數據面試問題。
以下是最重要的大數據面試問題以及具體問題的詳細解答。對於更廣泛的問題,答案取決於您的經驗,我們將分享一些如何回答它們的提示。
無論何時進行大數據采訪,采訪者都可能會詢問一些基本問題。無論您是大數據領域的新手還是經驗豐富,都需要基礎知識。因此,讓我們來介紹一些常見的基本大數據面試問題以及破解大數據面試的答案。
1.您對「大數據」一詞有何了解?
答:大數據是與復雜和大型數據集相關的術語。關系資料庫無法處理大數據,這就是使用特殊工具和方法對大量數據執行操作的原因。大數據使公司能夠更好地了解其業務,並幫助他們從定期收集的非結構化和原始數據中獲取有意義的信息。大數據還允許公司採取數據支持的更好的業務決策。
2.大數據的五個V是什麼?
答:大數據的五個V如下:
Volume -Volume表示體積大,即以高速率增長的數據量,即以PB為單位的數據量
Velocity -Velocity是數據增長的速度。社交媒體在數據增長速度方面發揮著重要作用。
Variety -Variety是指不同的數據類型,即各種數據格式,如文本,音頻,視頻等。
Veracity -Veracity是指可用數據的不確定性。由於大量數據帶來不完整性和不一致性,因此產生了准確性。
Value -價值是指將數據轉化為價值。通過將訪問的大數據轉換為價值,企業可以創造收入。
YARN的兩個主要組成部分:
ResourceManager-該組件接收處理請求,並根據處理需要相應地分配給各個NodeManager。
NodeManager-它在每個單個數據節點上執行任務
7.為什麼Hadoop可用於大數據分析?
答:由於數據分析已成為業務的關鍵參數之一,因此,企業正在處理大量結構化,非結構化和半結構化數據。在Hadoop主要支持其功能的情況下,分析非結構化數據非常困難
存儲
處理
數據採集
此外,Hadoop是開源的,可在商用硬體上運行。因此,它是企業的成本效益解決方案。
8.什麼是fsck?
答:fsck代表文件系統檢查。它是HDFS使用的命令。此命令用於檢查不一致性以及文件中是否存在任何問題。例如,如果文件有任何丟失的塊,則通過此命令通知HDFS。
9. NAS(網路附加存儲)和HDFS之間的主要區別是什麼?
答:NAS(網路附加存儲)和HDFS之間的主要區別 -
HDFS在一組計算機上運行,而NAS在單個計算機上運行。因此,數據冗餘是HDFS中的常見問題。相反,復制協議在NAS的情況下是不同的。因此,數據冗餘的可能性要小得多。
在HDFS的情況下,數據作為數據塊存儲在本地驅動器中。在NAS的情況下,它存儲在專用硬體中。
10.格式化NameNode的命令是什麼?
答:$ hdfs namenode -format。
歡迎咨詢慧都在線客服,我們將幫您轉接大數據專家團隊,並發送相關資料給您!
以上就是大數據面試題及答案,希望我的回答對您有幫助!
7. 大數據開發面試題有什麼
大數據開發的面試題有spark開發,hadoop應用等內容,具體開發崗,分析工程師有不同的內容,千鋒網有很多相關面試題。
8. 大數據技術Hadoop面試題
單項選擇題
1.下面哪個程序負責HDFS數據存儲。
a)NameNode
b)Jobtracker
c)Datanode
d)secondaryNameNode
e)tasktracker
2.HDfS中的block默認保存幾份?
a)3份
b)2份
c)1份
d)不確定
3.下列哪個程序通常與NameNode在一個節點啟動?
a)SecondaryNameNode
b)DataNode
c)TaskTracker
d)Jobtracker
4.Hadoop作者
a)MartinFowler
b)KentBeck
c)Dougcutting
5.HDFS默認BlockSize
a)32MB
b)64MB
c)128MB
6.下列哪項通常是集群的最主要瓶頸
a)CPU
b)網路
c)磁碟
d)內存
7.關於SecondaryNameNode哪項是正確的?
a)它是NameNode的熱備
b)它對內存沒有要求
c)它的目的是幫助NameNode合並編輯日誌,減少NameNode啟動時間
d)SecondaryNameNode應與NameNode部署到一個節點
多選題
8.下列哪項可以作為集群的管理工具
a)Puppet
b)Pdsh
c)ClouderaManager
d)d)Zookeeper
9.配置機架感知的下面哪項正確
a)如果一個機架出問題,不會影響數據讀寫
b)寫入數據的時候會寫到不同機架的DataNode中
c)MapRece會根據機架獲取離自己比較近的網路數據
10.Client端上傳文件的時候下列哪項正確
a)數據經過NameNode傳遞給DataNode
b)Client端將文件切分為Block,依次上傳
c)Client只上傳數據到一台DataNode,然後由NameNode負責Block復制工作
11.下列哪個是Hadoop運行的模式
a)單機版
b)偽分布式
c)分布式
12.Cloudera提供哪幾種安裝CDH的方法
a)Clouderamanager
b)Tarball
c)Yumd)Rpm
判斷題
13.Ganglia不僅可以進行監控,也可以進行告警。()
14.BlockSize是不可以修改的。()
15.Nagios不可以監控Hadoop集群,因為它不提供Hadoop支持。()
16.如果NameNode意外終止,SecondaryNameNode會接替它使集群繼續工作。() 1 2 3
9. 大數據分析面試問什麼
基本工具
包括規定動作和自選動作兩類。
1.1 規定動作
SQL查詢: ON、DISTINCT、GROUP BY、ORDER BY等等。從資料庫中提取數據是數據分析的第一步。
1.2 自選動作
根據簡歷來問,簡歷上寫什麼就問什麼,會問得比較深入。簡歷作為敲門磚,撰寫也是非常重要的,切不可寫的過於誇張和造假,奉勸各位不要作死,畢竟不作死都有可能會死。Python、Stata、R、SPSS、SAS、EViews都算比較常見的數據分析工具。
2.邏輯思維
主要分為兩方面,對業務邏輯的理解能力和行文的邏輯水平。
2.1業務邏輯
雖然一個業務看似流程簡單清晰,但產生數據的復雜程度往往超過大多數人的想像。對業務邏輯的考察主要通過相關項目經歷。
2.2行文邏輯
畢竟最終產出是一份份報告,可能是HTML郵件也能是PDF。
3.理論儲備
也分為規定動作和可選動作。
3.1 規定動作
主要是基礎的統計學理論,如方差、協方差、算數平均數、幾何平均數、中位數、眾數、分位值、雙峰數據、長尾數據、假設檢驗、期望迭代法則、貝葉斯原理等。
3.2 自選動作
根據簡歷來問,簡歷上寫什麼hr一定會問什麼。
4.對細節的敏感度
作為數據分析師,每天要關注大量數據指標。對細節的敏感度是非常必要的。這主要分為兩方面,對統計口徑的敏感度和對數據的敏感度。
4.1 統計口徑
統計口徑一致是確保數據可比性的基礎,這非常考驗數據分析師的敏感度和行業經驗。
4.2 數據
面試者對數據異常波動、離群值、平均數沒有代表意義等情況的迅速識別能力。比如已知然壽司套餐單價1,500,酒水單價300,平均客單價2,500,能不能馬上想到這可能是雙峰數據或者長尾數據,抑或既雙峰又長尾的數據?
5.學習能力
互聯網行業瞬息萬變,光數據的存儲就有Oracle、MySQL、Hadoop、Spark、Hive、Impala、谷哥哥三駕馬車等一大堆奇奇怪怪的東西。互聯網行業的從業者經常要面對新需求、新工具、新方法。能否迅速掌握新知識,解決新問題面試者必須證明給hr看。主要考察的方式是了解過往項目經歷,或者出作業題(比如Sci-Hub)。
6.排版和簡單UI設計
數據分析報告必須簡潔、清晰、重點突出。主要考察方式是出作業題讓面試者限時交一份slides(就是PPT啦)出來。
7.價值觀
主要看工作熱情、態度、道德水平等等,這方面的問題比較隨機。