1. 大數據面試要准備哪些
一、大數據面試要准備一些應試須知:
1、讓面試官記住你的名字。很多人在介紹自己名字的時候僅僅只有簡單的一句「我叫某某某」,直到你的自我介紹完畢,面試官也沒有記住你的名字,如果後續的自我介紹中沒有突出的表現,那麼這樣的自我介紹註定是失敗的。
2、告訴面試官和應聘職位相關的工作經歷。在自我介紹自己的工作經歷時,一定要注意哪些經歷是和應聘職位相關,對應聘有幫助,哪些是毫無意義的。例如應聘技術人員的職位,我們主要講從事本職工作的經歷,如果有從事其他行業的經歷,比如從事過銷售,組織,管理工作的,也可以略微提一下,往往會對應聘起到一定的幫助。
3、在面試官面前展現性格陽光的一面。性格也是面試官需要考察的一項,一般來說活潑、外向的性格始終會受到大家的親睞,所以我們在面試官面前一定要展示性格陽光的一面,即使內向,也不能表現出來。
4、簡單的介紹一下自己的未來規劃。未來規劃這一項是為了告訴面試官,我是一個有計劃、有目標、有理想的人,我參加面試是因為我對這份工作比較熱愛,而不是為了混口飯吃而應聘這項工作。很多老闆最怕找到以混日子為目的的員工。
5、注意揚長避短。揚長避短也就是說在面試時盡量選擇自己好的方面來說,只說自己的優點,避免談及自己的缺點。從人性的角度來講,人們總是對負面的新聞感興趣,因此在面試時,面試官會千方百計的發現你的缺點,你的弱項,如果我們主動將缺點暴露給對方,那麼產生的影響往往是負面的。
細節決定成敗,一個簡單的自我介紹雖然只有短短的幾分鍾,但是其內容卻包羅萬象,因此在面試時自我介紹的完美與否是舉足輕重的。
二、大數據面試要准備一些常見的面試題:
1、你會java語言嗎?熟悉到什麼程度?
2、你最喜歡的編程語言是什麼?為什麼?
3、處理過的最大的數據量?你是如何處理他們的?處理的結果如何。
2、在處理大數據過程中,如何保證得到期望值?
3、如何讓一個網路爬蟲速度更快、抽取更好的信息以及更好總結數據從而得到一干凈的資料庫?
4、點擊流數據應該是實時處理?為什麼?哪部分應該實時處理?
6、如何把非結構化的數據轉換成結構化的數據?這是否真的有必要做這樣的轉換?把數據存成平面文本文件是否比存成關系資料庫更好?
7、如何判別maprece過程有好的負載均衡?什麼是負載均衡?
8、Spark和Hive的區別,以及Spark和Hive的數據傾斜調優問題?
9、Hive和Hbase的區別?
10、MapRece的思想,以及MapRece調優問題?
11、你所了解的開源網站?
12、有兩個集群,每個集群有3個節點,使用hive分析相同的數據,sql語句完全一樣,一個集群的分析結果比另外一個慢的多,給出造成這種現象的可能原因?
13、Hbase的優化?
14、集群的版本,以及集群的瓶頸問題?
15、CRM項目,怎麼跟Spark結合?
16、如何創建一個關鍵字分類?
17、海量日誌數據,提取出某日訪問網路次數最多的那個IP?
18、Hadoop和Spark處理數據時,出現內存溢出的處理方法?
19、有一個1G大小的一個文件,裡面每一是一個詞,詞的大小不超過16位元組,內存大小限制大小1M,返回頻率最高的50個詞。
20、你是如何處理缺少數據的?你是推薦使用什麼樣的處理技術,或者說你是用什麼樣的技術處理呢?
2. 大數據面試題及答案誰能分享一下
大數據時代才剛剛開始。隨著越來越多的公司傾向於大數據運營,人才需求達到歷史最高水平。這對你意味著什麼?如果您想在任何大數據崗位上工作,它只能轉化為更好的機會。您可以選擇成為數據分析師,數據科學家,資料庫管理員,大數據工程師,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。
歡迎咨詢慧都在線客服,我們將幫您轉接大數據專家團隊,並發送相關資料給您!
以上就是大數據面試題及答案,希望我的回答對您有幫助!
3. 大數據技術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
4. 大數據開發工程師面試主要面試哪些內容
只要數據量級大(或者是數據復雜度,或者是其他方面的量級大)到普通的處理方法無法處理地實際上都可以算作是大數據開發,只不過一般大數據開發目前招聘的很多都是做數據處理的。有如下幾個方向:1)數據挖掘是大數據處理地一個方向,這里做數據挖掘要有一些統計學基礎才能做,目前數據挖掘的方向其實不是很明確,和人工智慧,機械學習也有一些關系,如果是做數據挖掘,基本的數據會由數據平台部或數據運維部門提供2)數據平台的開發(這里的平台開發在不同公司的內容又不一樣,小公司可能是根據公司業務做一套完整的數據分析系統,大公司這個職位可能是一些開源組件的二次開發)3)大數據運維方向:比如hadoop,spark集群的運維,涉及到ha等內容4)大數據分析方向:有的公司會將職責細化,招聘一些專業的分析人員,去寫hql或者是其它類sql來對數據進行分析最後,其實大數據平台相關工作的劃分並不清晰,行業里沒有統一標准,大公司小公司情況不同。關於技術方向更是用什麼的都有,比如有的公司用spark,有的用impala,還有的用clickhouse等,最近flink也逐漸進入大家的視野。所以在找工作時應該要考慮的是自己的強項是什麼,同時在選擇工作時要考慮到這個工作在做了三五年後,從這家公司出來還能不能找到工作。我個人的建議是如果你會java,那不要脫離java(scala)語言去做大數據開發,也不要專業只去做數據分析工作,大數據行業目前仍舊有一些泡沫(個人看法),很多組件仍舊是基於java的,一旦脫離java語言本身,那源碼閱讀,二次開發都會有問題,同時生產環境自動化去執行一些代碼也是需要語言支持的,或者最差的預估,如果大數據行業嚴重縮水(比如某些公司可以分析,可以挖掘的內容有限),可以隨時轉到java伺服器開發方向。
5. 大數據開發人員面試常會被問什麼問題
1、你自身的優點
這個問題不僅僅是在大數據面試當中常常被問,在各行各業的面試中都經常出現。所以面試者要盡可能說一些和工作相關的優點,比如「學習能力強」「能抗住壓力」等,再舉一個自己之前工作的例子進行證明,這會讓面試官覺得很真實。
2、為什麼要離開上家公司
其實面試官問這種問題的時候,就是在看你人品。很多人覺得說上家公司不好的話才是好的,其實不是的,離職見人品,如果你能在面試官面前說上家公司的不好,也能在下家公司說這家公司的不好。所以在面試官問及這個問題的時候,最好結合自身的發展來說。
3、未來幾年的規劃
回答這個問題的時候,不要說自己不知道、不清楚,會顯得你這個人沒有目標和方向。所以如果應聘者對這個問題不知道怎麼回答的時候,可以跟面試官交流一下現在大數據行業的職業目標以及准備做些什麼去實現這個目標,至少要讓面試官看到應聘者對選擇這個職業的熱情,甚至是對選擇這份工作的熱情。
6. 面試題-關於大數據量的分布式處理
面試題-關於大數據量的分布式處理
題目:生產系統每天會產生一個日誌文件F,數據量在5000W行的級別。文件F保存了兩列數據,一列是來源渠道,一列是來源渠道上的用戶標識。文件F用來記錄當日各渠道上的所有訪問用戶,每訪問一次,記錄一條。
請問如何快速計算出各渠道上新增的用戶?
問題分析:首先本次面試的是有關於分布式數據處理以及數據分析的職位,所以相關的面試題目可能會偏向於使用分布式的思想去解決。但無奈本人當時反應太慢,實在沒向分布式處理方向思考。
方案一:
本題最直觀的一個處理方法就是,直接拿著當日新增的5000W條訪問記錄一條一條的去匹配歷史訪問用戶。若存在歷史訪問記錄,則忽略;若不存在訪問記錄,則保存為新增記錄。很明顯,假若歷史訪問用戶有2億條記錄,則需要和2億條數據比較5000W次。比較次數可想而知。
由於本人一直在做基於資料庫的數據處理工作,很容易就想到將歷史數據保存在資料庫的一張表中,並對來源渠道和用戶標識這兩個欄位建立索引,然後遍歷日誌文件F(5000W次)。根據日誌文件F中的每一行去匹配資料庫中的歷史訪問記錄。由於歷史數據表有索引,單次查詢的速度也非常快。但是需要5000W次的資料庫查詢,很明顯效率低下。
方案二:
既然多次單一查詢無法滿足要求,於是可以先通過一種數據導入技術將當日新增數據導入到資料庫的另一張表中,並和歷史數據做左外關聯。若能關聯成功,則表示此用戶已存在;若關聯失敗,則表示此用戶不存在。
此方案暫且不說5000W條記錄的大表與2億條記錄的大表關聯效率有多高以及使用到的資料庫緩沖區的資源有多少,單就5000W條訪問記錄導入資料庫表,都是一個不小的時間花費。
方案三:
很明顯,面試時方案二的回答並未達到面試官的預期,最初被遺憾的PASS掉。一家很有潛力,自己很看好的公司,並計劃做為自己未來發展方向的職位,就這樣丟下我,揚長而去了。
這幾天又看了下分布式相關的介紹,突然想到這道題。一下子醒悟過來,其實還是因為對題目要考察的點分析得不夠透徹。當時以為只是僅僅考數據處理效率的一個題目,其實考的是一種將復雜問題拆分為簡單問題的拆分思想。了解到這一層,一種新的方式立馬在腦海中浮現出來。具體如下:
假如現在有N(N>=2)個存儲塊,並存在一個函數f(來源渠道,用戶標識),對於給定的一組(來源渠道,用戶標識),總能將其分發到一個固定的存儲塊內。那麼可以使用此函數將5000W行訪問記錄盡量均勻的分發至N個存儲塊上,並同時使用此函數將歷史訪問記錄也分發至這些存儲塊上。由於相同的一組記錄,肯定會被分配至同一個存儲塊,所以比較時,只需要分別比較各個存儲塊上當日新增記錄與歷史訪問用戶,然後將N個存儲塊上比較的結果匯總,即可得到最終結果。
假設歷史訪問用戶數據已通過函數f(來源渠道,用戶標識)被分發至了N個歷史文件H1、H2、…、HN。則詳細處理步驟如下:
1、將F中的內容使用函數f(來源渠道,用戶標識),分發至文件F1、F2、…、FN內。(可開M(M>=2)個並行,且若N-M越大,同時向同一文件寫入數據的概率越小)
2、將文件F1、F2、…、FN內的訪問記錄去重。(可開N個並行分別處理對應的N個文件)。
3、將文件Fn(1=<n<=N)去重後的結果與對應的歷史文件Hn比較得出新增用戶結果Rn。(可開N個並行分別處理對應的N個文件且當N足夠大時,實際要處理數據的量級就會相當小)。
4、合並第3步得到的結果R1、R2、…、RN即可得到當日新增用戶。(可並行)
5、為使歷史數據文件H1、H2、…、HN中的數據最全,將結果R1、R2、…、RN分別寫入對應的歷史文件中。(可並行)
本方案主要有以下優點:
1、數據的分發、處理、合並都可並行處理,明顯提高了處理效率。
2、由於每個存儲塊上的新增數據,只需要與它對應存儲塊上的歷史數據比較即可,大大減少了比較次數。(對於當日每一條記錄來說,都只需要與大約歷史的N分之一條數據去比較)
3、基本不需要考慮歷史全量數據的保存及獲取問題。
本方案缺點:
1、處理方案明顯變的復雜許多,不僅需要處理數據的分發,處理,還需要一個並行的快速收集方法。
2、可能需要多台伺服器並行處理。
本方案難點:
1、一個穩定(對於相同的一組來源渠道和用戶標識,必定會被分發至同一存儲塊)、快速(根據一條來源渠道和用戶標識數據,可以快速的計算出它將要被分發至的存儲塊)、均勻(當日新增數據及歷史數據都能盡量均勻的被分發至N個存儲塊,最理想的情況是每個存儲塊上分發到的數據都是總數據的N分之一)的分發函數至關重要。
2、如何分發、並行處理及匯總數據。
7. 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年大數據工程師面試內容,就給大家介紹到這里了,希望對大家能有所幫助,當然進入大數據行業,還需要大家在平時不斷進行技能提升,這樣才能更好的擁有一席之地。
8. 大數據面試題以及答案整理(一)
一、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的伺服器
9. 常見大數據公司面試問題有哪些
1、您對“大數據”一詞有什麼了解?
答: 大數據是與復雜和大型數據集相關的術語。關系資料庫無法處理大數據,這就是為什麼使用特殊的工具和方法對大量數據執行操作的原因。大數據使公司能夠更好地了解其業務,並幫助他們從定期收集的非結構化和原始數據中獲取有意義的信息。大數據還使公司能夠根據數據做出更好的業務決策。
2、告訴我們大數據和Hadoop之間的關系。
答: 大數據和Hadoop幾乎是同義詞。隨著大數據的興起,專門用於大數據操作的Hadoop框架也開始流行。專業人士可以使用該框架來分析大數據並幫助企業做出決策。
注意: 在大數據采訪中通常會問這個問題。 可以進一步去回答這個問題,並試圖解釋的Hadoop的主要組成部分。
3、大數據分析如何有助於增加業務收入?
答:大數據分析對於企業來說已經變得非常重要。它可以幫助企業與眾不同,並增加收入。通過預測分析,大數據分析為企業提供了定製的建議。此外,大數據分析使企業能夠根據客戶的需求和偏好推出新產品。這些因素使企業獲得更多收入,因此公司正在使用大數據分析。通過實施大數據分析,公司的收入可能會大幅增長5-20%。一些使用大數據分析來增加收入的受歡迎的公司是-沃爾瑪,LinkedIn,Facebook,Twitter,美國銀行等。
10. 大數據開發面試題有什麼
大數據開發的面試題有spark開發,hadoop應用等內容,具體開發崗,分析工程師有不同的內容,千鋒網有很多相關面試題。