大数据开发工程师校招面经

一只菜鸟在校招面试过程中,大数据开发岗位的一些面经

新华智云

一面(30分钟)

  1. 谈谈你对HDFS的了解
  2. Hadoop2.0做了哪些改动
  3. Spark与MR的区别在哪里
  4. 知道除了Spark之外的大数据处理框架嘛
  5. Spark shuffle,说说
  6. StringBuilder与StringBuffer的区别
  7. HashMap与Hashtable的区别
  8. 二叉树的数据结构是什么样的
  9. 数据库索引的实现原理
  10. jvm垃圾收集器,挑一种讲讲

留了2题编程题:
大数据开发工程师校招面经_第1张图片

二面(50分钟)

  1. 讲讲你的日志流量分析系统项目
  2. 小文件合并,为什么需要合并小文件呢
  3. 讲讲NameNode与DataNode
  4. 当数据还在跑的时候,我要查这个数据怎么办
  5. 存储格式的选择 & 行式存储与列式存储的优劣
  6. 为什么选择ORC,不选择parquet
  7. 如果我select * 怎么办
  8. 如果我要查一段时间区域的,怎么优化
  9. 说说数据倾斜,怎么调优的
  10. 说说你对Hive的理解
  11. Hive怎么转成MR的
  12. 出现OOM,怎么办
  13. shuffle过程中,会将数据写到哪个buffer里去
  14. 讲讲executor、core、task这些之间的关系
  15. 平时怎么学习spark的
  16. 除了大数据,会Spring嘛
  17. 说说你还会些啥技能
  18. Spark与Scala的版本选择的是什么
  19. Spark为什么选择1.6.1 不去选择2.x
  20. Spark2.X做了哪些改动 & 知道这些是通过哪里去看嘛
  21. spark-submit --jars
    这个jar包放在哪里的
  22. 副本放置策略

知道创宇成都分公司

一面(1小时)

  1. 简历上的3个项目依次介绍
  2. Scala中Nil,Option,yield
  3. HDFS的写流程
  4. MapReduce与Spark的区别
  5. MapReduce的适用场景
  6. 常用的10个linux命令
  7. 做过机器学习相关的嘛
  8. 数据倾斜的调优
  9. 出现OOM之后,如何进行调优
  10. 会写脚本吗

擎创科技

一面(30分钟)

  1. 数组与链表的区别
  2. 二叉树
  3. jvm内存模型
  4. 写代码:2个数组去重
  5. 面试官介绍公司的业务

tap4fun

现场笔试

选择题+编程题+SQL题
选择题主要是一些大数据的基础
SQL题对窗口函数进行了考察

一面(15分钟)

  1. MapReduce shuffle与Spark shuffle的区别
    其实就是问:Sort Shuffle与Hash Shuffle的区别
    因为MR的shuffle多了排序阶段与合并阶段
    换种形式问Spark的shuffle而已
  2. 日志告警的项目
    a.为什么需要加上Kafka,Flume也可以直接对接Spark Streaming的,为什么需要加上Kafka
    b.为什么要将数据从String格式改造成Json格式,String格式的读进来也可以转成DF,然后注册成临时表啊
    c.String转为Json是怎么改造的
  3. 什么是迭代式计算

美图

