后端实习面经(字节offer)

项目拷打部分:

1. 关于幂等,如果不设计幂等会发生什么,为什么要设计幂等的标识,它是怎么生成的?如何保证用户多次点击是同一个幂等标识?

2. 关于缓存,为什么采用多级缓存,数据不一致如何处理,哪些场景是强一致性?哪些场景是弱一致性?​​​​Caffeine缓存是什么?为什么选择这个?​​​​Caffeine的Window TinyLFU算法又是什么?

3. 大麦项目中的数据在Redis是如何存储的?用到了哪些结构?过期时间怎么设计?你提到了利用Redis集群来做分片设计?具体是怎么拆分的?

4. 缓存击穿,雪崩,穿透具体说说在项目中是怎么解决的?

5. 数据在Redis中存储,如果Redis宕机了怎么办?

6. Kakfa在消费数据时,如果消费延迟了,或者Kafka宕机了怎么处理?

7. 我看你订单进行了多个版本的优化,具体是优化在哪里了?有量化指标的结果吗?

8. 项目中用到了比较多的锁优化,比如读锁、写锁,本地锁,说说你是具体应用在哪里了?

9. 项目中是如何设计分库分表的?再详细说说基因法的设计?

总结:项目拷打的很深,对细节也需要掌握的很清晰才行
全部评论
字节发offer了?
点赞 回复 分享
发布于 05-30 14:11 北京
佬,强啊
点赞 回复 分享
发布于 05-30 14:05 北京

相关推荐

一面:全程50min,八股30min,算法20min1. innodb引擎的rr级别,age是普通索引,id是数据库主键,递增字段。事务A:begin;T1 select * from user where age = 20;(2个结果)T3 select * from user where age = 20;T4 update user set name = 'name1' where age = 20;T5 select *from user where age = 20;comit;事务B:T2 begin insert into user values('name2', 20); comit。请你分别告诉我T3-T5各有几个结果?2、3、32. TIME_WAIT 状态原因?ack至少丢失一次;防止建立历史连接3. 设计一个抽奖系统,每个用户可以抽 m 次,奖品个数为 n,每个用户最多只能中奖一次,大流量场景下如何设计,可以支持百万级并发抽奖?从接口、逻辑、扩展方面依次回答了。4. 算法:130. 被围绕的区域======================================================================二面:全程 40min,项目 15min,算法 20min,反问 5min1. 自我介绍2. 说下实习干了啥?大致介绍了下,然后说的实习难点3. 接口重构做了什么?说了过程,说了上线策略4. 你们后端服务大致拆分了几个服务?为什么那么拆分?5. 慢 SQL 治理的过程和原理?6. 其他记不清了7. 算法:LCR 084. 全排列 II。中间看成了全排列,5 分钟秒掉结果调试半天没有输出,经提示有重复数字。抠了半天抠出来了======================================================================三面:总共 70min,实习+项目+八股 20min,算法 50min1. 自我介绍?2. 实习工作?3. Netty 为什么快?4. 详细说下 NIO?5. 各种其他问题,记不清了6. 算法:31. 下一个排列总结:栽在三面了,唯一一次原题没写出来。当时写 hot100 就没细看,感觉这题有点难,结果唯一一次出原题我还没写出来!
查看11道真题和解析
点赞 评论 收藏
分享
评论
11
40
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务