字节跳动-面试经历复盘
字节跳动数仓开发实习生-商业化-一面 2022.11.30 50min
1.自我介绍
2.项目
BI报表
3.大数据组件
3.1 HDFS
3.1.1 默认备份文件数量
3.1.2 读取和写入数据流程
3.1.3 写入的时候是写入一份备份就返回ACK还是写完三份才返回
3.2 MapReduce
3.2.1 讲讲MR原理
3.3 Hive
3.3.1 Hive内部表和外部表区别,为什么
3.3.2 Hive怎么把SQL转换成底层计算引擎的计算任务的
3.3.3 Hive元数据库
3.3.4 Hive和HDFS关系,什么时候需要用到HDFS
3.4 资源调度
3.4.1 对比下k8s和yarn
3.4.2 为什么大数据一般工业界用yarn,而后端用k8s
4.MySQL
4.1 索引
4.1.1 为什么是B+树
4.1.2 你一般怎么用索引的
5.sql
5.1 左右内外全连接区别
6.算法lc 34
sql一个lateral view的实操
字节跳动数仓开发实习生-商业化-二面 2022.12.08 30min
1.自我介绍
2.mysql
2.1 索引
2.1.1 解释数据库,表,索引
2.1.2 为什么索引加了查找会变快
2.1.3 举了6个sql,问会不会走索引,走到什么程度,考点包括联合索引,范围查询,类型转换,sql语句重写,like
2.2 第三范式
3.数据结构
3.1 二叉树
3.1.1 讲讲二叉树能拿来干啥
3.1.2 怎么遍历二叉树
4.lc 112
字节跳动后端开发实习生-生活服务-一面 2023.2.16 60min
1.自我介绍
2.计网
2.1 tcp
2.1.1 四次挥手过程
2.1.2 讲讲两个time状态
2.1.3 tcp和udp有什么区别
2.1.4 tcp和http有什么关系
2.1.5 tcpudp能不能共用一个端口号
3.操作系统
3.1 并发
3.1.1 讲讲进程线程纤程关系
3.1.2 线程间有什么同步手段
3.1.3 生产者消费者模式应该如何实现
4.mysql
4.1 索引
4.1.1 为什么是B+树
4.1.2 一般B+树多深
5.大数据组件
5.1 MR过程
5.2 MR中间有什么排序
5.3 MR最后输出结果有序嘛
5.4 HBase和MySQL区别
6.虚拟化
6.1 讲讲docker的桥接网络
7.Redis
7.1 数据结构
7.2 跳表底层
7.3 Bitmap
8.lc 103
字节跳动数仓开发实习生-data-一面 2023.6.19 50min
1.自我介绍
2.项目
3.大数据组件
3.1 讲讲宽窄依赖
4.sql
4.1 where和having区别
4.2 having能不能单用
4.3 各种join区别
5.sql一般的连表查询
字节跳动数仓开发实习生-data-二面 2023.6.21 60min
1.自我介绍
2.项目
3.大数据组件
3.1 为啥yarn引入了队列的概念
4.数仓
4.1 为啥一般同时带timestamp和data
5.sql一般的连表查询+对着写出来的sql进行优化
字节跳动后端开发实习生-国际化内容安全平台-一面 2023.9.26 60min
1.自我介绍
2.实习
*2.1 开发流程
*2.2 自研框架底层原理
*2.3 优化工作深挖,想出尽可能多的指标来确定mysql层面优化的效果,如果上了缓存又用什么指标评价优化效果,如果异步化上了mq又可以用什么指标衡量优化效果
3.操作系统
3.1 进程间通讯方式及其在java中怎么实现
4.java
4.1 juc
4.1.1 syn和volatile比较
5.sql
5.1 各种join区别
6.场景题
6.1 40亿个数字,怎么判断某个数字存不存在
7.lc 75
字节跳动数仓开发实习生-dataleap-一面 2023.11.07 60min oc
1.自我介绍
2.自我介绍
3.实习
4.MySQL
4.1 索引
4.1.1 为什么建一个索引(A,B,C)当sql语句写where B = XX的时候没办法走索引
5.大数据组件
5.1 大数据组件
5.1.1 大数据组件整体介绍
5.1.2 spark出现是为了解决之前存在的什么问题
5.1.3 RDD
5.1.4 spark任务提交后发生的过程
6.sql直播间峰值
字节跳动数仓开发实习生-dataleap-二面 2023.11.10 45min oc
1.自我介绍
2.项目
3.大数据组件
3.1 大数据组件整体介绍
3.2 spark出现是为了解决mr什么问题
3.3 spark处理提交任务的流程
4.数仓
4.1 数仓整体介绍
5.算法
5.1 算法整体介绍
5.2 讲讲对时序数据挖掘一般怎么处理
6.一般的sql连表查询
table A,B -> table C
统计父表拥有的子表的数量和涉及到的用户的数量
字节跳动数仓开发实习生-dataleap-三面HR面 2023.11.15 25min oc
1.自我介绍
2.实习最大的收获
3.实习怎么团队协作的
4.实习人际关系怎么处理
5.之前面试流程的感觉怎么样
6.对于前面的业务老师有什么感受
7.希望在实习中收获到什么
8.压力大怎么办
9.认为自己有什么优缺点
字节跳动后端开发实习生-dataleap-一面 2024.1.30 60min BitSail组
1.自我介绍
2.项目
*2.1 为啥不独立部署,需要引入资源调度框架
*2.2 为啥作了本地缓存和云端redis缓存两极缓存架构
3.大数据组件
3.1 计算引擎
3.1.1 spark和mr计算引擎的本质区别?
3.1.2 计算引擎演进历史?各个不同时代出现的计算引擎为了解决什么问题?所以有什么特点?然后带上了什么缺点?
3.1.3 讲讲spark怎么进行内存管理的?各个大版本的内存管理模型有什么不同?
3.1.4 spark节点之间是怎么进行通信的?为什么通信模型会这么设计?
3.1.5 谈谈spark支持的各种sort?各种不同的sort分别是怎么实现的?
3.1.6 在海量数据进行排序的时候,肯定内存是会不够用的,你了解过spark是怎么针对这个问题进行优化的嘛?
3.1.7 你提到了tungsten计划,那你对于tungsten的其他的大改进有了解嘛?比如说火山模型进行了怎么优化?
3.1.8 最后谈谈他对于JVM架构通过unsafe重写吧,这块你了解有多深入?你是怎么看待这个设计的?
3.2 存储引擎
3.2.1 聊聊LSM树?
3.2.2 为什么LSM树相比于B+树更支持时序数据场景?
3.2.3 谈谈Influxdb的TSM和HBase的LSM的区别
4.场景题
4.1 当同时有海量计算任务在运行的时候,怎么设计计算引擎迁移的方案,怎么平滑迁移,不带来突然崩溃的问题?
4.2 mr引擎迁移到spark引擎时,应该注意考虑到的问题,对具体的任务要针对性考虑什么东西?
4.3 请你设计一个从Influxdb到Hive的一个数据同步方案?Hive里面的数据模型怎么设计?spark或者flink怎么做并行同步消费,如何分片?同步数据源的怎么消费,调用API还是处理文件?
5.Java
5.1 谈谈volatile?
5.2 volatile在硬件上是怎么实现的?CPU提供了什么支持?
6.计算机组成原理
6.1 谈谈堆和栈的区别?
6.2 哪个访问速度更快,为什么?
6.3 cache和寄存器有什么区别?
6.4 cache和寄存器哪个访问速度更快?
7.计网
7.1 聊聊拥塞控制算法?
7.2 流量控制和拥塞控制有什么区别?
7.3 spark里有流量控制算法嘛?
8.积累
8.1 对flink接触多少
8.2 平时参与开源活动嘛
9.lc 112
字节跳动后端开发实习生-dataleap-二面 2024.2.02 60min BitSail组
面试官是工作了有十四年的大神级前辈,不PUA纯讨论技术,收获了老多东西,可惜没机会跟大神学习
0八股0算法
1.自我介绍
2.项目
2.1 对于分区域数据中心的思考1,这样会不会引入数据同步的问题,由于网络通信的问题,增大架构的不稳定性?
2.2 对于分区域数据中心的思考1,对于有地理分布情况下的数据传输,需不需要增加而外的手段保证其可靠性呢?
2.3 对于数据倾斜的思考,由于什么情况产生了数据倾斜?
2.4 对于数据倾斜处理方案的思考1,直接全局负载均衡是不是不太好?可不可以考虑局部负载均衡?
2.5 对于数据倾斜处理方案的思考2,静态的负载均衡是不是也不太好?能不能根据不同时期特点动态自适应负载均衡?
2.6 对于流计算链路架构的思考1,为啥考虑Kappa?比较各种不同的流计算架构,有没有更适合的?能不能不照着模板,自己根据实际需要,设计出针对性定制化改进的流计算架构链路?
2.6 对于流计算链路架构的思考2,整体架构设计怎么考虑容灾冗余,故障恢复的?
2.7 对于流计算链路架构的思考3,整体架构怎么考虑应对瞬时数据洪峰的?
2.8 对于流计算链路架构的思考4,整体架构怎么考虑保障数据处理链路的准确性的?万一某个环节数据丢了或者错了或者多了,是不是最后结果实际上也就丢了或者错了或者多了,但是我们并不知道?
2.7 对于存储架构的思考1,为啥考虑LSM?为啥用TSM的Influxdb,能不能用依靠于纯LSM的TiDB等改造成适合时序数据处理的存储架构?
2.8 对于存储架构的思考2,可不可以不只依靠于LSM树系列,构建分层次多级的存储架构,来更加适应实际数据读取和写入的需要呢?
2.9 对于代码细节层面的思考,SparkStreaming和Structured Streaming在实现核心流计算任务上的功能实现和性能的区别?
2.10 对于代码细节层面2的思考,flink和Structured Streaming在实现核心流计算任务上的功能实现和性能的区别?
2.11 对于代码细节层面3的思考,缓存架构设计上,spark本身维护的变量和云端redis在实现核心流计算任务上的功能实现和性能的区别?
2.12 衍生的基础知识,谈谈你对大数据组件怎么处理大的认识,尽可能举所有了解的组件采集的不同的手段?
2.13 衍生的基础知识,Kakfa怎么保证数据一致性?
2.14 衍生的基础知识,Spark怎么保证数据一致性?
2.15 衍生的扩展知识,如果交由你从0-1地设计并且实现一个分布式系统,你会怎么做?如果是分布式计算引擎,你会
从哪里切入,考虑什么,怎么设计?如果是分布式存储引擎,你会从哪里切入,考虑什么,怎么设计?如果是分布式中间件,你会从哪里切入,考虑什么,怎么设计?
字节跳动后端开发实习生-搜索-一面 2024.5.20 70min 抖音百科组
1.自我介绍
2.项目
3.实习
4.MySQL
4.1 mysql可能出现什么和并发相关问题
4.2 举个例子说可重复读下的幻读问题的场景
4.3 mysql的是怎么解决并发问题的
4.4 有了undolog为啥还需要redolog呢
4.5 不能直接undolog+最新数据刷盘吗
5.计网
5.1 打开https://www.baidu.com的过程
5.2 第二次和第三次挥手能合并嘛
5.3 tcp_send函数干了啥
5.4 第二次挥手和第三次挥手之间,主动端口的那端能干什么
5.5 第三次挥手一直没发,会发生什么
6.操作系统
6.1 父子进程共用了什么
7.中间件
7.1 kafka的整体架构
7.2 kafka是推送还是拉取
7.3 docker底层原理
7.4 cgroup1.0和2.0的区别
8.手撕
8.1 洛谷搜CF1605C https://www.luogu.com.cn/problem/CF1605C
8.2 lc104
要求非递归
8.3 白板推导证明二分搜索复杂度是O(logN)
字节跳动后端开发实习生-搜索-二面 2024.5.26 70min 抖音百科组
1.自我介绍
2.项目
3.实习
4.redis
4.1 什么场景需要引入缓存
4.2 什么场景缓存和主存需要保证强一致性
4.3 最终一致性和强一致性怎么保证
4.4 举个例子说明先update再delete不一致性的现象怎么出现的
4.5 先update再delete的delete操作失败了怎么办,是不是就不一致了
5.java
5.1 读代码,函数传参,参数是对象,函数内修改value后,函数外会不会变,函数内new后,函数外会不会变
5.2 java里面字符串拼接方式和性能区别
6.场景题
6.1 直播间峰值问题
6.2 爬虫一般有什么反爬机制,如何破解反爬机制
7.算法
lc 200
字节跳动后端开发实习生-搜索-二面 2024.5.28 70min 抖音百科组
1.自我介绍
2.项目
3.基础
3.1 正则表达式
4.计网
4.1 http有哪些head和cache有关分别是什么含义
4.2 tcp建立连接时,被动建立连接那端如果没监听端口号会发生什么
4.3 tcp相比与udp是怎么保证可靠的
5.算法
lc 165
字节跳动后端开发实习生-data-一面 2024.6.5 40min ai-lab组
1.自我介绍
2.实习
3.mysql
3.1 日志
3.2 事务隔离级别
4.算法
lc 25
字节跳动后端开发实习生-国际化商业技术与产品-一面 2024.7.10 60min 风控组 oc
1.自我介绍
2.项目
3.计网
3.1 粘包黏包问题原因,如何解决
4.中间件
4.2 什么时候采用rpc作远端调用,什么时候采用mq消息队列
5.算法
lc 207
字节跳动后端开发实习生-国际化商业技术与产品-二面 2024.7.15 60min 风控组 oc
1.自我介绍
2.实习
3.场景题
3.1 对于一种复合原子性操作,怎么保证一致性,例如页面上点击一个按钮进行一个树型结构的鉴权加上删除节点操作,但是鉴权之后可能有其他用户操作使得不满足要求了,但是上个操作回进行删除操作,非法了
3.2 对于数据库选型的理解,什么时候会选择什么数据库,别局限,尽量谈的越多越好,只要了解某种数据库和对应场景就可以说
3.3 为什么mysql时候是行式存储,到hbase等出现了列式存储
3.4 对于mq的理解,如何保证kafka消费有序性
4.计网
4.1 http的code有什么,403是什么
5.redis
5.1 redis用过什么数据结构,底层是什么
5.2 sorted set支持直接遍历吗
5.3 redis总共支持哪里数据类型,尽可能说所有
6.mysql
6.1 怎么分析一个sql执行效率
6.2 慢查询治理策略
6.3 mysql有哪些引擎
6.4 innodb和myisam有什么区别
6.5 事务隔离级别
6.6 读已提交会有幻读问题吗
7.算法
lc16
字节跳动后端开发实习生-国际化商业技术与产品-三面hr面 2024.7.16 10min 风控组 oc
1.自我介绍
2.之前实习的收获
3.对前面业务老师的看法
4.对于部门业务的了解
面完10min OC,第二天上午正式OC电话,下午offer letter
#字节跳动##java##阿里巴巴##腾讯##软件开发2024笔面经#
查看17道真题和解析