大数据面试复习常问问题分析.docx
《大数据面试复习常问问题分析.docx》由会员分享,可在线阅读,更多相关《大数据面试复习常问问题分析.docx(23页珍藏版)》请在冰豆网上搜索。
![大数据面试复习常问问题分析.docx](https://file1.bdocx.com/fileroot1/2023-1/6/9b3384cd-fc1f-476d-bd94-19822fb8b732/9b3384cd-fc1f-476d-bd94-19822fb8b7321.gif)
大数据面试复习常问问题分析
关于Java的面试题:
关于虚拟机的面试题:
1.hashmap底层?
2.Java进程中断怎么处理?
3.介绍下面向对象?
4.介绍下多态?
5.方法重载和重写?
6.这俩哪个属于多态?
7.说下多线程?
8.实现方式有哪些,区别?
9.同步锁互斥,为什么常量不能做锁?
10.说下反射,都是做什么的?
11.反射机制怎么实现的?
12.linkedlist和arraylist的区别?
13.hashMap的存储机制和存取过程?
14.java的多线程?
15.java的流处理?
16.socket编程?
17.hibernate的原理,干啥的?
18.服务器之间如何通信?
19.定时器如何写?
20. Hashmaphashsettreemap区别
21.什么是hashMap?
22. 常用标签html?
23.Spring 控制反转依赖注入 ,AOP及其用途?
24.java中怎么解决多线程问题有几种方式,他们之间的不同?
25.Hashtalehashmapcurrenthashtable区别?
26.Jvm机制以及OOM发生的情况简述一下?
27.Java数组反转实现?
28.Java 序列化SqenceFile并说明你的序列化方式和适用场景?
29.Hashmap怎么实现,与tremap的区别?
30.Java中问到常问的newString()问题到底是创建几个对象,StringBuffer和StringBuilder区别?
31.java反射比较多怎么优化处理?
32.java集合set list map 原理区别 如何选择?
33.jvm调优?
34.线程同步?
35.web service生命周期?
36.对spring的理解?
37.java7新特性?
38.java实现上述功能,在TB级别数据情况下,实现方案?
39.java实现取出两个文件中共有的数据?
40.做一个排序(java伪代码)?
41.常用的jqury框架,比如jqury的表单校验框架?
42.单例?
43.LinkdList和ArrayList的区别?
44.http传输的时候是明文的,怎么解决安全问题?
45.垃圾回收机制?
46.java内存模型?
47.java内存模型?
48.java垃圾回收机制?
49.object中有哪些方法?
50.ArrayList中Array的长度超了是怎么增加的,一次增加多少?
51.java多线程?
52.java中的集合?
53.垃圾回收机制?
54.java中的排序算法?
55.会不会SSH框架?
56.线程池怎么实现?
57.Java内存错误中的一个错误,问我如何解决。
?
58.Callable和Runable的区别?
59.在线项目的bug如何调试?
60.进程和线程的区别,线程如何配置?
?
关于设计模式的面试题:
1. 设计模式?
2.说说常用的设计模式,我说了个单例,他好像觉得太简单了,我又说了个策略模式?
关于数据结构和算法的面试题:
1.再一次提起数据结构和算法
2.算法和数据结构--要求,是基本的?
3.一个数组,如a=[1,2,3,4,1,2],把元素出现两次的保留,最后得到a=[1,2];最后要写几个测试case。
这个问题我先用一个循环,map统计次数,让后再循环。
当出现两次的元素,踢掉。
一个字符串,如何查询是否含有某一个子字符串,如果有返回索引,不能用api的函数
4.PageRank怎么实现?
5.算法中O(n)一定比O(lg(n))性能差吗?
为什么?
有那些因素需要考虑?
算法中O(n)一定比O(lg(n))性能差吗?
为什么?
有那些因素需要考虑
6.出了个题让我现场搞一下,一个文件里有两个字段分别是IP和time,ip可以通过写好的函数转换成省份,让我实时统计每一分钟的PV,UV,注意PV,UV是累加的,不是一分钟的数据,可以根据省份去查询PV,UV。
7.对一个字符串进行全排列?
8.用户文件2个属性10万行,课程文件2个属性2万行,日志文件1个属性很大,这些属性可以任意的组合查询,每秒的请求数是10000个,请如何最快的方式查询出数据?
?
9.给你2个字符串,字符串最后一个字符可以循环到最前面,只要一个字符串中每一个字符在另一个字符串都有就是相等的,请用你的方法比较是否相等?
10.一个100G文件,里面每一个行都是一个ip,怎么写单机程序找出出现次数最多的前100个IP?
11.写个二分查找?
12.写程序找出两个字符串中出现的共同字母?
13.快速排序?
关于HDFS的面试题:
------ok
1.hodoop写文件流程?
2.hdfs了解多少?
读写流程,架构?
3.写流程中备份三,其中一个写失败了怎么弄的?
4.hdfsHA(过程,启动流程)?
5.hadoop的优化?
6.hadoop1和hadoop2的区别?
7.hadoop有哪些组件?
8.hadoop数据倾斜问题?
9.HDFS存储的什么类型?
10.Hadoop1.x和2.x的差别?
11.说说你hadoop中都每个配置文件都配置了什么吧?
12.Hadoop集群的优化?
13.hdfs的实现?
14.hdfs文件创建--工作流程?
15.hdfs异步读?
-------------参考博客:
16.hdfsapi源码解答:
文件创建工作流程?
17.hdfs api新特性?
---------不知道
18.hadoop中一个job提交到resourcemanager之后,resourcemanager会生成一个什么样的容器来放这个job?
19.hadoop集群中的某个block不能copy数据到其他节点,怎么办?
如果并发量大了,
有多个block不能copy数据,怎么办?
-------不知道
20.Zookeeper怎么实现Hadoop的高可用?
--------不熟悉
21.Hadoop体系?
22.MR的过程?
关于MapReduce的面试题:
----(ok)
1.mapreduce的原理和架构?
2.hadoop的全排序和局部排序和二次排序?
----需要注意
3.Mapreduce过程?
4.Mapreduce优化?
5.通过mapreduce实现两个表的join?
6.MR的原理拿wordcount来讲,以及优化(全面些)?
7.Mr中啥时只有map,啥时要有map和reduce?
8.给一个案例 用mapreduce去实现,,这个实现过程,会遇到什么问题,怎么解决?
9.mr数据倾斜解决办法?
10.mapreduce的pagerank实现?
11. mapreduce merge?
12,用代码写出你使用过的mapreduce?
13.MapReduce流程基本原理?
14.MapReduce过程的数据倾斜怎么解决?
15.MapReduce过程,Zookeeper实现高可用的原理?
----不是很清楚
关于yarn的面试题:
-----ok
1.介绍下yarn?
2.yarn有哪些组件,调度算法?
3.说说yarn工作流程?
4.yarn优缺点?
关于linuxShell的面试题:
1.shell熟不熟?
文件查找用什么命令?
文件内容过滤用什么?
grep命名用过没?
2.shell脚本的编写现场笔试 二个文件 加入都是keyvalue相同key的value求和?
3.awk的编写?
4.shell脚本?
sort,uniq-u,uniq-t,uniq-d,cat组合使用,解决从不同文件中找出相同数据的问题,还有解决只在一个文件中出现的数据的问题
5.linux文件中查找字符串的命令。
还有替换字符串的命令。
还有awk命令?
6.比iptables更深入的权限控制的啥。
。
。
(说了个我也没记住)?
7.linux里一个文件,怎么替换某个单词的内容,一个文件有几行数据,怎么直接查看第二行数据
8.请使用awk,sed命令对文本文件中第二列和第三列取出来?
9.阿里巴巴的电话面试问到了linux的详细启动过程?
1.按下电源
2.BIOS自检
3.系统引导(lilo/grub)
4.启动内核
5.初始化系统
10.在linux环境下怎么查看一台机器的配置情况,比如磁盘,内存等
11. Shell编程获取时间,crontab五个星号代表什么?
Sed和Awk程序的编写?
12.Shell获取某行第几个字符怎么做?
13.让我写shell脚本求一个文件中的平均值?
关于hive的面试题:
sql语句要清楚
1:
hive的优化?
2.写hive建表语句?
3.简单说下hive?
4.底层实现?
5.hive的表类型?
6.hive创建表的几种方式?
7.udf和udaf都写过哪些?
8.介绍下udaf?
自己写过吗?
9.hive用哪个版本?
10.hive窗口函数?
11.写sql:
1月100,2月200,3月100,4月200.统计如下效果:
1月100,2月300,3月500,4月600.【就是每月统计一次前面所有的月的总额】加个over,就可以orderby与partitionby类似?
12.hive2.0llliptz了解吗?
新特性?
13.hive时,怎么合并小文件来着?
14.列出了三张关联的表,其中一张表有点击数量的统计。
让我们算一天的所有点击数量写出hivesql,我没写出来?
15.Hive的优化?
16.Hive 左右连接?
17.Hive使用的三种形式?
18.Hive分区?
19.hive的工作原理?
20.Hive中的rlike是怎么回事,哪里用到了?
21.sql优化
22.问我Hive怎么解决数据倾斜?
MapReduce过程?
设计角度 --- 建索引,建视图
sql--------------- 充分利用索引,避免全表扫描
22.hive优化?
充分利用临时表,重复利用?
23.几道sql问题,联表查,exists,groupby保留全部字段?
24.不用hadoop 自己设计方案 实现TB级别数据量,TOP10问题,数据倾斜问题怎么解决?
25.hive原理,优化?
26.hive数据倾斜优化?
27.hive执行sql时的工作流程?
28.hive的默认分隔符?
29.hiverank(以某个字段分组,在组内排序,找出各组的TOP k)?
30.问到了hive的优化?
31.怎么解决HIVE产生的数据倾斜问题?
32.问我Hive具体怎么用的?
33.HIVE中UDFUDAFUDTF的区别。
数据倾斜问题怎么解决?
表连接有几种类型?
34.HIVE怎么优化?
HIVE常用的几个配置是哪些?
35.Hive什么时候不能用combiner?
36.添加自定义UDF的时候都是临时的,怎么永久添加?
37.Hive动态分区?
38.写一个表的查询的sql语句,具体忘了,是个嵌套的SQL?
关于Hbase的面试题:
------(ok)
1.hbase我说没用过?
2.hbase有哪些组件,以及hbase里面的buffer?
3.hbaserowkey的设计?
4.hbase优化?
5.hbase数据插入优化?
6.hbase如何优化的?
7.hbase的writebuffer?
8.hbase对于复杂表如何设计rowkey?
9.Hbase执行过程?
10.Hbase优化?
11.关系型数据库是怎么把数据导出到Hbase里的?
12.hbase优化问题?
13.hbase的性能优化?
14.Hbase解决了什么问题?
15.Hbase的相对多些,基础和优化?
16.hbase最主要的特点是什么?
17.hbase部署?
18.和hbase同样功能的分布式数据库了解多少?
19.HBase的存储原理?
20.说说hbase的API都有哪些filter?
21.问我majorcompack设置为手动会出现什么问题?
22.mongoDB和hbase的区别?
23.Hbase的表设计还有优化?
关于Storm的面试题:
------------(ok)
1.说说storm?
就讲Storm的各个方面:
Storm是什么?
架构中为什么要选择它而不选择SparkStreaming?
Storm的编程模型?
Storm的架构
设计和Storm的容错机制?
我在项目中是怎么使用Storm的?
2.strom窗口:
五分钟统计一次。
?
3.storm原理?
storm如何保证不丢失数据?
Storm的编程模型:
Topology(DAG有向无环图的实现):
spolt,bolt,构建topology,storm的并发机制及数据分发策略
Storm保证数据不丢失是Storm的有保证消息的完整(tuple树)处理的机制:
acker机制(ack的实现原理:
通过tuple的id的亦或运算来判断消息是否被完整计算实现,所以在spolt发送tuple的时候需要设置消息的id),但是这样会导致消息的重复计算,storm提供了拓扑性的事务(分阶段来实现事务的强有序和并发性)来保证消息有且仅被处理一次
4.storm流处理数据丢失?
一般不会丢失,Storm大多的bolt都实现了acker机制,保证数据不会被丢失,当数据丢失的时候,acker机制会回调ack方法和fail方法重发tuple。
5.Storm的原理?
---同3
编程模型
6.sparkstreaming和storm的区别,可以相互取代吗?
纯流式的实时的计算框架和微批处理的框架
spark家族一栈式的大数据处理框架,storm显得很专业
事务支持方面:
Storm事务支持的比较好,SparkStreaming差点
实现的功能方面:
SparkStreaming提供丰富的算子可以实现丰富的功能,Storm一般做比较简单的统计
7.说说你用过的storm?
---同1
8.storm的设计和日志的格式?
Storm的设计主要是对pv,uv等简单的统计的topology的构建,还有其并发的设置
日志的格式:
9:
storm整合kafka?
Storm的Spout应该是源源不断的取数据,不能间断。
那么,很显然,消息队列系统、分布式内存系统或内存数据库是作为其数据源的很好的选择
由于storm-kafka已经实现了spout,我们直接用就可以
关于Zookeeper的面试题:
1.问了Zookeeper的工作原理。
过半机制,还有节点为什么是单数台?
2.zookeeper熟悉不?
3.zookeeper有哪些组件?
4.zookeeper的机制等,各组件的原理?
5.Zookeeper到底是干嘛的?
6.zookeeper的二次开发?
7.Zookeeper实现分布式锁用哪个jar包,以及写mr、spark作业程序具体应该用哪些包?
关于Kafka的面试题:
------
1.怎么保证kafka传过来的数据之正确的处理一次?
-----结合Storm事务来思考
2.flume和kafka什么区别?
3.kafka为什么要分多个partition?
4.kafka和sparkStreaming的整合?
-------重要-----不是很清楚,看kafka和SparkStreaming整合
5.怎么保证数据kafka里的数据安全?
(丢失)----磁盘存储,数据使用完后的删除的策略
6.kafka的key为null可以吗?
7.怎么往kafka集群写数据的?
------KafkaSink(使用的是Flume)或者KafKaSpout(如果使用的是Storm)
8.kafka用到的什么设计模式?
----发布订阅模式
9.kafka的原理?
如果生产数据是消费数据100倍,该如何处理?
10.flume与kafka区别?
11.有很多消息队列技术,为什么选择kafka?
----kafka的特性方面回答
12.kafka为什么可以支持那么大的吞吐量,怎么实现的,我直接说不知道。
?
----顺序读写,partition的分布式存储
关于Flume的面试题:
-------ok
1.flume什么时候用?
----分布式的数据收集
2.Flume处理日志重复问题?
3.flume监控问题 ?
自身支持ganlia集群监控
4.Flume是如何拿数据的?
----flumesource
5.flum是如何导入数据到kafka?
具体?
KafkaSinkchannnel里面配置相应的topic
6.flume的实时采集数据和定时采集数据的方法?
tail-f;Spooling
7.主要问Flume如何使用?
整合Flume+Storm和整合Flume+Kafka
关于Sqoop的面试题:
-----ok
1.sqoop导数据是否了解sqoop?
了解,通过sqoopexport/import来实现
2.sqoop底层(我说不参与)?
了解,通过MR来实现的数据的导入导出
关于Spark的面试题:
------ok
1.spark优化?
答案:
架构参数优化:
shuffle,内存管理,推测执行,数据本地化:
HDFS的DataNode和SparkWorker共享一台机器
代码层面:
并行度--调整finalRDDpartition;缓存机制的选择--CPU使用和内存使用的权衡:
checkpoint;算子的使用和选择-groupbykey,mapvsmappartitions等,使用广播变量,累加器等;序列化:
压缩,存储格式的选择
数据倾斜:
重写partition规则,抽样看数据的分布,结合具体的业务
架构的选择:
统一使用yarn结合hadoop,还是使用自己的standalone计算框架
1.spark的工作流程?
答案:
Spark的资源调度和任务调度+pipeline的计算模型
2.spark源码-DAG-Task--任务调度部分?
答案:
首先清楚spark是粗粒度的资源申请,任务调度:
sparkContext-DAGSheduler切分stage,TaskSheduler发送任务到申请好的Executor中的线程池执行
3.submit相关配置?
一般指定多大的资源?
答案:
submit--master/yarn--class--deploymodelclster/client
--Executorcores默认一个Executor1core,lg内存,1G,2--3个task
4.写完spark程序如何知道多少个task?
(即资源如何调配的)
答案:
看你的并行度的设置,block的数量,webUI
5.spark和mr性能是不是差别很多?
答案:
一般来说Spark比Hadoop快:
原因:
(1):
MR有大量的磁盘io,溢写等,Spark则可以基于内存缓存机制计算
(2):
MR和Spark的资源申请的方式:
粗粒度和细粒度的区别
(3):
DAG计算引擎中的pipeline计算模型,MR就是MapReduce模型
(4):
算子的丰富程度
使用场景:
大于pb级别的数据量一般选择MR
生态的区别:
Spark一站式的大数据处理平台,Hadoop还需要和其他的整合,升级,版本兼容等一堆问题,CDH版本如果需要更多的功能需要考虑成本的问题
6.spark任务yarn执行流程(client)?
答案:
7.spark运行在Yarn上流程(cluster)?
使用场景的区别:
基于yarn的好处,兼容hadoop,一套计算框架,能好的维护
8.spark调优?
----同问题1
9.shuffle主要介绍下?
答案:
shuffle发生?
---shuffle的过程---shuffle实现的选择---shuffle的优化
10.宽窄依赖?
答案:
看父RDD和子RR的关系,除了父RDD和子RDD一对多外,其他的都是窄依赖
11.shuffle怎么落地的?
答案:
shuffle的实现类型:
hashShuffle还是sortShuffle?
Shuffle数据落地?
12.SparkRDD是什么?
答案:
弹性分布式数据集---源码的五大特性-----RDD的计算模型:
pipeline计算模型
13.Spark算子?
答案:
map,flatmap,filter,foreach,first,take(n),join,cogroup,reducebykey,sortBy,
distinct,mapPartition等等
14.spark优势?
答案:
一栈式大数据处理平台。
灵活的编程模型,相比MR
速度快
15.sparkonyarn 和mapreduce 中yarn有什么区别?
答案:
没什么区别,yarn就是一个资源管理框架
16.spark原理?
答案:
pipeline计算模型+任务调度和资源调度
17.spark运行的job在哪里可以看到?
答案:
Driver进程所在的节点;webUI
18.如何监测集群中cpu,内存的使用情况,比如说:
有一个spark特别占资源,特别慢,怎么排查这种情况?
答案:
SparkWEBUI;集群监控工具,找到taskid
19.spark为什么比hadoop快?
同题5
20.rdd的处理过程是什么,不要说概念?
答案:
画切分Stage,pipeline的计算模型的图
21.请说出你在spark中的优化方案?
答案:
同1
22.SparkSQL和Spark架构,运行流程图,Spark运行的两种方式。
常用的Spark函数有哪些?
答案:
spark架构图+运行流程图(资源的调度+任务调度)+Sparkclient和SparkCluster+transformation算子+action算子+持久化操作算子
24:
GroupByKey的作用?
答案:
根据key分组
23.Spark了解多少?
答案:
Spark生态-架构-运行模式+任务调度和资源调度
关于SparkSql的面试题:
1.sparkSQL介绍下(RDD、DataFrame)
关于SparkStreaming的面试题:
1.sparkStreaming怎么跟kafka对接的,数据拉取到哪里?
2.日流量10G没必要sparkstreaming?
3.sparkstreaming例子。
问维护做过没?
说sparkStreaming的维护成本很高。
我告诉他是的,比如说可能会丢数据,wal会慢。
这一块儿不是我维护。
没细问。
4.sparkstreming调优?
5.sparkstreaming原理?
6.sparkStreaming介绍下?
和Storm比较?
7.sparkStreaming某一个task挂了,怎么解决的?
8.sparkstreaming?
spark的相关算法,比如推荐系统需要什么算法?
9.parkstreaming工作流程?
10.sparkstreanming没有问题,但无法计算,