字节大数据开发工程师- 人力科技面经
一面
- 网络模型,每一层的功能
- 访问一个网页的流程
- tcp是如何保证可靠
- 线程和进程的区别
- JVM的内存区域
- 垃圾回收算法
- 类加载的过程
- Spark和MR的区别
- Spark任务调度过程
- spark中stag,job,task是如何划分的
- spark宽窄依赖
- 为什么spark比MR快
- Hadoop的框架
- Hadoop提交作业的流程
- Hadoop中是如何找到文件对应的block
- Hadoop块大小
项目:实时项目里统计指标
因为SQL和编程写的那部分页面刷不出来,所以没写,讲了下思路,题目忘了
二面
- Java新建一个对象的过程
- 创建对象的实现里有没有用到锁
- Java的锁和操作系统的锁有什么区别
- mapreduce里除了map和reduce组件,还有什么组件
- mapreduce中数据是怎么确定分到哪个reduce里
- map和reduce数量如何确定
- 如何把想要的数据分到对应的分区中
- hdfs大文件如何存储
项目:离线数仓相关
SQL:统计每个学科前三名的学生
算法:
- 计算两个数的平均值
- 发优惠券。一个数组中有N个用户,数组中是用户的等级,每个用户可以看到他相邻用户的等级,如果他的等级比他相邻用户的等级高,他要多拿一张优惠券。每个用户至少要发一张优惠券,问至少需要多少张优惠券?如果这是一个环形的,则至少需要多少优惠券
两道题都是说思想,没有写代码实现
三面
主要问项目:离线数仓中的各个组件功能,实时数仓redis的作用
没问八股
SQL:统计连续三天有购买记录的用户
算法:二叉树最右节点
后续
感谢信虽迟但到
#字节跳动大数据开发面经#