字节后端开发二面-秋招面经

1.项目介绍
2.说一下你在里面参与的业务流程吗,整个系统
3. 为啥会选用netty做这个二进制流的解码跟这个传输的一个框架呢?之前有没有评估过别的网络框架
4.你的上游是什么模块,上游是怎么给你推二进制流的
5.你的行情模块接入层是单体的吗?
6.你们的ConcurrentHashMap是怎么设计的?这个Map 存在一台机器上,其他机器要用怎么办?
7.如果这个 Map 丢了,比如服务重启了,数据怎么恢复
8.如果单纯是存历史数据风控要用,那你Map只存最新的?那风控历史数据从哪查
9.你们是写入Map后异步写Redis,对吧?那中间宕机了,Redis还没写成功,这条数据不就丢了?你们怎么保证数据不丢?
10.你觉得 Redis 是强可靠的吗?如果 Redis 挂了你们怎么办
11.什么是长连接?NIO 和 BIO 的区别讲一下吧
12.所有上游都能跟你建立长连接吗?有没有场景不能建立长连接?那你们怎么处理?
13.前面你说到的短连接和长连接混用,那这种情况下顺序怎么保证?有没有旧数据覆盖新数据的问题
14.那如果你这边有多台机器,同时处理请求,怎么保证同一条行情数据不会被覆盖?顺序怎么保证?
15.RocketMQ 是在哪一段用的?是在接入层之后就直接发MQ了吗
16. MQ是怎么做分区的,你提到要隔离,那你只是broker隔离,消费端没有做隔离的话有啥意义
17.MQ发消息用线程池是吧?那线程池参数是怎么配置的
18.业务里为啥要用一个Map缓存行情?不是直接往下推就好了吗,还有你这个Map有没有读的链路?如果没有get操作,这个Map的存在意义在哪
19. 那你说你重启后需要恢复数据,如果我们不用ChronicleQueue、Disruptor这些WAL预写,只用 Redis + MySQL,你怎么设计才能保证数据可靠
20. Redis双机房是怎么做容灾的?同步是强同步还是异步的?中间挂了数据丢不丢
21.有没有幂等场景?比如别人调你下单接口,你怎么实现幂等?是怎么返回给上游的
22. 重试的时候你幂等怎么保证?怎么区分要返回什么呢
23.问个MySQL的问题,MySQL里面那个b➕树它是双向链表还是单向链表,为什么
24.手撕:1.给你一个数组,比如 [5,7,1,2,10],表示二叉树中序遍历的结果是节点 1,2,3,4,5,它们对应的分数分别是 5,7,1,2,10。2.要在所有符合这个中序顺序的二叉树中,找到“加分”最高的那棵
全部评论

相关推荐

12-15 12:50
河北工程大学
sta666:我也是这个国际商业化的,三天,一天一面,就通过了,不过我是后端实习生,好好面感觉能过。
点赞 评论 收藏
分享
12-14 11:20
门头沟学院 Java
1.实习介绍2.看你用了protobuf,它是通过定义的过程当中是通过什么东西识别它的字段的呢?3. 比如说我定义了一个 int对吧,如果下一个版本,我又定义了一个它怎么识别我定义的是同一个东西呢?4.它的required和optional是有啥区别5.你能介绍一下 java那个锁么,有什么类型的锁,作用是啥6.自旋锁和排他锁作用是啥7. 那锁自身是怎么保证,比如说两个线程a一起加锁,然后保证他自己就是说底层实现出来。有人知道我这个东西已经加过了。9. cas是软件支持的还是硬件支持的?10.这个 int 变量需不需要 cache line对齐呢,会不会出现伪共享的问题11.cas等于是说还是要软件层面上强制控制他cache line对齐是么12.数据库当中为啥会有日志13. 那为啥恢复数据防止丢失?就是说比如说我修改的时候我直接去改数据库不行吗?就是我们单纯比如说像redolog那我不记录它行不行,我直接把数据库就给改了。14. 那redo log本身也是要写盘的啊,万一写了一半宕机,不一样也不安全吗?15.你说redo log 是顺序写,那最终还是要改数据文件,那我不还是得随机写一次吗?这性能上怎么算划算?(争论上了也是无语了,大哥这只是校招)16. 所以是不是其实 redo log 主要是出于数据安全性的考虑?性能不是重点,是这样么17.redo log和binlog的区别你知道吗?为什么要两份日志18.如果 redo log 写成功但 binlog 没写成功,数据库会怎么恢复19. 你觉得现在 Java 的生态还适合做高性能服务吗20. 你觉得 AI 模型推理和高并发服务有什么共性21.手撕:有一堆怪物,每个怪物有一个血量 a1, a2, …, an。每次让两个怪物打架,血多的赢,血量变成两者血量差 |x - y|,另一个死。如果血量相同,两个都死。重复打,直到只剩一个怪物(或全死)。求最后剩下的怪物的血量最小是多少?22.你能解释一下为什么最后结果是最大公约数吗?不是最小公倍数吗23.假如我换个规则,比如胜者血量变成 x + y,那结果还会是 GCD 吗
点赞 评论 收藏
分享
12-13 14:51
已编辑
井冈山大学 算法工程师
龙虾x:算法比你强的没有你美,比你美的…..算了已经没有比你美的了
工作两年想退休了
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

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