logo资料库

大数据高频面试题.docx

第1页 / 共111页
第2页 / 共111页
第3页 / 共111页
第4页 / 共111页
第5页 / 共111页
第6页 / 共111页
第7页 / 共111页
第8页 / 共111页
资料共111页,剩余部分请下载后查看
第1章 项目涉及技术
1.1 Linux&Shell相关总结
1.1.1 Linux常用命令
1.1.2 Shell常用工具
1.2 Hadoop相关总结
1.2.1 Hadoop常用端口号
1.2.2 Hadoop配置文件以及简单的Hadoop集群搭建
1.2.3 HDFS读流程和写流程
1.2.4 MapReduce的Shuffle过程及Hadoop优化(包括:压缩、小文件、集群优化)
1.2.5 Yarn的Job提交流程
1.2.6 Yarn的默认调度器、调度器分类、以及他们之间的区别
1.2.7 项目经验之LZO压缩
1.2.8 Hadoop参数调优
1.2.9 项目经验之基准测试
1.2.10 Hadoop宕机
1.2.11 Hadoop解决数据倾斜方法
1.2.12 集群资源分配参数(项目中遇到的问题)
1.3 Zookeeper相关总结
1.3.1 选举机制
1.3.2 常用命令
1.4 Flume相关总结
1.4.1 Flume组成,Put事务,Take事务
1.4.2 Flume拦截器
1.4.3 Flume Channel选择器
1.4.4 Flume监控器
1.4.5 Flume采集数据会丢失吗?(防止数据丢失的机制)
1.4.6 Flume内存
1.4.7 FileChannel优化
1.4.8 Flume Channel容量
1.4.9 HDFS Sink小文件处理
1.5 Kafka相关总结
1.5.1 Kafka架构
1.5.2 Kafka压测
1.5.3 Kafka的机器数量
1.5.4 Kafka的日志保存时间
1.5.5 Kafka的硬盘大小
1.5.6 Kafka监控
1.5.7 Kakfa分区数
1.5.8 副本数设定
1.5.9 多少个Topic
1.5.10 Kafka丢不丢数据
1.5.11 Kafka的ISR副本同步队列
1.5.12 Kafka分区分配策略
1.5.13 Kafka中数据量计算
1.5.14 Kafka挂掉
1.5.15 Kafka消息数据积压,Kafka消费能力不足怎么处理?
1.5.16 Kafka幂等性
1.5.17 Kafka事务
1.5.18 Kafka数据重复
1.5.19 Kafka参数优化
1.5.20 Kafka 高效读写数据
1.5.21 Kafka支持传输
1.5.22 Kafka过期数据清理
1.5.23 Kafka可以按照时间消费数据
1.5.24 Zookeeper中存储kafka哪些信息
1.6 Hive总结
1.6.1 Hive的架构
1.6.2 Hive和数据库比较
1.6.3 内部表和外部表
1.6.4 4个By区别
1.6.5 窗口函数
1.6.6 自定义UDF、UDTF
1.6.7 Hive优化
1.6.8 Hive解决数据倾斜方法
1.6.9 用的是动态分区吗?动态分区的底层原理是什么?
26. Hive里边字段的分隔符用的什么?为什么用\t?有遇到过字段里边有\t的情况吗,怎么处理的?
1.7 HBase总结
1.7.1 HBase存储结构
1.7.2 RowKey设计原则
1.7.3 RowKey如何设计
1.7.4 HBase二级索引(详见Phoenix)
1.8 Sqoop参数
1.8.1 Sqoop导入导出Null存储一致性问题
1.8.2 Sqoop数据导出一致性问题
1.8.3 Sqoop底层运行的任务是什么
1.8.4 Sqoop数据导出的时候一次执行多长时间
1.8.5 Sqoop一天导多少数据
1.8.6 Sqoop在导入数据的时候数据倾斜
1.13 数据倾斜
1.13.1 数据倾斜表现
1.13.2 数据倾斜产生原因
1.13.3 解决数据倾斜思路
第2章 项目架构
2.1 数仓概念
2.2 系统数据流程设计
2.3 框架版本选型
2.4 服务器选型
2.5 集群规模
2.6 人员配置参考
2.6.1 整体架构
2.6.2 你们部门的职级等级,晋升规则
2.6.3 人员配置参考
第3章 用户行为数据分析
3.1 数仓分层架构表
3.2 埋点行为数据基本格式(基本字段)
3.3 项目经验总结
3.3.1 项目经验之元数据备份
3.3.2 日期处理函数
3.3.3 Union与Union all区别
3.3.4 Shell中单引号和双引号区别
3.3.5 Tez引擎优点?
3.4 需求逻辑(重点)
3.4.1 如何分析用户活跃?
3.4.2 如何分析用户新增?vivo
3.4.3 如何分析用户1天留存?
3.4.4 如何分析沉默用户?
3.4.5 如何分析本周回流用户?
3.4.6 如何分析流失用户?
3.4.7 如何分析最近连续3周活跃用户数?
3.4.8 如何分析最近七天内连续三天活跃用户数?
第8章 手写代码
8.1 基本算法
8.1.1 冒泡排序
8.1.2 二分查找
8.1.3 快排
8.1.4 归并
8.1.5 二叉树之Scala实现
8.2 手写HQL
8.2.1 手写HQL 第1题
8.2.2 手写HQL 第2题
8.2.3 手写HQL 第3题
8.2.4 手写HQL 第4题
8.2.5 手写HQL 第5题
8.2.6 手写HQL 第6题
8.2.7 手写HQL 第7题
8.2.8 手写SQL 第8题
8.2.9 手写HQL 第9题
8.2.10 手写HQL 第10题
第9章 JavaSE
9.1 HashMap底层源码,数据结构
9.2 Java自带哪几种线程池?
9.3 HashMap和HashTable区别
9.4 TreeSet和HashSet区别
9.5 String buffer和String build区别
9.6 Final、Finally、Finalize
9.7 ==和Equals区别
第10章 Redis
10.1 缓存穿透、缓存雪崩、缓存击穿
10.2 哨兵模式
10.3 数据类型
10.4 持久化
11.5 悲观锁
11.6 乐观锁
第11章 MySql
11.1 MyISAM与InnoDB的区别
11.2 索引优化
11.3 b-tree和b+tree的区别
11.4 redis是单线程的,为什么那么快
11.5 MySQL的事务
第12章 JVM
12.1 JVM内存分哪几个区,每个区的作用是什么?
12.2 Java类加载过程?
12.3 java中垃圾收集的方法有哪些?
12.4 如何判断一个对象是否存活?(或者GC对象的判定方法)
12.5 什么是类加载器,类加载器有哪些?
12.6 简述Java内存分配与回收策略以及Minor GC和Major GC(full GC)
第13章 JUC
13.1 Synchronized与Lock的区别
13.2 Runnable和Callable的区别
13.3 什么是分布式锁
13.4 什么是分布式事务
第14章 面试说明
14.1 面试过程最关键的是什么?
14.2 面试时该怎么说?
14.3 面试技巧
14.3.1 六个常见问题
14.3.2 两个注意事项
14.3.3 自我介绍(控制在4分半以内,不超过5分钟)
第15章 LeetCode题目精选
15.1 两数之和
15.1.1 问题描述
15.1.2 参考答案
15.2 爬楼梯
15.2.1 问题描述
15.2.2 参考答案
15.3 翻转二叉树
15.3.1 问题描述
15.3.2 参考答案
15.4 反转链表
15.4.1 问题描述
15.4.2 参考答案
15.5 LRU缓存机制
15.5.1 问题描述
15.5.2 参考答案
15.6 最长回文子串
15.6.1 问题描述
15.6.2 参考答案
15.7 有效的括号
15.7.1 问题描述
15.7.2 参考答案
15.8 数组中的第K个最大元素
15.8.1 问题描述
15.8.2 参考答案
15.9 实现 Trie (前缀树)
15.9.1 问题描述
15.9.2 参考答案
15.10 编辑距离
15.10.1 问题描述
15.10.2 参考答案
——————————————————————————— —— 大数据技术之高频面试题 目录 第 1 章 项目涉及技术 ...................................................................................................................... 6 1.1 Linux&Shell 相关总结 ........................................................................................................ 6 1.1.1 Linux 常用命令 ........................................................................................................ 6 1.1.2 Shell 常用工具 ..........................................................................................................7 1.2 Hadoop 相关总结 ................................................................................................................ 7 1.2.1 Hadoop 常用端口号 ................................................................................................. 7 1.2.2 Hadoop 配置文件以及简单的 Hadoop 集群搭建 .................................................. 7 1.2.3 HDFS 读流程和写流程............................................................................................8 1.2.4 MapReduce 的 Shuffle 过程及 Hadoop 优化(包括:压缩、小文件、集群优化) ............................................................................................................................................ 9 1.2.5 Yarn 的 Job 提交流程 .............................................................................................12 1.2.6 Yarn 的默认调度器、调度器分类、以及他们之间的区别 ................................12 1.2.7 项目经验之 LZO 压缩 .......................................................................................... 14 1.2.8 Hadoop 参数调优 ................................................................................................... 14 1.2.9 项目经验之基准测试............................................................................................14 1.2.10 Hadoop 宕机 ......................................................................................................... 14 1.2.11 Hadoop 解决数据倾斜方法 ................................................................................. 14 1.2.12 集群资源分配参数(项目中遇到的问题) ......................................................15 1.3 Zookeeper 相关总结 ..........................................................................................................15 1.3.1 选举机制 ................................................................................................................ 15 1.3.2 常用命令 ................................................................................................................ 16 1.4 Flume 相关总结.................................................................................................................16 1.4.1 Flume 组成,Put 事务,Take 事务 ...................................................................... 16 1.4.2 Flume 拦截器..........................................................................................................16 1.4.3 Flume Channel 选择器........................................................................................... 17 1.4.4 Flume 监控器..........................................................................................................17 1.4.5 Flume 采集数据会丢失吗?(防止数据丢失的机制)....................................... 17 1.4.6 Flume 内存 ..............................................................................................................17 1.4.7 FileChannel 优化 .................................................................................................... 17 1.4.8 Flume Channel 容量 ............................................................................................... 18
——————————————————————————— —— 1.4.9 HDFS Sink 小文件处理......................................................................................... 18 1.5 Kafka 相关总结................................................................................................................. 19 1.5.1 Kafka 架构 .............................................................................................................. 19 1.5.2 Kafka 压测 .............................................................................................................. 19 1.5.3 Kafka 的机器数量 .................................................................................................. 19 1.5.4 Kafka 的日志保存时间 .......................................................................................... 19 1.5.5 Kafka 的硬盘大小 .................................................................................................. 19 1.5.6 Kafka 监控 .............................................................................................................. 19 1.5.7 Kakfa 分区数 .......................................................................................................... 20 1.5.8 副本数设定............................................................................................................ 20 1.5.9 多少个 Topic..........................................................................................................20 1.5.10 Kafka 丢不丢数据 ................................................................................................ 20 1.5.11 Kafka 的 ISR 副本同步队列 ................................................................................20 1.5.12 Kafka 分区分配策略 ............................................................................................ 20 1.5.13 Kafka 中数据量计算 ............................................................................................ 21 1.5.14 Kafka 挂掉 ............................................................................................................ 21 1.5.15 Kafka 消息数据积压,Kafka 消费能力不足怎么处理?.................................21 1.5.16 Kafka 幂等性 ........................................................................................................ 22 1.5.17 Kafka 事务 ............................................................................................................ 22 1.5.18 Kafka 数据重复 .................................................................................................... 22 1.5.19 Kafka 参数优化 .................................................................................................... 23 1.5.20 Kafka 高效读写数据 ........................................................................................... 23 1.5.21 Kafka 支持传输 .................................................................................................... 24 1.5.22 Kafka 过期数据清理 ............................................................................................ 24 1.5.23 Kafka 可以按照时间消费数据 ............................................................................24 1.5.24 Zookeeper 中存储 kafka 哪些信息 ......................................................................25 1.6 Hive 总结 ........................................................................................................................... 25 1.6.1 Hive 的架构............................................................................................................ 25 1.6.2 Hive 和数据库比较 ................................................................................................ 25 1.6.3 内部表和外部表....................................................................................................26 1.6.4 4 个 By 区别 ........................................................................................................... 26 1.6.5 窗口函数 ................................................................................................................ 26 1.6.6 自定义 UDF、UDTF ............................................................................................ 27 1.6.7 Hive 优化 ................................................................................................................ 27 1
——————————————————————————— —— 1.6.8 Hive 解决数据倾斜方法 ........................................................................................ 29 1.6.9 用的是动态分区吗?动态分区的底层原理是什么? ....................................... 32 26. Hive 里边字段的分隔符用的什么?为什么用\t?有遇到过字段里边有\t 的情况 吗,怎么处理的? ..........................................................................................................32 1.7 HBase 总结 .........................................................................................................................32 1.7.1 HBase 存储结构..................................................................................................... 32 1.7.2 RowKey 设计原则..................................................................................................32 1.7.3 RowKey 如何设计..................................................................................................33 1.7.4 Phoenix 二级索引(讲原理) ...............................................................................33 1.8 Sqoop 参数.........................................................................................................................33 1.8.1 Sqoop 导入导出 Null 存储一致性问题................................................................ 33 1.8.2 Sqoop 数据导出一致性问题..................................................................................33 1.8.3 Sqoop 底层运行的任务是什么 ..............................................................................34 1.8.4 Sqoop 数据导出的时候一次执行多长时间......................................................... 34 1.8.5 Sqoop 一天导多少数据..........................................................................................34 1.8.6 Sqoop 在导入数据的时候数据倾斜 ..................................................................... 34 1.13 数据倾斜......................................................................................................................... 34 1.13.1 数据倾斜表现 ......................................................................................................35 1.13.2 数据倾斜产生原因 ..............................................................................................35 1.13.3 解决数据倾斜思路 ..............................................................................................36 第 2 章 项目架构 ............................................................................................................................ 37 2.1 数仓概念 ........................................................................................................................... 38 2.2 系统数据流程设计 ...........................................................................................................39 2.3 框架版本选型 ................................................................................................................... 39 2.4 服务器选型....................................................................................................................... 40 2.5 集群规模 ........................................................................................................................... 40 2.6 人员配置参考 ................................................................................................................... 41 2.6.1 整体架构 ................................................................................................................ 41 2.6.2 你们部门的职级等级,晋升规则 ........................................................................41 2.6.3 人员配置参考 ........................................................................................................41 第 3 章 用户行为数据分析 ............................................................................................................ 42 3.1 数仓分层架构表............................................................................................................... 42 3.2 埋点行为数据基本格式(基本字段)................................................................................ 43 3.3 项目经验总结 ................................................................................................................... 44 2
——————————————————————————— —— 3.3.1 项目经验之元数据备份 ........................................................................................44 3.3.2 日期处理函数 ........................................................................................................44 3.3.3 Union 与 Union all 区别.........................................................................................44 3.3.4 Shell 中单引号和双引号区别 ................................................................................45 3.3.5 Tez 引擎优点?...................................................................................................... 45 3.4 需求逻辑(重点) ...........................................................................................................46 3.4.1 如何分析用户活跃?............................................................................................46 3.4.2 如何分析用户新增?vivo.....................................................................................46 3.4.3 如何分析用户 1 天留存? ....................................................................................46 3.4.4 如何分析沉默用户?............................................................................................46 3.4.5 如何分析本周回流用户?....................................................................................46 3.4.6 如何分析流失用户?............................................................................................46 3.4.7 如何分析最近连续 3 周活跃用户数? ................................................................46 3.4.8 如何分析最近七天内连续三天活跃用户数?....................................................46 第 8 章 手写代码 ............................................................................................................................ 47 8.1 基本算法 ........................................................................................................................... 47 8.1.1 冒泡排序 ................................................................................................................ 47 8.1.2 二分查找 ................................................................................................................ 48 8.1.3 快排 ........................................................................................................................ 50 8.1.4 归并 ........................................................................................................................ 51 8.1.5 二叉树之 Scala 实现............................................................................................. 52 8.2 手写 HQL..........................................................................................................................57 8.2.1 手写 HQL 第 1 题.................................................................................................57 8.2.2 手写 HQL 第 2 题.................................................................................................58 8.2.3 手写 HQL 第 3 题.................................................................................................60 8.2.4 手写 HQL 第 4 题.................................................................................................61 8.2.5 手写 HQL 第 5 题.................................................................................................62 8.2.6 手写 HQL 第 6 题.................................................................................................66 8.2.7 手写 HQL 第 7 题.................................................................................................67 8.2.8 手写 SQL 第 8 题 ..................................................................................................68 8.2.9 手写 HQL 第 9 题.................................................................................................69 8.2.10 手写 HQL 第 10 题 .............................................................................................71 第 9 章 JavaSE ................................................................................................................................ 74 9.1 HashMap 底层源码,数据结构 ....................................................................................... 74 3
——————————————————————————— —— 9.2 Java 自带哪几种线程池? ................................................................................................77 9.3 HashMap 和 HashTable 区别 ............................................................................................ 78 9.4 TreeSet 和 HashSet 区别 ................................................................................................... 79 9.5 String buffer 和 String build 区别 ..................................................................................... 79 9.6 Final、Finally、Finalize ....................................................................................................79 9.7 ==和 Equals 区别 ...............................................................................................................80 第 10 章 Redis................................................................................................................................. 80 10.1 缓存穿透、缓存雪崩、缓存击穿.................................................................................80 10.2 哨兵模式......................................................................................................................... 81 10.3 数据类型......................................................................................................................... 81 10.4 持久化............................................................................................................................. 81 11.5 悲观锁 ............................................................................................................................. 82 11.6 乐观锁 ............................................................................................................................. 82 第 11 章 MySql ................................................................................................................................82 11.1 MyISAM 与 InnoDB 的区别...........................................................................................82 11.2 索引优化 ......................................................................................................................... 83 11.3 b-tree 和 b+tree 的区别....................................................................................................83 11.4 redis 是单线程的,为什么那么快 ................................................................................. 83 11.5 MySQL 的事务 ................................................................................................................ 84 第 12 章 JVM.................................................................................................................................. 85 12.1 JVM 内存分哪几个区,每个区的作用是什么?...........................................................85 12.2 Java 类加载过程?............................................................................................................ 86 12.3 java 中垃圾收集的方法有哪些?.................................................................................... 87 12.4 如何判断一个对象是否存活?(或者 GC 对象的判定方法)........................................ 88 12.5 什么是类加载器,类加载器有哪些?...........................................................................88 12.6 简述 Java 内存分配与回收策略以及 Minor GC 和 Major GC(full GC) ............... 88 第 13 章 JUC................................................................................................................................... 89 13.1 Synchronized 与 Lock 的区别.......................................................................................89 13.2 Runnable 和 Callable 的区别........................................................................................89 13.3 什么是分布式锁.............................................................................................................89 13.4 什么是分布式事务.........................................................................................................89 第 14 章 面试说明 .......................................................................................................................... 90 14.1 面试过程最关键的是什么?.........................................................................................90 14.2 面试时该怎么说?......................................................................................................... 90 4
——————————————————————————— —— 14.3 面试技巧......................................................................................................................... 90 14.3.1 六个常见问题 ......................................................................................................90 14.3.2 两个注意事项 ......................................................................................................91 14.3.3 自我介绍(控制在 4 分半以内,不超过 5 分钟) ......................................... 91 第 15 章 LeetCode 题目精选..........................................................................................................91 15.1 两数之和......................................................................................................................... 91 15.1.1 问题描述 .............................................................................................................. 91 15.1.2 参考答案 .............................................................................................................. 92 15.2 爬楼梯............................................................................................................................. 92 15.2.1 问题描述 .............................................................................................................. 92 15.2.2 参考答案 .............................................................................................................. 93 15.3 翻转二叉树..................................................................................................................... 94 15.3.1 问题描述 .............................................................................................................. 94 15.3.2 参考答案 .............................................................................................................. 94 15.4 反转链表......................................................................................................................... 95 15.4.1 问题描述 .............................................................................................................. 95 15.4.2 参考答案 .............................................................................................................. 95 15.5 LRU 缓存机制................................................................................................................. 96 15.5.1 问题描述 .............................................................................................................. 96 15.5.2 参考答案 .............................................................................................................. 97 15.6 最长回文子串................................................................................................................. 98 15.6.1 问题描述 .............................................................................................................. 98 15.6.2 参考答案 .............................................................................................................. 98 15.7 有效的括号..................................................................................................................... 99 15.7.1 问题描述 .............................................................................................................. 99 15.7.2 参考答案 ............................................................................................................ 101 15.8 数组中的第 K 个最大元素 ..........................................................................................102 15.8.1 问题描述 ............................................................................................................ 102 15.8.2 参考答案 ............................................................................................................ 103 15.9 实现 Trie (前缀树).......................................................................................................105 15.9.1 问题描述 ............................................................................................................ 105 15.9.2 参考答案 ............................................................................................................ 106 15.10 编辑距离 ..................................................................................................................... 107 15.10.1 问题描述 ..........................................................................................................107 5
——————————————————————————— —— 15.10.2 参考答案 ..........................................................................................................108 第 1 章 项目涉及技术 1.1 Linux&Shell 相关总结 1.1.1 Linux 常用命令 序号 命令 top df -h iotop iotop -o 1 2 3 4 5 6 命令解释 查看内存 查看磁盘存储情况 查看磁盘 IO 读写(yum install iotop 安装) 直接查看比较高的磁盘读写程序 netstat -tunlp | grep 端口号 查看端口占用情况 uptime 查看报告系统运行时长及平均负载 6
——————————————————————————— —— 7 查看进程 ps aux 1.1.2 Shell 常用工具 awk、sed、cut、sort 1.2 Hadoop 相关总结 1.2.1 Hadoop 常用端口号  dfs.namenode.http-address:50070  dfs.datanode.http-address:50075  SecondaryNameNode 辅助名称节点端口号:50090  dfs.datanode.address:50010  fs.defaultFS:8020 或者 9000  yarn.resourcemanager.webapp.address:8088  历史服务器 web 访问端口:19888 1.2.2 Hadoop 配置文件以及简单的 Hadoop 集群搭建 (1)配置文件: core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml hadoop-env.sh、yarn-env.sh、mapred-env.sh、slaves (2)简单的集群搭建过程: JDK 安装 配置 SSH 免密登录 配置 hadoop 核心文件: 格式化 namenode 7
分享到:
收藏