字节跳动大数据开发工程师-电商业务面经
许愿offer
1面:
1、为什么换了方向呢?
2、二叉树的广度优先遍历和深度优先遍历。
3、TCP的三次握手和四次挥手。
4、平时编程用什么语言?
5、kafka的消息有序吗?当时是怎么了解kafka这些的?kafka这块是看的相关的书籍还是博客呢?kafka怎么回溯数据?(下游消费kafka里的数据,数据丢了,要重新消费昨天的数据怎么做这个回溯呢?)
kafka的数据保存在哪呢?像这种被消费之后的数据。
6、sqoop将数据导入数仓吗?底层原理是什么样的?
7、tez运行,你知道hive有哪些引擎?
8、有自己写过udf,udtf吗?udtf写的是什么?
9、hive窗口函数了解吗?了解哪些?row_number、rank、dense_rank的区别?
10、sql题,求连续活跃5天的用户。
11、算法题,实现微信发红包,输入是红包数和总金额,实现随机分配。(期望要一样)
2面:
1、数据是哪里来的?日志数据怎么实现。是动态变化的吗?
2、了解flink吗?
3、数仓分层每层是做什么的?
4、哪个技术栈比较熟?
5、kafka的高可用是怎么保证的?
6、kafka遇到什么性能瓶颈?
7、了解kafka和其他MQ之间的区别吗?比如说activeMQ。
8、kafka的哪些设计会提高它的性能。
9、hdfs的mr的shuffle机制?
10、hive里面map和reduce的数量怎么确定?它的优先级是怎么样的?还有其他的优化吗?除了参数的影响(哪些参数可以调控map的数量)。
11、数据倾斜简单介绍一下。怎么优化?
12、mapjoin了解吗?还有其他的理解吗?其他的join有了解吗?比如说桶的优化。
13、讲下sparkstreaming的大概原理。
14、spark为什么比mr快?
15、spark的stage的划分是怎么划分的?是从前面开始还是从后面开始的顺序?
16、JVM的内存模型讲一下。
17、你觉得你自己的优势和不足是什么?
18、算法题,一个数组里面每个元素表示每天的股票价钱,怎么样买入和卖出能赚最多的钱?只能先买入再卖出。
3面:(以为是聊项目,谈人生理想,没想到全程在问基础写算法题)
自我介绍
简单介绍下你的项目
基础问题:
java里面的几个底层原理。hashmap冲突了怎么处理的?链表太长,冲突太多了怎么办?treemap底层是怎么实现的?我说不会,面试官就让我想下你觉得能怎么实现?
简单解释一下多线程和多进程有什么区别?
mysql的索引?b+树相对于b树有什么优点?
mr的combiner主要是做什么?
算法题
1、n个个位数,全排列组成一个整数。怎么找到最近的下一个比他大的数。时间复杂度要求o(n)。(没写代码,只让我讲思路)
2、返回二叉树的镜像,非递归算法。
3、抖音用户浏览视频日志 TableA(date, user_id, video_id), 统计2020.03.29观看视频最多的前5个user_id(相同视频要排重)。
3面面试官虽然感觉有点凶,但句句在理,很耐心的一点点揪出我代码里的错误,让我改正。前2面的面试官也很超有耐心,面试体验感太好了。
#面经##字节跳动##大数据开发工程师##校招#1、为什么换了方向呢?
2、二叉树的广度优先遍历和深度优先遍历。
3、TCP的三次握手和四次挥手。
4、平时编程用什么语言?
5、kafka的消息有序吗?当时是怎么了解kafka这些的?kafka这块是看的相关的书籍还是博客呢?kafka怎么回溯数据?(下游消费kafka里的数据,数据丢了,要重新消费昨天的数据怎么做这个回溯呢?)
kafka的数据保存在哪呢?像这种被消费之后的数据。
6、sqoop将数据导入数仓吗?底层原理是什么样的?
7、tez运行,你知道hive有哪些引擎?
8、有自己写过udf,udtf吗?udtf写的是什么?
9、hive窗口函数了解吗?了解哪些?row_number、rank、dense_rank的区别?
10、sql题,求连续活跃5天的用户。
11、算法题,实现微信发红包,输入是红包数和总金额,实现随机分配。(期望要一样)
2面:
1、数据是哪里来的?日志数据怎么实现。是动态变化的吗?
2、了解flink吗?
3、数仓分层每层是做什么的?
4、哪个技术栈比较熟?
5、kafka的高可用是怎么保证的?
6、kafka遇到什么性能瓶颈?
7、了解kafka和其他MQ之间的区别吗?比如说activeMQ。
8、kafka的哪些设计会提高它的性能。
9、hdfs的mr的shuffle机制?
10、hive里面map和reduce的数量怎么确定?它的优先级是怎么样的?还有其他的优化吗?除了参数的影响(哪些参数可以调控map的数量)。
11、数据倾斜简单介绍一下。怎么优化?
12、mapjoin了解吗?还有其他的理解吗?其他的join有了解吗?比如说桶的优化。
13、讲下sparkstreaming的大概原理。
14、spark为什么比mr快?
15、spark的stage的划分是怎么划分的?是从前面开始还是从后面开始的顺序?
16、JVM的内存模型讲一下。
17、你觉得你自己的优势和不足是什么?
18、算法题,一个数组里面每个元素表示每天的股票价钱,怎么样买入和卖出能赚最多的钱?只能先买入再卖出。
3面:(以为是聊项目,谈人生理想,没想到全程在问基础写算法题)
自我介绍
简单介绍下你的项目
基础问题:
java里面的几个底层原理。hashmap冲突了怎么处理的?链表太长,冲突太多了怎么办?treemap底层是怎么实现的?我说不会,面试官就让我想下你觉得能怎么实现?
简单解释一下多线程和多进程有什么区别?
mysql的索引?b+树相对于b树有什么优点?
mr的combiner主要是做什么?
算法题
1、n个个位数,全排列组成一个整数。怎么找到最近的下一个比他大的数。时间复杂度要求o(n)。(没写代码,只让我讲思路)
2、返回二叉树的镜像,非递归算法。
3、抖音用户浏览视频日志 TableA(date, user_id, video_id), 统计2020.03.29观看视频最多的前5个user_id(相同视频要排重)。
3面面试官虽然感觉有点凶,但句句在理,很耐心的一点点揪出我代码里的错误,让我改正。前2面的面试官也很超有耐心,面试体验感太好了。