一.Hadoop
1.hdfs写流程
2.hdfs读流程
3.hdfs的体系结构
4.一个datanode 宕机,怎么一个流程恢复
5.hadoop 的 namenode 宕机,怎么解决
6.namenode对元数据的管理
7.元数据的checkpoint
8.yarn资源调度流程
9.hadoop中combiner和partition的作用
10.用mapreduce怎么处理数据倾斜问题?
11.shuffle 阶段,你怎么理解的
12.Mapreduce 的 map 数量 和 reduce 数量是由什么决定的 ,怎么配置
13.MapReduce优化经验
14.分别举例什么情况要使用 combiner,什么情况不使用?
15.MR运行流程解析
16.简单描述一下HDFS的系统架构,怎么保证数据安全?
17.在通过客户端向hdfs中写数据的时候,如果某一台机器宕机了,会怎么处理
18.Hadoop优化有哪些方面
19.大量数据求topN(写出mapreduce的实现思路)
20.列出正常工作的hadoop集群中hadoop都分别启动哪些进程以及他们的作用
21.Hadoop总job和Tasks之间的区别是什么?
22.Hadoop高可用HA模式
23.简要描述安装配置一个hadoop集群的步骤
24.fsimage和edit的区别
25.yarn的三大调度策略
26.hadoop的shell命令用的多吗?,说出一些常用的
二.Hive
1.大表join小表产生的问题,怎么解决?
2.udf udaf udtf区别
3.hive有哪些保存元数据的方式,个有什么特点。
4.hive内部表和外部表的区别
5.生产环境中为什么建议使用外部表?
6.insert into 和 override write区别?
7.hive的判断函数有哪些
8.简单描述一下HIVE的功能?用hive创建表几种方式?hive表有几种?
9.线上业务每天产生的业务日志(压缩后>=3G),每天需要加载到hive的log表中,将每天产生的业务日志在压缩之后load到hive的log表时,最好使用的压缩算法是哪个,并说明其原因
10.若在hive中建立分区仍不能优化查询效率,建表时如何优化
11.union all和union的区别
12.如何解决hive数据倾斜的问题
13.hive性能优化常用的方法
14.简述delete,drop,truncate的区别
15.四个by的区别
16.Hive 里边字段的分隔符用的什么?为什么用t?有遇到过字段里 边有t 的情况吗,怎么处理的?为什么不用 Hive 默认的分隔符,默认的分隔符是什么?
17.分区分桶的区别,为什么要分区
18.mapjoin的原理
19.在hive的row_number中distribute by 和 partition by的区别
20.hive开发中遇到什么问题?
21.什么时候使用内部表,什么时候使用外部表
22.hive都有哪些函数,你平常工作中用到哪些
23.手写sql,连续活跃用户
24.left semi join和left join区别
25.group by为什么要排序
26.说说印象最深的一次优化场景,hive常见的优化思路
三.Spark
1.rdd的属性
2.算子分为哪几类(RDD支持哪几种类型的操作)
3.创建rdd的几种方式
4.spark运行流程
5.Spark中coalesce与repartition的区别
6.sortBy 和 sortByKey的区别
7.map和mapPartitions的区别
8.数据存入Redis 优先使用map mapPartitions foreach foreachPartions哪个
9.reduceByKey和groupBykey的区别
10.cache和checkPoint的比较
11.spark streaming流式统计单词数量代码
12.简述map和flatMap的区别和应用场景
13.计算曝光数和点击数
14.分别列出几个常用的transformation和action算子
15.按照需求使用spark编写以下程序,要求使用scala语言
16.spark应用程序的执行命令是什么?
17.Spark应用执行有哪些模式,其中哪几种是集群模式
18.请说明spark中广播变量的用途
19.以下代码会报错吗?如果会怎么解决 val arr = new ArrayList[String]; arr.foreach(println)
20.写出你用过的spark中的算子,其中哪些会产生shuffle过程
21.Spark中rdd与partition的区别
22.请写出创建Dateset的几种方式
23.描述一下RDD,DataFrame,DataSet的区别?
24.描述一下Spark中stage是如何划分的?描述一下shuffle的概念
25.Spark 在yarn上运行需要做哪些关键的配置工作?如何kill -个Spark在yarn运行中Application
26.通常来说,Spark与MapReduce相比,Spark运行效率更高。请说明效率更高来源于Spark内置的哪些机制?请列举常见spark的运行模式?
27.RDD中的数据在哪?
28.如果对RDD进行cache操作后,数据在哪里?
29.Spark中Partition的数量由什么决定
30.Scala里面的函数和方法有什么区别
31.SparkStreaming怎么进行监控?
32.Spark判断Shuffle的依据?
33.Scala有没有多继承?可以实现多继承么?
34.Sparkstreaming和flink做实时处理的区别
35.Sparkcontext的作用
36.Sparkstreaming读取kafka数据为什么选择直连方式
37.离线分析什么时候用sparkcore和sparksql
38.Sparkstreaming实时的数据不丢失的问题
39.简述宽依赖和窄依赖概念,groupByKey,reduceByKey,map,filter,union五种操作哪些会导致宽依赖,哪些会导致窄依赖
40.数据倾斜可能会导致哪些问题,如何监控和排查,在设计之初,要考虑哪些来避免
41.有一千万条短信,有重复,以文本文件的形式保存,一行一条数据,请用五分钟时间,找出重复出现最多的前10条
42.现有一文件,格式如下,请用spark统计每个单词出现的次数
43.共享变量和累加器
44.当 Spark 涉及到数据库的操作时,如何减少 Spark 运行中的数据库连接数?
45.特别大的数据,怎么发送到excutor中?
46.spark调优都做过哪些方面?
47.spark任务为什么会被yarn kill掉?
48.Spark on Yarn作业执行流程?yarn-client和yarn-cluster有什么区别?
49.Flatmap底层编码实现?
50.spark_1.X与spark_2.X区别
51.说说spark与flink
四.Kafka
1.Kafka名词解释和工作方式
2.Consumer与topic关系
3.kafka中生产数据的时候,如何保证写入的容错性?
4.如何保证kafka消费者消费数据是全局有序的
5.有两个数据源,一个记录的是广告投放给用户的日志,一个记录用户访问日志,另外还有一个固定的用户基础表记录用户基本信息(比如学历,年龄等等)。现在要分析广告投放对与哪类用户更有效,请采用熟悉的技术描述解决思路。另外如果两个数据源都是实时数据源(比如来自kafka),他们数据在时间上相差5分钟,需要哪些调整来解决实时分析问题?
6.Kafka和SparkStreaing如何集成?
7.列举Kafka的优点,简述Kafka为什么可以做到每秒数十万甚至上百万消息的高效分发?
8.为什么离线分析要用kafka?
9.Kafka怎么进行监控?
10.Kafka与传统的消息队列服务有很么不同
11.Kafka api low-level与high-level有什么区别,使用low-level需要处理哪些细节
12.Kafka的ISR副本同步队列
13.Kafka消息数据积压,Kafka消费能力不足怎么处理?
14.Kafka中的ISR、AR又代表什么?
15.Kafka中的HW、LEO等分别代表什么?
16.哪些情景会造成消息漏消费?
17.当你使用kafka-topics.sh创建了一个topic之后,Kafka背后会执行什么逻辑?
18.topic的分区数可不可以增加?如果可以怎么增加?如果不可以,那又是为什么?
19.topic的分区数可不可以减少?如果可以怎么减少?如果不可以,那又是为什么?
20.Kafka有内部的topic吗?如果有是什么?有什么所用?
21.聊一聊Kafka Controller的作用?
22.失效副本是指什么?有那些应对措施?
五.Hbase
1.Hbase调优
2.hbase的rowkey怎么创建好?列族怎么创建比较好?
3.hbase过滤器实现用途
4.HBase宕机如何处理
5.hive跟hbase的区别是?
6.hbase写流程
7.hbase读流程
8.hbase数据flush过程
9.数据合并过程
10.Hmaster和Hgionserver职责
11.HBase列族和region的关系?
12.请简述Hbase的物理模型是什么
13.请问如果使用Hbase做即席查询,如何设计二级索引
14.如何避免读、写HBaes时访问热点问题?
15.布隆过滤器在HBASE中的应用
16.Hbase是用来干嘛的?什么样的数据会放到hbase
六.数仓
1.维表和宽表的考查(主要考察维表的使用及维度退化手法)
2.数仓表命名规范
3.拉链表的使用场景
4.一亿条数据查的很慢,怎么查快一点
5.有什么维表
6.数据源都有哪些
7.你们最大的表是什么表,数据量多少
8.数仓架构体系
9.数据平台是怎样的,用到了阿里的那一套吗?
10.你了解的调度系统有那些?,你们公司用的是哪种调度系统
11.你们公司数仓底层是怎么抽数据的?
12.为什么datax抽数据要比sqoop 快?
13.埋点数据你们是怎样接入的
14.如果你们业务库的表有更新,你们数仓怎么处理的?
15.能独立搭建数仓吗
16.搭建过CDH 集群吗
17.说一下你们公司的大数据平台架构?你有参与吗?
18.介绍一下你自己的项目和所用的技术
19.对目前的流和批处理的认识?就是谈谈自己的感受
20.你了解那些OLAP 引擎,MPP 知道一些吗?clickHouse 了解一些吗?你自己做过测试性能吗?
21.Kylin 有了解吗?介绍一下原理
22.datax 源码有改造过吗
23.你们数仓的APP 层是怎么对外提供服务的?
24.数据接入进来,你们是怎样规划的,有考虑数据的膨胀问题吗
25.简述拉链表,流水表以及快照表的含义和特点
26.全量表(df),增量表(di),追加表(da),拉链表(dz)的区别及使用场景
27.你们公司的数仓分层,每一层是怎么处理数据的
28.什么是事实表,什么是维表
29.星型模型和雪花模型
30.缓慢变化维如何处理,几种方式
31.datax与sqoop的优缺点
32.datax抽数碰到emoji表情怎么解决
33.工作中碰到什么困难,怎么解决的
34.如何用数据给公司带来收益
35.需求驱动和业务驱动,数据开发和ETL开发,实战型和博客型
36.如何用数据实现业务增长,黑客增长?
37.什么是大数据?千万级别的数据完全可以用传统的关系型数据库集群解决,为什么要用到大数据平台。
38.数据质量,元数据管理,指标体系建设,数据驱动
39.什么是数仓,建设数仓时碰到过什么问题
40.实时数仓技术选型及保证exactly-once
41.维度建模和范式建模的区别;
42.埋点的码表如何设计;
43.集市层和公共层的区别;
44.缓慢变化维的处理方式
45.聊聊数据质量
46.说说你从0-1搭建数仓都做了什么?你觉得最有挑战的是什么?
七.Flink
1.Flink实时计算时落磁盘吗
2.日活DAU的统计需要注意什么
3.Flink调优
4.Flink的容错是怎么做的
5.Parquet格式的好处?什么时候读的快什么时候读的慢
6.flink中checkPoint为什么状态有保存在内存中这样的机制?为什么要开启checkPoint?
7.flink保证Exactly_Once的原理?
8.flink的时间形式和窗口形式有几种?有什么区别,你们用在什么场景下的?
9.flink的背压说下?
10.flink的watermark机制说下,以及怎么解决数据乱序的问题?
11.flink on yarn执行流程
12.说一说spark 和flink 的区别
八.Java
1.hashMap底层源码,数据结构
2.写出你用过的设计模式,并举例说明解决的实际问题
3.Java创建线程的几种方式
4.请简述操作系统的线程和进程的区别
5.Java程序出现OutOfMemoryError:unable to create new native thread 的原因可能有哪些?如何分析和解决?
6.采用java或自己熟悉的任何语言分别实现简单版本的线性表和链表,只需实现add,remove方法即可
7.ArrayList和LinkedList的区别
8.JVM 内存分哪几个区,每个区的作用是什么?
9.Java中迭代器和集合的区别?
10.HashMap 和 HashTable 区别
11.线程池使用注意哪些方面?
12.HashMap和TreeMap的区别?TreeMap排序规则?
13.用java实现单例模式
14.使用递归算法求n的阶乘:n! ,语言不限
15.HashMap和Hashtable的区别是什么
16.TreeSet 和 HashSet 区别
17.Stringbuffer 和 Stringbuild 区别
18.Final、Finally、Finalize
19..==和 Equals 区别
20.比较ArrayList,LinkedList的存储特性和读写性能
21.Java 类加载过程
22.java中垃圾收集的方法有哪些?
23.如何判断一个对象是否存活?(或者GC对象的判定方法)
24.jvm、堆栈
九.Elasticsearch
1.为什么要用es?存进es的数据是什么格式的,怎么查询
十.Flume
1.什么是flume
2.flume运行机制
3.Flume采集数据到Kafka中丢数据怎么办
4.Flume怎么进行监控?
5.Flume的三层架构,collector、agent、storage
十一.Sqoop
1.Sqoop底层运行的任务是什么
2.sqoop的迁移数据的原理
3.Sqoop参数
4.Sqoop导入导出Null存储一致性问题
5.Sqoop数据导出一致性问题
十二.Redis
1.缓存穿透、缓存雪崩、缓存击穿
2.数据类型
3.持久化
4.悲观锁和乐观锁
5.redis 是单线程的,为什么那么快
6.redis的热键问题?怎么解决?
十三.Mysql
1.请写出mysql登录命令,用户名user,密码123456,地址192.168.1.130
2.为什么MySQL的索引要使用B+树而不是其它树形结构?比如B树?
十四.数据结构与算法
1.二分查找
2.快排
3.归并排序
4.冒泡排序
5.字符串反转
6.Btree简单讲一下
7.动态规划 最大连续子序列和
8.二叉树概念,特点及代码实现
9.链表