一面(45分钟)

  1. 为什么选择美图,你知道美图地点在哪里嘛
  2. 介绍下你做的项目吧
  3. 数据统一管理平台,我挺感兴趣的,你说说吧
  4. 我大概知道是怎么回事了,java web这块你参与开发了吗
  5. 你刚刚项目提到了元数据,你能说说hive的元数据管理嘛,对它了解嘛
  6. 还是hive,你对hive有哪些原理性了解呢
    之后说了hive --> mr的过程
  7. 你提到了谓词下推,举个sql的例子,说说谓词下推是怎么回事
  8. 知道AST、operator tree这些长什么样吗
  9. 那你的hive转mr过程是怎么了解的呢?
  10. 那么现在有个问题,如果有个用户:去做了个全表扫描,去查数据,即便我们要求了要指定分区去查,但是他都没有这样做;那么,从你刚刚hive转mr过程的阶段中,你觉得应该从哪个阶段开始避免呢?
    面试官:我给你整理下,你刚刚说的过程吧:hive ql --> ast ast --> qb qb --> operator tree 你觉得这三个哪个阶段去避免比较好呢
  11. 除了谓词下推,还能说说其它的优化嘛?别说数据倾斜的调优
  12. 你刚刚提到了可分割的压缩格式,说下哪些压缩格式支持分割呢?
  13. jvm了解不,说下垃圾收集算法
  14. 平常用java和scala语言哪个多点
  15. 如果我现在要使用map集合,你觉得哪种适合多线程情况下进行访问
  16. 如何去线程监控
  17. Spark 出现OOM,你觉得该怎么进行调优呢?不去动jvm的参数
  18. 如果大表与小表join,出现问题,你觉得该怎么优化
  19. 那如果现在只是单纯的数据量过大了,出现OOM,该怎么办呢?
  20. 那我现在如果在shuffle过程中,增加并行度,是否能缓解数据倾斜的情况呢?
  21. 你对未来的规划是什么?(五年内)
  22. 向面试官询问了,部门的大数据业务、对自己未来发展的建议

二面(43分钟)

  1. ThriftServer的HA如何去实现,能说下实现的思路嘛
  2. 能说下Zookeeper的watch机制是如何实现的嘛?
  3. 场景题:现在有1个client,2个server,当我动态加入一台机器,或者删除一台机器,或者某台机器宕机了,client该如何去感知到,说下实现思路(不使用Zookeeper)

汉得信息

一面(40分钟)
  1. 简历上的项目介绍
  2. RDD介绍
  3. 爬虫、分类算法介绍
  4. JVM介绍

汽车之家(大数据部–基础平台组)

一面(42分钟)

  1. 实习时间,能实习多久
  2. MapReduce的执行流程
  3. map最多可以有几个,combiner阶段,举2个不能使用combiner的例子
  4. hql转MapReduce的流程说下
  5. Spark Shuffle调优,调哪几个参数
  6. Spark Shuffle有哪几个类
  7. hashshuffle的consolidate机制被移除取代了,为什么?你觉得它有什么缺陷
  8. 计算机网络,三次握手,为什么需要三次
  9. 在这个过程中,可以携带数据嘛
  10. Synchronized与volatile的区别
  11. 二分查找算法的时间复杂度、空间复杂度
  12. 说下你的能耗资源统计分析系统项目
  13. 你们最终的数据是存哪的?
  14. 为什么使用es,而不是使用关系型数据库(MySQL)
  15. 重跑的设计,是指定批次重跑嘛,怎么设计的
  16. ResourceManager HA的设计,如何设计?
  17. 平台的权限怎么做的?
  18. 面试官最后主动介绍了下部门,对我的建议是java基础不行,没做过相关的项目,真实工作中不可能就管一块

蚂蚁金服(保险事业群)

一面(30分钟)

  1. 项目中的亮点,说说
    小文件合并、整条链路的重跑 设计
  2. 技术选型:MapReduce VS Spark
  3. 日志格式是怎么样的
  4. 项目开发的团队有多少人,规模多大
  5. 关于Flume 与 Spark是怎么学习的
  6. xxx专业是你的高考第一志愿吗
  7. 除了日志流量分析项目,还有哪些项目
    说了Hive的项目,被面试官指太简单
  8. 有没有做个Web相关的
  9. 有没有关注名人的博客
  10. 对大数据领域的看法
  11. 有没有其它的兴趣爱好

猫眼

