【秋招必備】大數據面試題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最新版) https://www.cnblogs.com/QLCZ/p/15012984.html
16 Tomcat 【秋招必備】Tomcat面試題(2021最新版) https://www.cnblogs.com/QLCZ/p/15017627.html
17 多線程 【秋招必備】多線程面試題(2021最新版) https://www.cnblogs.com/QLCZ/p/15017638.html
18 Nginx 【秋招必備】Nginx_BIO_NIO_AIO面試題(2021最新版) https://www.cnblogs.com/QLCZ/p/15032145.html
19 memcache 【秋招必備】memcache面試題(2021最新版) https://www.cnblogs.com/QLCZ/p/15032231.html
20 java異常 【秋招必備】java異常面試題(2021最新版) https://www.cnblogs.com/QLCZ/p/15035951.html
21 Java虛擬機 【秋招必備】Java虛擬機面試題(2021最新版) https://www.cnblogs.com/QLCZ/p/15036517.html
22 Java集合 【秋招必備】Java集合面試題(2021最新版) https://www.cnblogs.com/QLCZ/p/15041523.html
23 Git常用命令 【秋招必備】Git常用命令(2021最新版) https://www.cnblogs.com/QLCZ/p/15041786.html
24 Elasticsearch 【秋招必備】Elasticsearch面試題(2021最新版) https://www.cnblogs.com/QLCZ/p/15044301.html
25 Dubbo 【秋招必備】Dubbo面試題(2021最新版) https://www.cnblogs.com/QLCZ/p/15044434.html

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、 刪除表時,只刪除表結構、不刪除數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM