字节TikTok研发部24届实习面经(已offer)
一共四次面试的流程(三轮技术面,一轮HRBP)一周之内就走完了,字节效率还是很高的。
其实是上个月中旬发的offer,今天发现最近很多人在找实习,就回馈一下牛客的各位同学啦。
一面
1.说说对grpc的了解
2.你提到了grpc是使用http2.0,那么他和普通的http有什么区别呢
3.你了解grpc是怎么做服务发现的吗
4.服务端怎么做负载均衡保证负载量合理
5.jwt请求鉴权实现方式
6.对redis的使用场景
7.redis如何实现过期
8.mysql有哪些索引
9.主键索引的数据结构
10.为什么使用B+树
11.mysql在比较查询时如何进行顺序存取
12.联合索引的底层结构
13.事务的特性 实现方式
14.计算机网络分层与每层的职责 路由器工作在哪一层
15.tcp拥塞控制
16.介绍一下基于可靠消息的最终一致性方案
17.为什么不做重试呢
18.分布式锁的实现方式 redlock
19.分布式锁的过期除了时间偏移还有考虑其他的过期情况吗
20.分布式锁对应的key value中value是怎么考虑的呢(如何保证唯一性)
算法
做了个分治+合并两个有序链表
二面
1.介绍一下自己的跨语言微服务项目
2.展开介绍一下自己学到的技术
3.用户鉴权除了jwt还有什么方案,之间的区别
4.jwt泄漏了之后怎么让它失效(我回答的双token)
5.那如果使用双token是不是就失去了jwt本身的意义了呢
6.微服务架构的问题
7.怎么缓解微服务的数据一致性问题
8.微服务的限流算法
9.怎么做集群级别的限流(拉单机会成为性能瓶颈,做集群因为是写密集型所以帮助不大,之后又提到了选举制 这个问题和面试官讨论了很久,对我来说确实有点难度)
10.刚刚提到了主从架构,那知道有什么组件用到了主从架构,是怎么实现的
11.基于可靠消息的最终一致性方案的业务场景和具体实现方式
12.如果消息消费失败会有什么问题,怎么解决
13.这种分布式事务实现方式如何知道有哪些操作需要回滚
14.除了TCC和可靠消息还了解什么分布式事务实现方式
15.本地消息和可靠消息的区别
16.可靠消息的可靠体现在哪
17.事务消息有了解过吗
18.ES中的数据是从哪来的,怎么做sql和ES的数据同步(可以模仿binlog,是比较常见的异构数据同步问题)
算法
直播人数统计
给定多组成对数字,第一个数字表示进房时间点,第二个数字表示离开时间点
要求查询任意时刻的观看人数
三面
这场面试有两个面试官,但是另一个面试官并没有说话。
问我问题的面试官在新加坡,感觉级别很高。后面聊天跟我说了很多,我感觉对我帮助真的很大(我太缺乏真正的工程经验了)。
1.微服务项目会涉及物流调度吗
2.你的库存一定会有热点问题吧,如果我想让你设计一个秒杀系统你会怎么设计,有哪些点需要去注意
3.讲一讲TCC(阿里的seata),你觉得TCC可以解决什么问题(面试官应该是觉得TCC并不合适)
4.TCC依旧是依赖单点,依旧会被限制,你觉得TCC方案会提升容量吗
5.你实现的日志系统是中心化的还是本地的
6.你的链路追踪是怎么实现的,jaeger是怎么实现链路追踪的
7.链路追踪怎么解决两个问题,1.日志传输的时候可能会丢2.怎么在大量的数据中查到你想要的日志
8.ES底层架构
9.ES的insert的QPS能支持到多少
10.想要你设计一套不需要本地存储的登录验证系统你会怎么设计
11.又问到了jwt怎么失效,上次面试完也没找到太合适的解决方案,还是缺乏实际工程经验,这次换了个思路(jwt能存信息)
12.介绍一下你实现的服务配置的统一管理
13.你这是一个主动去查的模型是吧,你怎么样设计这个系统可以保证客户端能很快的拿到配置,服务端又不会overload呢
14.假设有这样一个场景,有一个春节的红包系统,用户做活动集齐一些东西,在春节那天可以领取一些奖励,可能在12点可以领取一点东西,1点又可以拿到一点东西。如果我让你去设计这样一套系统你觉得你会关注哪些点以及你会怎么设计这套流程。(这个聊了很久,后面又提到了一些更加具体的实际场景,跟春晚里的那些联动的抢红包活动差不多)
算法
统计数组内所有数字的出现次数 O(1)空间复杂度 O(n)时间复杂度
做完算法后就一直在和面试官聊天,面试官真的跟我说了很多,对我帮助很大。在这里再次谢谢面试官
这次找实习的其他面经之后再发(其实最近就面了百度HCG和字节TikTok),我比较懒