【秋招必備】大資料面試題100道(2021最新版)
前言
隨著 5G 時代的到來,大資料人工智慧產業鏈又一次迎來了井噴式的爆發,隨著崗位需求的不斷增加,越來越多的人選擇大資料課程,但是沒有真正從事大資料工作的人面對企業面試有種無從下手的感覺,面對面試說不到技術的重點,每次面試只能靠隊友,靠兄弟支援,尤其是面對架構,程式設計更是無從下手。於是我決定對市場上大多的有關大資料核心的面試題做一個詳細的分析,也希望大家儘可能的做到舉一反三,而不是侷限於題目本身。
小編分享的這份Java後端開發面試總結包含了JavaOOP、Java集合容器、Java異常、併發程式設計、Java反射、Java序列化、JVM、Redis、Spring MVC、MyBatis、MySQL資料庫、訊息中介軟體MQ、Dubbo、Linux、ZooKeeper、 分散式&資料結構與演算法等26個專題技術點,都是小編在各個大廠總結出來的面試真題,已經有很多粉絲靠這份PDF拿下眾多大廠的offer,今天在這裡總結分享給到大家!【已完結】
完整版Java面試題地址:2021最新面試題合集集錦。
序號 | 專題 | 內容 | 連結 |
---|---|---|---|
1 | 中介軟體 | 【秋招必備】Java中介軟體面試題(2021最新版) | https://www.cnblogs.com/QLCZ/p/14851355.html |
2 | 微服務 | 【秋招必備】Java微服務面試題(2021最新版) | https://www.cnblogs.com/QLCZ/p/14893883.html |
3 | 併發程式設計 | 【秋招必備】Java併發程式設計面試題(2021最新版) | https://www.cnblogs.com/QLCZ/p/14893914.html |
4 | Java基礎 | 【秋招必備】Java基礎知識面試題(2021最新版) | https://www.cnblogs.com/QLCZ/p/14968925.html |
5 | Spring Boot | 【秋招必備】Spring Boot面試題(2021最新版) | https://www.cnblogs.com/QLCZ/p/14968927.html |
6 | Redis | 【秋招必備】Redis面試題(2021最新版) | https://www.cnblogs.com/QLCZ/p/14968935.html |
7 | Spring MVC | 【秋招必備】Spring MVC面試題(2021最新版) | https://www.cnblogs.com/QLCZ/p/14977235.html |
8 | Spring Cloud | 【秋招必備】Spring Cloud面試題(2021最新版) | https://www.cnblogs.com/QLCZ/p/14977264.html |
9 | MySQL優化 | 【秋招必備】MySQL優化面試題(2021最新版) | https://www.cnblogs.com/QLCZ/p/14977264.html |
10 | JVM | 【秋招必備】JVM效能調優面試題(2021最新版) | https://www.cnblogs.com/QLCZ/p/14981629.html |
11 | Linux | 【秋招必備】Linux面試題(2021最新版) | https://www.cnblogs.com/QLCZ/p/15004102.html |
12 | Mybatis | 【秋招必備】Mybatis面試題(2021最新版) | https://www.cnblogs.com/QLCZ/p/15004110.html |
13 | 網路程式設計 | 【秋招必備】TCP,UDP,Socket,Http網路程式設計面試題(2021最新版) | https://www.cnblogs.com/QLCZ/p/15012942.html |
14 | 設計模式 | 【秋招必備】設計模式面試題(2021最新版) | https://www.cnblogs.com/QLCZ/p/15012953.html |
15 | 大資料 | 【秋招必備】大資料面試題100道(2021最新版) | 待更新 |
16 | Tomcat | 【秋招必備】Tomcat面試題(2021最新版) | 待更新 |
17 | 多執行緒 | 【秋招必備】多執行緒面試題(2021最新版) | 待更新 |
18 | Nginx | 【秋招必備】Nginx_BIO_NIO_AIO面試題(2021最新版) | 待更新 |
19 | memcache | 【秋招必備】memcache面試題(2021最新版) | 待更新 |
20 | java異常 | 【秋招必備】java異常面試題(2021最新版) | 待更新 |
21 | Java虛擬機器 | 【秋招必備】Java虛擬機器面試題(2021最新版) | 待更新 |
22 | Java集合 | 【秋招必備】Java集合面試題(2021最新版) | 待更新 |
23 | Git常用命令 | 【秋招必備】Git常用命令(2021最新版) | 待更新 |
24 | Elasticsearch | 【秋招必備】Elasticsearch面試題(2021最新版) | 待更新 |
25 | Dubbo | 【秋招必備】Dubbo面試題(2021最新版) | 待更新 |
1、選擇題
1.1.下面哪個程式負責 HDFS 資料儲存。
- a)NameNode
- b)Jobtracker
- c)Datanode
- d)secondaryNameNode
- e)tasktracker
答案 C datanode
1.2.HDfS 中的 block 預設儲存幾份?
- a)3 份
- b)2 份
- c)1 份
- d)不確定
答案 A 預設 3 份
1.3.下列哪個程式通常與 NameNode 在一個節點啟動?
- a)SecondaryNameNode
- b)DataNode
- c)TaskTracker
- d)Jobtracker
答案 D
1.4.HDFS 預設 Block Size
a)32MB
b)64MB
c)128MB
答案:B
1.5.下列哪項通常是叢集的最主要瓶頸
- a)CPU
- b)網路
- c)磁碟 IO
- d)記憶體
答案:C 磁碟
1.6.關於 SecondaryNameNode 哪項是正確的?
- a)它是 NameNode 的熱備
- b)它對記憶體沒有要求
- c)它的目的是幫助 NameNode 合併編輯日誌,減少 NameNode 啟動時間
- d)SecondaryNameNode 應與 NameNode 部署到一個節點
答案 C。
1.7.下列哪項可以作為叢集的管理?
- a)Puppet
- b)Pdsh
- c)Cloudera Manager
- d)Zookeeper
答案 ABD
1.8.Client 端上傳檔案的時候下列哪項正確
- a)資料經過 NameNode 傳遞給 DataNode
- b)Client 端將檔案切分為 Block,依次上傳
- c)Client 只上傳資料到一臺 DataNode,然後由 NameNode 負責 Block 複製工作
答案 B
分析:Client 向 NameNode 發起檔案寫入的請求。NameNode 根據檔案大小和檔案塊配置情況,返回給 Client 它所管理部分 DataNode 的資訊。Client 將檔案劃分為多個 Block,根據 DataNode 的地址資訊,按順序寫入到每一個 DataNode 塊中。具體檢視 HDFS 體系結構簡介及優缺點。
1.9.下列哪個是 Hadoop 執行的模式
- a)單機版
- b)偽分散式
- c)分散式
答案 ABC 單機版,偽分散式只是學習用的。
2、面試題
2.1. Hadoop 的核心配置是什麼?
Hadoop 的核心配置通過兩個 xml 檔案來完成:1,hadoop-default.xml;2,hadoop-site.xml。這些檔案都使用 xml 格式,因此每個 xml 中都有一些屬性,包括名稱和值,但是當下這些檔案都已不復存在。
2.2.那當下又該如何配置?
Hadoop 現在擁有 3 個配置檔案:1,core-site.xml;2,hdfs-site.xml;3,mapred-site.xml。這些檔案都儲存在 conf/子目錄下。
2.3.“jps”命令的用處?
這個命令可以檢查 Namenode、Datanode、Task Tracker、 Job Tracker 是否正常工作。
2.4.mapreduce 的原理?
2.5. HDFS 儲存的機制?
流程:
1、 client 連結 namenode 存資料
2、 namenode 記錄一條資料位置資訊(元資料),告訴 client 存哪。
3、 client 用 hdfs 的 api 將資料塊(預設是 64M)儲存到 datanode 上。
4、 datanode 將資料水平備份。並且備份完將反饋 client。
5、 client 通知 namenode 儲存塊完畢。
6、 namenode 將元資料同步到記憶體中。
7、 另一塊迴圈上面的過程。
流程:
1、 client 連結 namenode,檢視元資料,找到資料的儲存位置。
2、 client 通過 hdfs 的 api 併發讀取資料。
3、 關閉連線。
2.6.舉一個簡單的例子說明 mapreduce 是怎麼來執行的 ?
wordcount 的例子
2.7.用 mapreduce 來實現下面需求?
現在有 10 個資料夾,每個資料夾都有 1000000 個 url.現在讓你找出 top1000000url。
解答:topk
(還可以用 treeMap, 到 1000000 了每來一個都加進去, 刪掉最小的)
2.8.hadoop 中 Combiner 的作用?
combiner 是 reduce 的實現,在 map 端執行計算任務,減少 map 端的輸出資料。
作用就是優化。
但是 combiner 的使用場景是 mapreduce 的 map 和 reduce 輸入輸出一樣。
2.9.簡述 hadoop 安裝
2.10. 請列出 hadoop 程序名
2.11. 解決下面的錯誤
2.12. 寫出下面的命令
2.13. 簡述 hadoop 的排程器
2.14. 列出你開發 mapreduce 的語言
2.15. 書寫程式
2.16. 不同語言的優缺點
2.17. hive 有哪些儲存元資料的方式,個有什麼特點。
2.18. combiner 和 partition 的作用
2.19. hive 內部表和外部表的區別
- 內部表:載入資料到 hive 所在的 hdfs 目錄,刪除時,元資料和資料檔案都刪除
- 外部表:不載入資料到 hive 所在的 hdfs 目錄,刪除時,只刪除表結構
2.20. hbase 的 rowkey 怎麼建立好?列族怎麼建立比較 好?
- hbase 儲存時,資料按照 Row key 的字典序(byte order)排序儲存。設計 key 時,要充分排序
- 儲存這個特性,將經常一起讀取的行儲存放到一起。(位置相關性)一個列族在資料底層是一個檔案,所以將經常一起查詢的列放到一個列族中,列族儘量少, 減少檔案的定址時間。
2.21. 用 mapreduce 怎麼處理資料傾斜問題?
2.22. hadoop 框架中怎麼來優化
2.23. 我們開發 job 時,是否可以去掉 reduce 階段。
可以。設定 reduce 數為 0 即可
2.24. datanode 在什麼情況下不會備份
datanode 在強制關閉或者非正常斷電不會備份
2.25. combiner 出現在那個過程
出現在 map 階段的 map 方法後。
2.26. hdfs 的體系結構
- hdfs 有 namenode、secondraynamenode、datanode 組成。
- 為 n+1 模式
- namenode 負責管理 datanode 和記錄元資料
- secondraynamenode 負責合併日誌
- datanode 負責儲存資料
2.27. 3 個 datanode 中有一個 datanode 出現錯誤會怎樣?
這個 datanode 的資料會在其他的 datanode 上重新做備份。
2.28. 描述一下 hadoop 中,有哪些地方使用了快取機制, 作用分別是什麼?
在 mapreduce 提交 job 的獲取 id 之後,會將所有檔案儲存到分散式快取上,這樣檔案可以被所有的 mapreduce 共享。
2.29. 如何確定 hadoop 叢集的健康狀態
通過頁面監控,指令碼監控。
2.30. 生產環境中為什麼建議使用外部表?
1、因為外部表不會載入資料到 hive,減少資料傳輸、資料還能共享。
2、hive 不會修改資料,所以無需擔心資料的損壞
3、 刪除表時,只刪除表結構、不刪除資料。