上海校区大数据企业面试真题V1.docx
- 文档编号:12275245
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:118
- 大小:221.17KB
上海校区大数据企业面试真题V1.docx
《上海校区大数据企业面试真题V1.docx》由会员分享,可在线阅读,更多相关《上海校区大数据企业面试真题V1.docx(118页珍藏版)》请在冰豆网上搜索。
上海校区大数据企业面试真题V1
上海校区大数据企业面试真题
版本:
V1.4.0
一、米哈游
1.什么是Flink的非barrier对齐,如何实现?
2.flink的内存管理?
3.flink的序列化机制?
4.flink提交job的方式以及参数如何设置?
页面提交和客户端提交有什么区别?
5.你们flink集群规模?
6.flink提交作业的流程,以及与yarn是如何交互的?
7.flink的checkpoint机制以及精准一次性消费如何实现?
8.flink的状态是什么,分为几种?
9.SparkContext里面主要做了哪些工作?
10.ConcurrentHashMap的底层实现原理?
11.什么是Watermark及主要作用?
12.flink是如何管理kakfa的offset,使用什么类型的状态保存offset?
二、美团外包
1.实时方面
a)主攻哪个方向
b)我说的实时
c)具体介绍一下具体做了哪些工作.
d)为什么要做sparkstreaming到Flink的转化.
e)在什么场景下需要这么高的实时性.
f)既然是开窗为什么一定要转FLink.
g)遇到SparkStreaming不太能解决的问题.(我说的是手动维护Kafka的offset实现一致性消费的问题)
h)必需要手动维护offset吗?
(我转到了Flink去解决这个问题)
i)遇到Flink不太能解决的问题.(我没多说,其实应该说大数据量使用redis布隆过滤器实现UV去重的)
j)实时指标出来后的应用场景.(我提到了ES预警)
k)预警是怎么做到的.预警的条件.(公司内部的预警和用户行为的预警)
2.数仓方面:
a)当初建模的时候应用场景是什么样的.
b)建模的流程(我是从数据源开始讲)
c)都有哪些数据同步到数仓里面(我说大概20多张表)
d)对这些表有过什么分类吗.(我说的同步策略)
e)哪些表是相应的同步策略.
f)跨天支付数据是怎么处理的.
g)用户表为什么一定是拉链表.
h)数仓的分层.
i)如何找出来用户的一天的行为轨迹.(这个问题出现在描述dws层)
j)dws和dwt的宽表都有哪些,并且都是什么!
!
!
(详细都说出来!
!
!
)
k)出口对应的指标.(我太菜了.没说出来几个)
l)你们是怎么保证数据质量的.(居然没想起来监控框架.我太菜了.)
m)数据质量监控的角度,(我只记得数据量)
n)有制定一些量化的'含量指标'(应该是这个词)也就是说怎么衡量这个表好用不好用.
o)有没有一张表实现所有的分析.
3.SQL题(很简单)
a)外卖的配送ID
b)外卖员的ID
c)订单配送的City
d)时间的CT
e)一整年中,每个月每个城市订单量Top10.
4.其他
a)3.1.为什么考虑换一份工作.
b)3.2.离线和实时更偏向哪些(我说的实时),为什么?
c)3.3.工作后做的最有成就感的一件事是什么.
5.flink,ck机制,内存管理,出现反压怎么处理的?
6.kylin如何直接构建cube?
三、华为
1.spark内存管理
2.hive分区表中,单值分区和范围分区的区别
3.你们公司执行spark任务时,资源怎么设置的(需要直接说出来)
4.介绍一下kafka水位线(其实就是leo和Hw)
5.说几个指标,分别从什么数据层拿取了数据,需要直接说出来
6.数仓采用了什么模型?
为什么?
7.hive分区表,单值分区和范围分区的区别
8.spark任务切分,怎么判断有没有执行shuffle
9.你们公司拉链表都有什么字段,拉链表出错怎么办
10.列举几张表的同步策略
11.flinkSql了解吗
四、吉贝克
1.你做了哪些项目
2.你主要负责哪个项目
3.你怎么建模的,你们的数仓架构(你们用到了哪些框架),你们的数据量,你们的集群规模,用的是Apache还是CDH,怎么维护集群的(集群监控)
4.你们用的hql,还是sparksql?
5.hive中主要用到了哪些函数
6.你们数仓遇到的问题
7.你们用的脚本还是jar
8.你们azkaban的版本
9.你们遇到过hive与mysql间的字符集乱码问题吗?
怎么解决的
10.你们hive数据倾斜遇到过吗?
怎么解决的
11.你在离线数仓中做了什么
五、美团到店
1.自我介绍
2.具体介绍一下具体做了哪些工作.
3.为什么要做sparkstreaming到Flink的转化.
4.Sparkstreaming和Flink消耗资源具体数据对比
5.在什么场景下需要这么高的实时性.
6.遇到SparkStreaming不太能解决的问题
7.建模的流程
8.数仓的分层.
9.宽表都有哪些,?
10.三范式知道吗,说一下?
11.项目中遇到什么难解决的问题?
12.有小文件和数据倾斜,这个怎么处理?
13.空值key加随机数是一种数据倾斜解决方案,如果有单个key是热点值呢?
又如果有多个key是热点值呢?
用参数和代码分别怎么解决?
14.调度工具用到哪些;
15.数据可视化怎么做;
16.Flink怎么优化?
举实际例子,数据对比
17.OLAP引擎用过哪些?
18.用过什么工具进行数据迁移,导入导出。
19.行存和和列存的区别?
20.OLTP和OLAP的区别
21.Flink的JobManger?
22.Flink的TaskManager
23.为什么选择ElasticSearc,ClickHouse?
24.SparkStreaming和Flink的区别,包括计算实时指标的一个逻辑是怎样的?
25.假设有些数据,延时了10分钟20分钟才过来,想这种数据在SparkStreaming和Flink分别做怎么处理的?
26.算从0点累计到当前时间的DAU(日活),像这种数据,用Flink如何实现?
27.布隆过滤器有什么缺点,哪些场景用不了?
28.你们离线数仓是跑在什么引擎上的?
29.MapReduce从提交到最后执行大概是一个什么过程?
a)Shuffle和Reduce有什么区别?
30.一个任务,平常10分钟20分钟就完成了,今天1,2个小时都没完成,我们需要怎么解决?
31.算过去30天有哪些用户是连续7天登录我们APP的,如何写SQL,思路?
32.开窗函数有哪些?
33.开窗函数什么情况下会有orderby,什么情况下orderby是必须要写的?
34.数据报表存储这块用过哪些产品,用过哪些存储引擎?
--没答上来,后来提醒的我说的HBase
35.OLAP引擎用过哪些?
36.如何设计数据报表的存储,MySQL已经不能用了,查询效率太低,你们这时候如何存储?
37.拉链表有什么缺点?
拉链表有哪些字段必须要有的?
38.数据和业务是怎么协作的?
比如说数据对业务做一些反馈和支持?
六、润和
1.负责几个topic
2.每个topic有多少个分区
3.hbase列族有多少个
4.看你Kafka写的挺多的,kafka装了几台,把你知道的关于kafka的全部说一遍
5.我把生产者到broker到消费者给他说了一通
6.spark解决数据倾斜的手段
7.spark做了哪些优化
8.项目中使用redis实现什么功能
9.sqoop导出一致性问题,通过什么参数增加map个数
10.hbase的组件
11.实际中rowkey怎么设计的
12.HBASE的读写流程,如果数据已经写到了WAL还没写到MemStore挂机了,会怎么处理,有什么影响(hbase是有事务吗求解)
七、声网
1.怎么修改正在运行的Flink程序?
如果有新的实时指标你们是怎么上线的?
2.使用flink统计订单表的GMV,如果mysql中的数据出现错误,之后在mysql中做数据的修改操作,那么flink程序如何保证GMV的正确性,你们是如何解决?
3.开发人员和测试人员如何保证SQL的正确性?
假如这条sql就是写错误了,那么用这条SQL统计mysql中的数据,肯定也是无法发现错我,你们是如何解决?
4.如何区分事实表和维度表?
有度量值就一定是事实表吗?
什么是描述性/修饰性维度?
5.用sqoop在00:
10分将mysql中的数据导入到HDFS,对于新增及变化的数据,由于存在窗口期,比如每天在00:
05分的时候这条数据都修改,那么就会一直无法拉取到这条数据,怎么解决?
6.ETL清洗的规则是不超过1/10000,你们是怎么发现超过万分之一的?
八、新潮传媒集团
1.熟悉哪些组建
2.rdd.df.ds区别
3.flink与spark区别
4.Java写99乘法表(电脑直接敲)计时
5.字符串,首字母大写(电脑敲)
6.手写hql(体现实力)
7.离线架构分层
8.kafka为什么快
9.hdfs了解多少
10.hbase部分内容
11.问Java和Scala谁更熟的时候,大家一定要说Scala,说了Java会被问死,我说的Scala,就拿我没辙了
12.flink窗口5种
13.flink时间语意
14.整体数据走向,分开来说
15.有没有hive相关的API,我说我没做过,不清楚
16.Java中GC原理
17.Java中无符号状态如何有效处理
18.还有很多简单一点的问题,面试太久了,我没录音,主要看第11点,我给大家的建议,除非单独Java开发过的
九、卓钢链
1.flink怎么提交
2.flink提交有多少jobmanger
3.flink与spark区别
4.flink反压
5.5flink监控,如何有效处理数据积压
6.离线那些很简单,随便说下海哥整理的那一套就行了
7.最后说是不是培训,我果断否定,flink火了别的公司用,我们也能用,我们就是半年前换了flink
十、鸭嘴兽网络科技有限公司
1.flink窗口
2.spark手动提交offset
3.flink有什么问题
4.flink反压,如何解决
5.为什么flink替换spark
6.spark优化
7.flink优化
8.在flink项目中做了什么9.flink开发哪个窗口用的最多
十一、齐数科技
1.canal传输数据这么保证不丢失
2.flink配合redis以及布隆过滤器具体怎么实现大数据量的去重
3.flume你们公司允许丢多少数据,说个范围区间
4.sparkshuffle讲一下
5.azkaban任务调度怎么使用,让我说一下yml语法,懵逼
6.canal到kafka到sparkstreaming怎么精准一次消费
7.spark的checkpoint怎么使用的,你之前公司有没有用过
8.问我es的端口号,紧张忘了,我反问他canal端口号,我还提示说双十一相关,他也不会[666]
9.sparkstreaming怎么消费kafka(就是2种方式)
a)做过数据治理吗?
有这种场景c表依赖于b表,b表依赖于a表,如果a表数据出错,就比如说a表是javaEE的订单表,javaEE修改了里面的字段,比如100万GMV,就可能出现只统计10万GMV,你们怎么处理?
(答:
javaEE改表为什么不跟我们说,谁给他们勇气的)
b)你们哪些表使用拉链表?
拉链表建立分区表了吗?
怎么建立的?
(答:
我们用户表建立了分区表,拉链表与分区表之间没有关系,拉链表可以建立分区表,但是我们没有建立,比如说可以按照省份进行建立分区表)
十二、喜马拉雅
1.Hive中七种join.每种区别
2.Hive的炸裂函数
3.Hive项目中遇到过哪些问题,具体业务中怎么解决的(要讲的很详细)
4.kafka的延迟队列的时间轮算法(不知道他当时问的是不是这个,我讲的这个)。
5.建模的原因
6.分层的原因
7.命名表的时候的特殊性(比如有个表用户特别关注,如果是你怎么命名),还有各种表的同步策略
8.另外还有两道sql,当她的面写,一道侧写炸开,一道连续,还不算太难,但是不能写错一点,不然她会觉得写的不是特别好。
由这个炸裂她会引出业务中的炸裂
9.问为什么自己定义udtf而不是直接用炸裂
十三、斗象
1.flinkcheckpoint的实现原理
2.sparkcheckpoint的实现原理
3.jvm如何调优
4.rdd的作用主要是干什么的
5.hive和hbase的区别
6.flink开窗五分钟过来一亿条数据你是怎么处理的
7.flink开窗5分钟被同一用户连续访问60次,需要把他的访问信息调出来你是怎么做的
8.spark有1000个分区他们的数据是怎么交互的
9.spark有10万条数据你将这些数据怎么分配到集群的
十四、金大师
学长一
1.java基本数据类型
2.讲一下hashmap
3.hashmap为什么用到红黑树
4.链表的时间复杂度
5.红黑树的时间复杂度
6.ArrayList与linkedList的区别,其中链表是什么链表
7.MySQL的事务隔离级别
8.数据库的索引,索引结构是什么?
9.①聊一聊kafka,②zookeeper中存储的kafka中的信息的格式,③ack,④副本个数,⑤ISR,⑥kafka的存储在哪,⑦kafka的读写流程,⑧分区个数
10.HBASE的读写流程,如果数据已经写到了WAL还没写到MemStore挂机了,会怎么处理,有什么影响
11.说一下布隆过滤器怎么实现的,数据结构是什么
12.业务中HBASE的RowKey怎么设计的
13.watermark处理迟到数据,怎么实现的
14.redis的数据类型,怎么用来去重的,存储的是什么数据
15.说一下slot,业务中一个TaskManager设置几个slot,连接的kafka的分区数是多少
学长二
1.hashMap和hashSet底层实现原理
2.stringbuffer和stringbuilder的区别
3.spark如何保证精准一次消费
4.hive的两个表join的工作机制
5.kafka的精准一次消费幂等性+事务kafka版本事务如何实现的
6.事务的分类
7.如何实现多线程,线程怎么关闭
8.你知道什么二叉树
9.红黑树的结构
10.es如何实现更新数据可以更新部分属性吗
学长三
1.MySQL的隔离机制
2.MySQL的事务回滚
3.MySQL的底层索引
4.HBase的分区算法
5.HBase的预分区大小
6.HBase的如何避免分区数据倾斜、ID地区
7.HBase的请求写
8.HBase的meta表中存储了Hbase集群中全部表的所有的region信息,在Hbase2.x之后新增了表的状态信息。
9.HBase的预写日志恢复机制
10.JAVA锁
11.==和equal
==是一个比较运算符,基本数据类型比较的是值,引用数据类型比较的是地址值。
(比较地址值即是指是否为同一个对象的引用)
equals()是一个方法,只能比较引用数据类型。
重写前比较的是地址值,重写后比一般是比较对象的属性。
12.Scala偏函数
13.Shell中查看上一个命令是否成功执行
$?
十五、齐数科技
1.canal传输数据这么保证不丢失
2.flink配合redis以及布隆过滤器具体怎么实现大数据量的去重
3.flume你们公司允许丢多少数据,说个范围区间
4.sparkshuffle讲一下
5.azkaban任务调度怎么使用,让我说一下yml语法,懵逼
6.canal到kafka到sparkstreaming怎么精准一次消费
7.spark的checkpoint怎么使用的,你之前公司有没有用过
8.问我es的端口号,紧张忘了,我反问他canal端口号,我还提示说双十一相关,他也不会
9.sparkstreaming怎么消费kafka(就是2种方式)
十六、海致星图
1.双流join,leftjoin,左流数据先来,右流一直没来,左流会这么样(1.5版本之后就又flinksql了,1.11多了hive)
2.左流数据已经输出到sink了,此时右流数据来了,可以join又会这么样
3.flink故障恢复,说我概念记得挺牢的(我没理他)
4.Savapoint了解多少
5.作业挂掉了,恢复上一个Checkpoint,用什么命令
6.为什么用yarn-session
7.说一下状态编程
8.使用Mapstage,groupbyid如何设计
9.继续上面的Mapstage,id不放在key行不行
10.数据积压问题
11.Kafka数据很多,内存很少,读取数据都是问题,现在想要写,怎么控制写速率(上面都是flink)
12.Spark哪一块用的多,实时,sparkstreaming用的是结构流还是什么,后面说到df
13.df与ds区别,课上讲的没够用
14.Map与mapPartition,我说完说我让我看源码
15.Task与partition有什么关系
16.Stage,宽依赖
17.Kafka一直说
18.一个topic有3个分区,两个消费者,会怎么样
19.一个topic有2个分区,三个消费者,会怎么样
20.Kafka怎么处理大量数据(为什么这么快),说我概念背的好,但是细节不是很注意
21.Hdfs小文件处理,spark处理小文件
22.arraylist在Scala有什么可以做到同样功能,比较像的
23.Hbase,redis,es选一个,我选hbase,又谈到凤凰,凤凰和hbase这么放一起的,rowkey
24.最后闲聊,数仓分层
十七、赢时胜
学长一
1.自我介绍
2.详细的讲一下实时项目.
3.为什么要用Flink替代SparkStreaming(应该深入的去讲一下Flink)
4.你们公司都处理过什么业务.
5.公司的类型.公司的电商的服务还有吗?
地址?
(应该是想问网站的网址?
).大数据分析对外部提供服务是在哪个web或者app(直接告诉他公司内部使用!
)
6.公司都卖些什么?
买的最好的商品?
7.分模块对指标进行分析.(具体分哪些模块)
8.这个项目里面日常都会做哪些.
9.指标中印象最深的就是什么?
10.网络波动导致的支付先到了怎么办?
11.process用的种类.
12.10个int以数组的形式保存,那么保存在什么状态好?
VlaueState还是ListState?
存在哪个的性能比较好?
13.广告在没有人点击的(也就是没有数据流的时候)窗口,这个窗口存在吗?
有没有对这些窗口进行校验的窗口.
14.1小时的滚动窗口,一小时处理一次的压力比较大,想让他5分钟处理一次.怎么办?
(自定义触发器)
15.数仓项目处理的业务?
16.dws都有什么维度和和字段?
17.维表的数据量扩大十倍会有什么问题?
18.维度的地区增大(比如上海划分成具体的某些区),也就是改变维表的粒度会出现问题吗?
学长二
1.yarn资源队列
2.Hbaseregion自动切分为什么不好
3.yarnsession和prejob区别
4.hivejoin发生数据倾斜如何解决
5.只让讲了一下采集部分,后面的是提问
6.sparksql和hivesql区别
7.rdd和sparksql区别
8.出了到flink实际场景的题类似咱的Uv那个指标,如何解决乱序数据,后来又加了个
9.迟到数据怎么办
10.flume如何分渠道,就是那个mutil方式,记得说出拦截器加头信息
11.hashmap
十八、花旗
学长一
1.Java多线程
2.多线程的创建方式
3.Java线程池
4.德鲁伊连接池的特点,如果我连接突然断了,会发生什么
5.Java锁,怎么加锁,用过见过哪些锁,加锁有哪些影响
6.Java数据结构,hashmap和arraylist
7.sparkclientcluster
8.sparkshuffle
9.sparkrdd
10.mr底成和sparkstage的区别,mr也是有stage的?
mrstage是什么
11.spark提交参数
12.怎么开启压缩
13.压缩的效率有多高
14.lzo压缩以后,传输量提高了多少,把具体值说一下
15.hive表优化
16.hive各种参数
17.hive去重
18.spark数据倾斜
学长二
19.sparkstreaming消费Kafka的相关问题:
分区数、并行度怎么设置、用的哪种方式
20.sparkstreaming+Kafka,每周的某几天(如周三)数据量会剧增,你怎么处理?
21.你说你提升消费者的batchsize,这样会导致消费者处理的数据增大,会不会影响到消费者向broker发送心跳?
22.Kafka消费者分区策略
23.怎么修改Kafka的分区数
24.怎么修改spark程序的并行度
25.读取hdfs文件怎么设置分区数
26.sparkjob提交流程
27.spark任务切分流程
28.说一下宽依赖和窄依赖
29.某个spark程序启动之后跑的特别慢,你怎么定位问题?
30.spark做过哪些优化?
31.flink和sparkstreaming的区别
32.hive和MySQL的区别
33.javahashmap为什么要重写hash和equals
34.英文自我介绍
十九、微盟
学长一
1.groupby和count(distinct)的底层机制和区别是什么
2.Spark和flink的双流join的底层原理
3.sparkstream统计每天营销额的时候,系统崩溃后,如何处理已经聚合后的数据,数据保存在哪里(这里我解释了幂等性和事物和ack-1,面试官揪着这里问了很久,他关心的事出了问题之后怎么解决)
4.各种表怎么导入的,sqoop倒导表的详细步骤,累积型快照事实表,拉链表,现场写代码展示等
5.数仓里面建的各种表,都建了哪些表,数仓每层之间同事都会有数据进行导入导出和计算,如何保证每层计算间有序状态不干涉
6.精确一次,至多一次,至少一次对checkpoint有什么影响
7.flink里面异步IO代码具体怎么写的,每一步具体描述出来
8.都用实时做了哪些任务
9.都是根据你的简历,然后给你场景,让你分析,不然你介绍项目,他很抠细节,面试官年龄不大,2,30岁的样子。
学长二
1.讲一下kafka中的各个组件?
2.讲一下kafka中的分区?
3.isr的作用?
4.数据在kafka中是怎么被处理的?
5.habse的架构?
6.怎么获取hbase的数据?
7.怎么设置redis中的过期时间以及hbase中怎么设置?
8.kafka中的ack级别?
9.hbase中wal的作用?
以及怎么写数据?
10.怎么设计rowkey
11.单例模式(手敲)
12.kafka的leader挂了怎么办?
学长三:
1.离线数仓分层的意义?
2.维度建模的过程?
3.退化维度?
什么时候选择退化?
什么时候不退化?
4.拉链表怎么设计的?
5.数仓里面事实表有哪些类型?
以及他们的区别?
6.累积型快照事实表怎么设计的?
7.udf,udtf有用过吗?
主要的使用场景是什么?
8.开窗之后的row_number会产生数据倾斜嘛?
底层使用的是什么udf?
9.想要取连续三天的怎么取?
10.hive的优化
11.hive的桶表用过吗?
分桶和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上海 校区 数据 企业 面试 V1