第一份面试题:
1、自我介绍
2、画出你们的大数据架构,然后针对架构提问,如何做到精准一次、小文件规避等
https://blog.csdn.net/zhikanjiani/article/details/89284488
参考第一个mapreduce离线处理项目,为什么你们选择mapreduce或者spark;
不要把东西落到具体的业务上去,应该提升到通用的流程上去,是处理日志的还是处理数据库系统的;
至于数据到hdfs使用什么格式,该使用何种压缩???
为什么要选择压缩,压缩带来的好处,压缩带来的弊端;
小文件规避:为什么会产生小文件???
考察点:hadoop的元数据存储,读写流程,NameNode和Yarn
1)Hive中使用了insert
引申的问题:为什么Hadoop不怕数据量大,而怕你的数据小,说清楚hadoop的元数据存储形式;小文件过多NameNode会扛不住
Q:hdfs中的路径占不占元数据的内存,如果要占,占据多少内存???
A:不同的版本还不一样
小文件对于集群产生的问题???
3、画出YARN的工作流程??MapReduce在YARN上的执行流程、STORM在YARN上的执行流程,都是按照YARN的标准来走的,流程都是一样的。
4、你们使用的spark的运行模式??? spark --master(运行模式)
问题:local[2] local local[*] 的区别??
Spark on YARN的工作流程???
client和cluster的区别??
5、YARN的调度有几种???用的是哪种???
然后给一个案例如果申请的资源,在yarn队列里资源不够,怎么处理。
6、Spark用的版本?Spark内存管理,画出来,然后给一个案例,excutor要申请300内存的过程??
如果是老手,要说是1.6版本,证明做过一段时间大数据
如果是新手,写2.1.0版本;PK上课穿插1.6版本
PK哥公司最近的版本是2.1版本
群友问题:CM一键安装Hadoop,Hadoop一键安装hadoop2.6.0-cdh5.7.0
建议Spark使用社区版本;Spark大部分场景是提交yarn上执行的。
建议在调度机上部署我们需要的Spark版本(仅仅是一个客户端而已)
此时我们的Spark是外挂的,怎么监控Spark????
最简单的方式:打开yarn的8088界面上看;不是在4040上(提交1000个作业呢,4040端口递增)
Impala才是cdh公司的亲儿子
7、shuffle管理的几种方式?有什么区别?你们的spark版本使用的是哪一种??
8、你们HDFS高可用采用的是哪种??NN落盘的两个文件叫什么??主备NN实现高可用的流程??
9、HDFS NN内存管理 ==> 关联到小文件管理
10、现场生产上一个案例:HDFS Block块丢失怎么办??? 解决方式?
11、查看hdfs上一个目录下文件数和空间大小的命令??
hdfs dfs -du -s -h
12、Scala中Left和Right的区别??
对于一个集合:val l = List(1,2,3,4,5,6,7,8,9)
reduceLeft(-)
reduceLeft(+)
reduceRight(-)
reduceRight(+)
13、Java多线程用到的锁有哪些???
公平锁、非公平锁、自旋锁
乐观锁、悲观锁
1、说说你对hadoop的认识:
1)广义、狭义的Hadoop
2)Hadoop的架构
3)Hadoop HA
4) yarn HA
5) 小文件的产生,小文件的处理
2、Hadoop1.X到Hadoop2.X的区别??
区别:Hadoop1中没有yarn这个概念,jobtracker、tasktracker都是单点的;单点的东西生产不能用的,一有故障,生产全部瘫痪;2.0引入了yarn,来负责资源管理,mapreduce可以跑yarn;spark可以跑yarn
3、Hadoop生产上用什么文件格式和压缩?为什么
4、reduceByKey和groupByKey的区别??
5、宽窄依赖
6、如何保证yarn的高可用性,yarn在挂掉后,未执行的作用怎么办??
7、小文件合并的方案???
一个命令进行归档。。
1、简单说下hdfs的读文件和写文件的流程??
2、每天的数据量有多大??生产集群的规模有多大???
没做过的话说公司一天2 300G的数据,一共 2 3条业务线,多少数据量对应多少台机器。
大数据实战 6 7次课,可以自己进行计算。。
考虑到数据的增量,副本数,一台机器多大
3、说几个spark开发中遇到的问题、解决的方案
4、阐述下最近开发的项目,以及担任的角色位置?
大数据实战第二课,是自建的还是商业的?
自建的开发、运营;商业的阿里云平台
5、项目中数据倾斜的场景和解决方案
1、Hive中那些操作会触发MR,那些操作不能触发MR
简单的select不会走MR;聚合一定会触发
2、Hive触发MR转换过程
3、如何处理数据倾斜?
4、RDD中五大特性是哪几大特性??
5句话分别对应源码中那几句话
5、介绍Spark中的隐式转换与使用??
链家大数据面试题:
1、封装继承多台思想
2、shell命令(查询一个文件有多少行 wc -l ) chown修改文件权限
3、Spring aoc iop原理
4、JVM运行时数据区域???
问题:到底是传值还是传引用,方法区,本地方法栈
5、单例、工厂模式有什么
6、MapReduce计算流程
源码去读:RecordReader.java
首先有个文件split,有开始和结束,拿到url,拿到codec,能否支持分片,开始位置、结束位置
ORC Parquet需要有Hadoop底层支持
由于它是个接口,需要由子类来实现,
Mapper有没有实现类,处理完直接写到环形缓冲区,满了后刷新磁盘,。。。写到hdfs上
使用自己的语言来完成。。
Hive内部表和外部表
半毛钱关系都没,只是语法长得像
1、阐述HDFS生成文件的过程
应该指的是hadoop写文件的过程
2、Hadoop有哪些优化调优点
mapreduce
3、阐述Hive分区的理解?Hive分桶?
4、你们公司生产集群规模?
5、懂不懂CDH?
1、Hive与hdfs的关系?
2、iNode和文件描述符
3、linux如何创建文件??
4、JVM垃圾回收
5、hive与关系型数据库区别
6、hive的实现原理
7、spark与mr的区别??
Spark对于OOM从什么角度下手调整??
知道除了spark之外的哪些大数据处理框架?
StringBuilder和StringBuffer的区别?
HashMap和HashTable的区别
1、小文件合并:归档
2、关注哪些名人的博客:至少说出5个
3、对大数据领域有什么自己的见解??
4、JVM的内存模型??JVM的垃圾收集器
hadoop3.0做了哪些改进??
经典的题目:
1TB文件,取重复的词,top5指定的资源场景下,如何快速统计出来???
网易大数据面试题:
Scala中map和foreach的区别?
Spark中map和foreach的区别?
补充???
SQL语句是如何转成Map Reduce运行的
https://www.cnblogs.com/Dhouse/p/7132476.html
join/group by:都是按照他们的条件进行shuffle,再利用mr的shuffle机制,相同的key分发到一个reduce上去,进行分发操作。
explain:
1)把SQL解析成抽象语法树
2)遍历AST Tree,抽象出查询的基本组成单元
3)遍历QueryBlock,翻译为执行操作树
4)逻辑层优化器进行operatorTree操作
大数据中shuffle是性能杀手。
木桶原理:
使用Hive/MapReduce/Spark进行离线处理时的注意事项
1)input
格式问题
2)temp
中间过程:计算要快
3) output
格式问题
比如etl过后有一张大宽表;
直接查询性能较低;
去创建临时表;SQL1 、SQL2 ==> TEMP12 合理利用中间结果集
语法层面:set xxx = yyy;
reduce的个数怎么设置 ==》 这个决定我们的输出文件个数
reduce多 ==》 导致小文件多
reduce小 ==》 导致跑的慢
权衡