Java后端三年工作经验 字节跳动面经

字节跳动一面

1. 自我介绍项目balabala

2. 双写DB是如何保证事务一致性的(我项目中有DB迁移,双写sqlserver和mysql)

3. 怎么保证表迁移中数据是一致的 

4.redis分布式锁有什么问题

5.redis分布式锁主从问题该如何解决

6.mysql 什么时候用到行锁,什么时候用到表锁(我回答唯一索引查的时候用到行锁, 隔离级别为串行化是表锁 这个不知道对不对,

   面试官后面补充到改表结构的时候,用到表锁)

7. mysql的锁是锁在哪里上(这个我当时问懵了, 答案是锁在索引上)

8. 那如果没有索引,是否在更新的时候就会锁整张表(这个也给我整懵了, 其实更新之前会先select, 更新是一个事务,每个更新根据隔离级别来影响,select出来

    的快照也是和隔离级别有关,所以是不会锁整表的,只是快照更新)

9. spring AOP的实现原理说一下

10. 算法题: 1.  两个有序链表合并

                      2.  K个有序链表合并(在第一道的基础上做第二道)

 

字节跳动二面

1. 自我介绍,项目介绍,项目的亮点

2. redis缓存和DB是怎么保证一致性的,本地缓存呢?(因为项目用到了redis缓存和本地缓存)

3. 你们公司mysql,redis的架构是怎么样的,怎么部署

4. mysql什么情况下不会进行主从同步(不会)

5.对消息队列有什么理解, kafka的吞吐量为什么比rocketmq大

6. 接着上个问题, 我当时答了零拷贝(kafka是 sendfile, rocketmq 是 mmap,但是可能还有其他答案,面试官补充了写patition),问零拷贝是读的时候,吞吐量不应该是写吗? (这个问题我当时和面试官讨论了下,就是吞吐量读写对中间件都有影响的)

7.rocketmq吞吐量高的原因(顺序写,零拷贝,pagecache等等等等吧)

8.rocketmq的事务消息是怎么实现的

9.除了消息还有其他事务保证的方式吗, 这里我答两段式,三段式。。   问:两段式提交和三段式提交的区别

10.你们都会关注服务的哪些性能指标, 知道95线和99线的含义吗(这个我当时答错了)

11.算法题  力扣78  子集   

                给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。

 

字节跳动三面

1. 自我介绍,项目亮点

2. redis和mysql的部署架构是怎么样的

3. redis 如果主节点挂了,是怎么恢复的(哨兵)

4. mysql如果主节点挂了,是怎么恢复的(没答上来)

5. rocketmq的事务消息是怎么实现的

6. 项目中分布式事务怎么保证的 (我这边是弱一致性,用的消息)

7. 还有其他方式吗, 我这边答的的两段式提交三段式提交

8. 这几种分布式事务保证方式有什么区别

9. 你的系统的稳定性是如何保证的(中间件比如redis挡流量,集群部署, 服务降级(非核心应用挂了不影响主业务),服务熔断, 限流)

10. 服务限流是怎么实现的(我当时有提到redis)

11. redis限流怎么做 

12. 设计一个秒杀系统,你觉得有哪些点需要注意

13. 三面没有算法。。。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值