2021超全大数据面试宝典,吐血总结十万字,大数据面试收藏这一篇就够了
Posted 五分钟学大数据
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021超全大数据面试宝典,吐血总结十万字,大数据面试收藏这一篇就够了相关的知识,希望对你有一定的参考价值。
本文最新版已发布至公众号【五分钟学大数据】
获取此套面试题最新pdf版,请搜索公众号【五分钟学大数据】,对话框发送 面试宝典
扫码获取最新PDF版:
版本 | 时间 | 描述 |
V1.0 | 2020-02-18 | 创建 |
V1.2 | 2020-06-17 | 新增 spark 、flink相关面试题 |
V1.3 | 2021-03-18 | 新增 java、JVM、mysql、JUC等 |
持续更新中…
本文档更新只发于公众号:五分钟学大数据
本套面试题堪称史上最全,既有面试技巧,面试流程,还有技术总结,面试真题,包含算法,Java,Mysql,大数据框架,大数据项目等(持续更新中… 最新版请扫描下方二维码关注公众号:五分钟学大数据,回复【面试宝典】获取)。
第一版是按照大数据技术进行划分(另一版,可在公众号【五分钟学大数据】后台发送 面试 获取),第二版是综合版 (此版)。
扫码关注公众号,获取最新PDF版:(对话框发送 面试宝典) |
目 录
2.2.4 CTO/技术架构师等面试(如果过了技术经理面试). 4
2.7.3 自我介绍(控制在4分半以内,不超过5分钟). 8
5.2.2 Hadoop配置文件以及简单的Hadoop集群搭建. 25
5.2.4 MapReduce的Shuffle过程及Hadoop优化(包括:压缩、小文件、集群优化). 26
5.2.6 Yarn的默认调度器、调度器分类、以及他们之间的区别. 29
5.4.1 Flume组成,Put事务,Take事务. 34
5.4.5 Flume采集数据会丢失吗?(防止数据丢失的机制). 36
5.5.14 Kafka消息数据积压,Kafka消费能力不足怎么处理?. 40
5.7.6 hbase-default.xml中相关参数. 53
5.8.1 Sqoop导入导出Null存储一致性问题. 54
5.8.4 Sqoop数据导出的时候一次执行多长时间. 55
5.9.7 Some、None、Option的正确使用. 57
5.10.1 Spark有几种部署方式?请分别简要论述. 57
5.10.2 Spark任务使用什么进行提交,javaEE界面还是脚本. 58
5.10.4 简述Spark的架构与作业提交流程(画图讲解,注明各个部分的作用)(重点). 59
5.10.5 如何理解Spark中的血统概念(RDD)(笔试重点). 59
5.10.6 简述Spark的宽窄依赖,以及Spark如何划分stage,每个stage又根据什么决定task个数? (笔试重点). 59
5.10.7 请列举Spark的transformation算子(不少于8个),并简述功能(重点). 59
5.10.8 请列举Spark的action算子(不少于6个),并简述功能(重点). 60
5.10.9 请列举会引起Shuffle过程的Spark算子,并简述功能。. 61
5.10.11 Spark常用算子reduceByKey与groupByKey的区别,哪一种更具优势?(重点). 62
5.10.12 Repartition和Coalesce关系与区别. 63
5.10.13 分别简述Spark中的缓存机制(cache和persist)与checkpoint机制,并指出两者的区别与联系. 63
5.10.14 简述Spark中共享变量(广播变量和累加器)的基本原理与用途。(重点). 63
5.10.15 当Spark涉及到数据库的操作时,如何减少Spark运行中的数据库连接数?. 64
5.10.16 简述SparkSQL中RDD、DataFrame、DataSet三者的区别与联系? (笔试重点). 64
5.10.17 SparkSQL中join操作与left join操作的区别?. 65
5.10.18 SparkStreaming有哪几种方式消费Kafka中的数据,它们之间的区别是什么? (重点). 65
5.10.19 简述SparkStreaming窗口函数的原理(重点). 66
5.10.20 请手写出wordcount的Spark代码实现(Scala)(手写代码重点). 67
5.10.21 如何使用Spark实现topN的获取(描述思路或使用伪代码)(重点). 67
5.10.22 京东:调优之前与调优之后性能的详细对比(例如调整map个数,map个数之前多少、之后多少,有什么提升). 67
5.11.2 Flink相比Spark Streaming有什么区别?. 68
5.11.4 Flink的并行度有了解吗?Flink中设置并行度需要注意什么?. 76
5.11.5 Flink支持哪几种重启策略?分别如何配置?. 76
5.11.6 Flink的分布式缓存有什么作用?如何使用?. 76
5.11.7 Flink中的广播变量,使用广播变量需要注意什么事项?. 77
5.11.8 Flink中对窗口的支持包括哪几种?说说他们的使用场景. 77
5.11.9 Flink 中的 State Backends是什么?有什么作用?分成哪几类?说说他们各自的优缺点?. 78
5.11.10 Flink中的时间种类有哪些?各自介绍一下?. 79
5.11.11 WaterMark是什么?是用来解决什么问题?如何生成水印?水印的原理是什么?. 79
5.11.12 Flink的table和SQL熟悉吗?Table API和SQL中TableEnvironment这个类有什么作用. 79
5.11.14 Flink是如何做到批处理与流处理统一的?. 80
5.11.15 Flink中的数据传输模式是怎么样的?. 81
5.11.17 Flink在使用Window时出现数据倾斜,你有什么解决办法?. 82
5.11.18 Flink任务,delay极高,请问你有什么调优策略?. 82
7.5 Kafka消息数据积压,Kafka消费能力不足怎么处理?. 92
8.2.4 分析过哪些指标(一分钟至少说出30个指标). 99
8.2.6 数据仓库每天跑多少张表,大概什么时候运行,运行多久?. 103
8.2.8 数仓中用到过哪些Shell脚本及具体功能. 104
8.2.13 项目在3年内迭代次数,每一个项目具体是如何迭代的。. 105
9.5 String buffer和String build区别. 110
9.6 Final、Finally、Finalize 110
10.1 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级. 111
12.1 JVM内存分哪几个区,每个区的作用是什么? 128
12.4 如何判断一个对象是否存活?(或者GC对象的判定方法) 131
12.6 简述Java内存分配与回收策略以及Minor GC和Major GC(full GC) 132
13.1 Synchronized与Lock的区别. 132
13.2 Runnable和Callable的区别. 133
1.1.1
简历编写可在公众号【五分钟学大数据】后台发送:简历,获取大数据简历的模板,包含各个行业及各个项目,非常全。可直接扫码:
如能内推,尽量走内推路线,可免简历筛选,如果找不到内推路径,可在牛客网上搜内推码,上面有很多公司的员工发内推码。
招聘软件推荐 Boss直聘,这个软件还是很靠谱的,其他的智联招聘,拉勾,前程无忧,猎聘也不错。
- 一般需要多轮面试
- 不想去的公司先去面试,积累面试经验,想去的公司约到最后
- 合理安排面试时间,给自己尽可能的留一些复习的时间
- 人事面试,了解基本情况--笔试/填表
- 一面:技术经理面试(面试官一般是入职之后你的直接上级,此面很重要)
- 二面:技术老大面试
- 三面:架构师/大Boss面试
- .....
- 不要立马入职
- 试题量:一般两页纸,多的有3页纸
- 考题类型:选择和简答,简答居多
选择题:基础知识类型的选择题(编程语言,数据库,操作系统,大数据要点知识,网络,计算机组成原理等)
简答题:
-
- 知识点的详细解释类,比如,MapReduce的Shuffle详细过程
- 对比之类,Hive内部表和外部表的区别,MapReduce和Spark的异同?
编程题:算法题(考察逻辑思维,考察解答问题的方式方法等)
数据库类型的SQL编写题目(MySQL或者Hive)这是必出题,也是分必拿题。否则就全盘覆没了。
SQL题:必有(Hive和MySQL)
场景题:
给你假定一种场景,让你给出解决方案,面试问的最多的也是这种
遇到了问题(集群节点宕机,任务运行出错,数据丢失等),该如何解决?
简单脚本题:
写出一个简单的数据处理脚本,或者运维脚本(会的就自己写,不会的就百度搜,或者求救于小伙伴)
聊基本情况,聊工作经历,聊人生价值观,聊对工作的态度,聊方方面面,就是不聊技术
请事先准备好针对你个人基本情况的面试题
1、比如你原来在上海,为何10月份来北京找工作?
2、比如工作经历中,有4个月是不上班的,怎么解释?
.....
也就是做题
当然技术面试过程中,也有可能会出现手写代码的问题
经典手写代码:
- 快速排序和归并排序,冒泡排序(优先级由高到低)
- 一个设计模式的实现:比如单例,比如代理,比如装饰器
- 多线程相关,比如两个线程交替执行
- java,mapreduce,scala,spark的wordcount
- 画出你的项目的架构图 或者 数据处理流程架构图
基本只聊技术。
基本套路:
- 先自我介绍
- 然后介绍项目
- 从项目入手
- 先聊业务
- 再切入到技术点
- 问如何实现、项目结构、数据处理流程
- 问遇到过什么难题,怎么解决的,怎么发现的和怎么避免
- 问相类似的场景,如何做技术选型
- 问相类似的突发情况,应该怎么决策快速解决问题
考察广度的同时,也会考察深度
通俗的说,也就是会在不同的方向,不同的领域问各种问题,然后针对你能回答的问题,就深入探讨,以此得知你对这门技术的掌握程度
所以:
考察广度,就是看你的技术领域分布
考察深度,就是看你你对这个技术掌握程度如何
总体来说:
- 聊业务
- 聊技术
- 聊问题
- 聊解决方案
- ....
-
- CTO/技术架构师等面试(如果过了技术经理面试)
-
到了这种级别的面试,一般考察技术的就少了。
更多的是考察发展,眼光更长远的,考察你的职业生涯规划,考察你的价值观,考察你是否符合公司的长期发展战略
能了解公司更多信息,就切合公司实际去描述
如果不了解公司的,那就尽量按照通用套路说
少数场景会有的。但是不要慌。按照自己的本事来。
有些是现场的,这种很少。有些是给出需求之后让你回来之后自己做。
编程语言方向
java是重点(重中之重),其次:scala、python
java中的重点考察方向:
集合(优缺点,底层实现,更好的替代方案,如何根据场景选择和使用)
并发(锁,JMM,各种关键字(volite),技术点,线程池,......)
面向对象
数据库方向
mysql是重点,其次是hbase,redis
sql语句的编写和优化就不说了,没有不考查的
Hadoop体系/Spark体系
架构原理
工作机制
典型的常见流程
某个功能的详细分析
问题和运维难点
集群规模/集群规划
任务多少
任务运行总时长
每天数据量
总数据量
多少条记录
每条记录多大
每条记录多少个字段
hive的总表数等等
其他知识:
ElasticSearch
Flink
机器学习
架构
优化
源码
数据结构
算法
追根究底的问各种你答的上来的东西的底层实现细节,直到你答不上来为止,或者到他满意为止
关于HashMap的问题:
- 什么是HashMap,能否自己实现一个?
- 什么时候使用HashMap,有没有替代品?有没有什么好的hasmap使用经验?
- HashMap和HashTable的区别?优缺点?如何选择在那种场景使用?有没有更好的map实现类?
- 你知道HashMap的内部数据结构么?/ put和get操作的原理么?
- HashMap的初始长度和扩容策略是怎样的?(什么时候触发扩容,扩大到多少,扩容的时候要考虑什么问题?)
- HashMap初始化传入的容量参数的值就是HashMap实际分配的空间么?
- HashMap解决hash冲突的策略是什么?
- HashMap能同步/线程安全么?怎么做?
- 了解HashMap的条件竞争么? 以上是关于2021超全大数据面试宝典,吐血总结十万字,大数据面试收藏这一篇就够了的主要内容,如果未能解决你的问题,请参考以下文章
如何在二三线城市月薪过万5年面试的经验,万字吐血总结2021年java面试题
如何在二三线城市月薪过万5年面试的经验,万字吐血总结2021年java面试题
大数据Flink面试考题___Flink高频考点,万字超全整理(建议收藏)