一面

  1. 自我介绍
  2. Hive窗口函数你用过哪些? 哪些场景下使用的,有什么功能?
  3. left join、right join、join的区别
  4. rdd的特性
  5. spark怎么划分stage
  6. 哪些操作出发job (trasformation action)
  7. spark参数调优
  8. spark数据倾斜调优?如何进行调优?
  9. 数据倾斜不用spark处理,可以用hive处理吗? hive中也有一个设置参数加随机数你知道吗?
  10. 说下用过哪些linux命令
  11. spark wordcount代码口述
  12. java 常用集合:hashtable、hashmap、concurrenthashmap
  13. spring ioc aop 实现原理
  14. flume主要用来做什么
  15. mysql索引原理
  16. spring bean的生命周期
  17. jvm了解吗 简单说下jvm原理 GC机制
  18. spring DI 机制
  19. kafka 消费者写过吗 offset偏移量怎么维护?
  20. yarn 集群两种模式知道吗?有什么区别?
  21. mr运行流程
  22. mr中的shuffle阶段的优化
  23. 现在有两张表 user (用户id):所有用户 订单表(用户id 订单id 时间) :今天的所有订单
    1. 需要知道今天没有买到票的用户
      两种方式 1.not in 效率不行 2.left join
    2. 查询订单表同一天购买两个订单的用户
      count求和 having count(*)=2(having后面可以加聚合函数)
    3. 每个用户买过的第二条订单
  24. rdd里面是什么样的结构
  25. 数据结构与算法相关:快排、二叉树遍历 递归与非递归、检查一个链表是否有环 知道几种方法?

二面

  1. 自我介绍
  2. 项目相关
  3. spark中的数据倾斜
  4. spark提交一个程序怎么划分
  5. spark数据倾斜你是怎么处理的
  6. 数据解析你使用的什么(spark sql )
  7. 离线项目相关:离线数据处理
  8. spark sql最终生成多少个文件
  9. 最终生成的文件是否存在小文件的问题
  10. 自己搭建过集群环境吗
  11. hive sql 写的多吗,是写sql 多还是代码多,mr写过吗
  12. kafka topic会有多个partition?为什么要建立partition?
  13. hive的优化
  14. hive两个表join一个大表一个小表 小表满足多大要求才会放入内存
  15. mapjion原理 mapjoin从那个版本开始?
  16. 用过spring吗? spring dao层有什么用? 用的hibernate还是mybatis?
  17. spring 数据库连接池有哪些类型? 用的哪一个?
  18. spring配置多个库支持吗?
  19. linux命令: 查看机器负载情况? 查看进程占用的端口? 看内存? 看磁盘?
  20. 我有三个线程 要求都达到一种状态之后在继续执行
  21. 问我能去他们那边面试吗?或者线下宣讲会

海康威视

一面(电话25分钟)

  1. 数据倾斜的解决,怎么知道哪里倾斜
  2. 自定义类的广播
  3. cache机制,rdd和df的cache什么区别
  4. spark动态内存,堆内和堆外
  5. rdd算子,map,mappartitions,foreach,union
  6. 宽依赖,窄依赖
  7. spark DAG过程,doOnrecive,eventloop执行过程
  8. stage和task怎么分类
  9. spark调优
  10. 概念,executor,worker,job
  11. 用没用过spark什么log,没记住
  12. 讲讲sparkSQL数据清洗过程

二面(现场30分钟)

  1. 问了很多项目相关的
  2. RDD有什么特点?如果RDD链路很长如何避免重新计算
  3. kafka offset了解吗
  4. 项目中如何较少网络传输
  5. 如何保证存储和索引的一致性
  6. 项目中解决过的比较复杂的问题

vivo

一面(视频)

  1. 自我介绍
  2. 问项目相关
  3. tcp udp http 和 https
  4. 线程 进程 死锁
  5. 多线程 锁
  6. 分布式锁
  7. HashMap底层
  8. HDFS、MapReduce工作流程
  9. awk和sed命令

知乎

一面

  1. 合并2个有序链表
  2. java三大特性的理解,如何去应用
  3. 设计模式
  4. jvm内存分配、垃圾回收算法
  5. java集合框架
  6. Spark shuffle和MapReduce shuffle的区别
  7. Scala的柯里化和隐式转换
  8. 函数式编程

猪八戒

一面(现场30分钟)

  1. MapReduce的工作流程
  2. RDD的五大特性
  3. 项目相关

海拍客

一面(现场2小时)

全程项目,在白板上边画边讲,和面试官讨论

你可能感兴趣的:(大数据开发工程师校招面经)