数据开发岗社招面经
面经
编码能力,清晰的表达,解决问题的方式,学习的方法,总结的能力,个人的潜力,感觉这几点往往是最重要的。这几点是需要在生活与工作中建立习惯来养成的。
明确自己感兴趣的行业,去寻找行业中的头部公司作为目标来去了解,去学习。
读书拓展思维,二八原理。
- 作业帮
- 元气森林
- 莉莉丝游戏
- 米哈游
- 同策咨询
- 久谦咨询
- 本来生活
- 字节数据中台
- 腾讯
- 个推
- 阿里
- 叽里呱啦
- 建信金科
- 同盾科技
米哈游
六月份尝试过一次,主要想看下自己的水平与市场的认可度,挂掉原因虽然了解的比较多,但是项目经验比较少,对方更多的用 Hive, 具体参考米哈游一面
作业帮
-面
- 手写 Spark SQL 从日志中统计活跃用户和非活跃用户的平均年龄,活跃用户判断标准是是否连续登陆两天
- leetcode 算法,无序数组中,返回两个数字为指定和的所有下标列表
- 工作中碰到过哪些 Spark 调优,讲一个
二面
- Spark Job 的提交流程,从宏观上来看,从一条 SQL 在 Spark 中执行过程来看
- Spark RBO,常见的 RBO 。CBO
- 怎么查看是否谓词下推?如何自己实现谓词下推
- Spark SQL 参数优化,用过哪些参数
- Spark JDBC 调优
- Spark Job 提交 YARN 流程
- Spark Join 策略有哪些
- Broadcast 是怎么实现的,如果广播的变量发生了变动,executor 端怎么感知到
- Spark Shuffle 流程,一些底层实现知道吗
- Impala + hive
- 存储有了解过吗,parquet,orc
- jvm 内存模型
- HashMap,哈希碰撞
- 手写 SQL
- 统计三年级总成绩大于 300 分的学生姓名和总成绩
- 每个年级 TOP 3的学生姓名和总成绩
- 你想找一个什么样的工作
- 为什么年底换工作
- 工作日晚上,周末一般做什么
- 有没有技术上擅长但是我没问到的
- 有啥想问我的吗
三面视频面
- 简单介绍下自己和自己做过的项目
- 主要用哪些技术栈
- 互相了解聊了会,为什么离职,开始问技术
- 实现斐波那契,并能真正跑出结果,优化成空间复杂度 O(1),主要看重现场编码能力
- 手写 SQL
- 计算用户行为序列,有一张表存在 id,action,time 字段,连续五次每次执行 action 的时间间隔小于一分钟的用户是活跃用户,统计活跃用户的数量
- 有用 Spark Streaming 做过实时数据流处理吗,没做过项目,那了解过吗,写过 demo 吗?
- 目前的薪资
- 有什么想了解的吗
hr面
- 离职原因
- 职业规划
- 薪资
- 是否有其他 offer 和面试
- 简单介绍公司及部门
- 在线教育行业的看法
元气森林
-面电话面
- 自我介绍 + 项目介绍
- Spark 和 MR 的区别
- Kakfa 的常用场景
- 四层数仓理论
- 如何解决数据不规范
- 如何判别垃圾需求
- 启发式问题(探讨下要做什么)
莉莉丝游戏
挂掉原因 - 反馈说需要全栈的,我就 Spark 深入的比较多,其他都是浅层了解
现场笔试
- 写 shell 统计销量 TOP N
- 给一张 MySQL 表,设计索引
- SQL 题
- leetcode easy 难度算法题
- MR 的 shuffle 过程
- JVM 内存模型
- 实现单例模式
-面现场面
- 说说笔试题难度
- 介绍下印象最深刻的项目,你从中得到了什么,有哪些优化的地方
- 了解 impala 吗
- 了解 kudu 吗
- parquet 文件格式
- 为什么 impala 比 Spark 更常用作查询引擎,Impala 查询更快的原因是什么
- 你说熟悉 Spark,读过源码吗,说下 shuffle 过程,说些 SQL 解析过程,说下 Spark JOIN 策略,broadcast 是怎么实现的
- 部门是做什么的
- 离职原因
同策咨询
-面
- hive 内部表,外部表
- 四层数仓理论
- kafka 全局有序?
- MySQL 索引的实现
- hive,hbase 用过吗
- 最后讲了下部门是做啥的,说是刚成立,不利于技术成长,劝我不要来,emmm,还有这样的操作。。。。。
字节数据中台
-面
- 偏启发式问题,主要看你做没做过,解决问题的方式与思路
- 简单自我介绍
- 第一份工作是爬虫,爬过哪些数据,爬过非公开的数据吗
- 逆向反编译怎么做,讲几个你自己做过的例子
- 有哪些反爬措施,举个例子
- 对于模式识别的反爬是怎么解决的
- IP 代理池
- 是怎么对爬下来的数据进行指标计算的,多维度计算
- 是怎么计算指标的,技术栈是什么的,有没有做维度查询,某个维度出现了误差该怎么解决,计算出来的指标是怎么展示的
- 如果指标计算出现了偏差,解决的方式是什么,怎么定位问题
- 举个你拿 Spark SQL 跑指标计算的项目来讲一下
- 数据库方面了解的多吗,比如 MySQL
- 手撸算法,数组最短重复数字子串的长度,可以理解为数字重复量最大的数字之间的最小的跨度,比如
1,2,2,3,1
,重复次数最多的数字是 1 和 2,但是 1 的跨度是5,2 的跨度是 2,所以返回2,2
的长度,即结果是 2。 - SQL 题
- 统计学生的年级排名和班级排名
- 如果是流式数据处理的话,这个计算排名的过程是什么样子的,比如 Flink
二面(WIP)
三面
腾讯
-面
- 自我介绍
- 简单介绍下做过的项目
- 从 5000 万个数中找到前 50 个最小的数据
- 快排
- 手写 SQL
- 技术栈
- 个人优缺点
个推
一面电话面
- 简单介绍
- 爬虫相关的一些问题
- Saprk JDBC 调节并行度,读过源码吗,原理是什么样子的
- Spark Shuffle,相比 MR
- 还愿意做爬虫吗?
二面( give up)
同盾科技
一面电话面
- 在神策的工作主要是什么,以项目来介绍下
- 主要用哪些技术栈
- Spark Shufle
- Spark Join
- Spark 执行过程
- Spark JDBC 调优
- Spark 统一内存模型
- jvm,堆内堆外都是干啥的
- 指标计算是怎么做的
- HDFS 架构
- parquet, orc 的区别
- Hbase
- 是否愿意出差
- 有啥想了解的吗