小红书Java后端二面

1.自我介绍,实习介绍

2.扯了一下实习项目,有什么难点,怎么解决的

3. 相当于你对这个系统做了一个重构,以前相当于是每次都得 hard code 去支持你现在通过配置化的方式。然后就可以不用再 hard code了这里的问题是你怎么去保证两边逻辑是打平的或者是一致的,不会引发线上问题。

4.有个场景是这样的:用户不断把文件上传到服务器上,设计一个文件分发系统把这些文件都分发到服务器集群上要求,速度要快,可靠性要高,你怎么来设计

5.我觉得你这个整体思路应该没啥问题,而且也挺清晰的。 我们接着你的话题聊,在整体架构下每个模块你会用什么技术栈,比如说,数据面板应该怎么实现,然后调度器可能会怎么实现,举一下例子

6.调度器那为什么要用这个方案呢?比如说它能承载每天万级别的一个任务的一个调度你怎么来做

7.好的没问题好吧,那最后怎么知道我拉的这些数据到底对不对,准不准确,有没有拉全

8你如何能保证,比如说分发到一万台机器,而这十万台机器都已经成功的拿到了正确的数据,然后把这个任务close,你怎么去把节点的状态都给更好的同步到那个数据面板上。

9.因为任务也很多,实例也很多,它一定是一个写请求非常非常高的一个场景。这个事件上报的量级太大,你控制面怎么去扛住这么高的一个上报事件量呢

10.假如说你这么设计的话,会有一个问题,比如说kafka因为你多依赖了一个集群,然后比如说kafka出问题了,你的状态都会上报不上去。下一批因为任务都是定时跑的,然后你第一批任务的状态还没上报上去,下一波的又开始了,这个状态会不会到时就很容易就全给乱掉了?或者说你 kafka 集群一恢复原来的状态又没了,到时候同一个任务的两次执行你其实都已经触发了。你怎么办呢

9.如果是kafka自己崩掉了呢

10.控制面板保存了我们所有的任务的元数据,还有状态的数据,我们怎么给控制面做更好的一个容灾机制?比如部署的a机房挂了切到B机房去。同时还能保证这些监控点不会丢失,怎么做到多机房同步的

11.redis的这个主从同步内部的机制是怎么的样的,list这种东西,它是要保序你怎么保证同步过程中它这个序不乱。

12.你是用什么机制保证它多线程下且有序这个事情呢

13.手撕:设计一个单机限流组件能够在多线程环境下安全运行,并能根据下游请求的错误率对限流阈值进行动态自适应调整兼顾吞吐与稳定性

全部评论
佬,哪个部门?
点赞 回复 分享
发布于 09-30 13:21 陕西
楼主记录的这么详细
点赞 回复 分享
发布于 09-28 21:13 陕西
小红书面试也卷
点赞 回复 分享
发布于 09-28 21:10 山东

相关推荐

09-17 18:41
门头沟学院 Java
📍面试公司:小红书🕐面试时间:9.11 三天后挂💻面试岗位:后端开发❓面试问题:1.自我介绍2.实习拷打7.场景题:直播平台需要实时统计每个直播间的在线人数(观众进入/离开直播间时需要实时更新),并支持查询指定直播间的当前在线人数。要求系统在高并发场景下(如热门主播直播间同时在线100万人(高点直播间进房QPS=15W,离房QPS=5W),同时在线直播间10W)保证数据准确性和性能。设计思路。8.你说使用AtomicLong去进行加减,本实例的数据加减完之后存放在哪里?9.这样子的话单机的话应该是没什么问题的,如果是分布式场景多台机器应该怎么办呢?10.你说引入消息队列,这是在哪一个环节进行的?是用户进房/离房的时候发消息吗?11.用Redis的话你说用哈希去存,哈希存的是什么东西?12.假设你说的没问题,现在同时有10万个直播间,你用一个Redis的哈希结构来存,会不会有问题?用什么方法可以解决这个问题呢?13.在你的实习过程中,用户的权限应该也是落到Redis上的,是把所有用户都放到一个Redis的哈希结构吗?当时是怎么弄的?14.你说要把直播间做一个分片,根据直播间ID去做分片再落到不同的Redis,那为什么不直接把直播间ID作为Key呢?15.用Redis的哈希结构意义是什么?16.你说通过ID哈希取模再分片的方式,如果开始每一片的Redis key存了1000个用户ID,后期用户增多到100万,扩容怎么做呢?重新物理哈希吗?17.一个用户存一个Key的方式可行吗?18.针对10个分片,每个分片上1万个直播间,会不会存在什么性能问题?19.对redis集群有什么影响?20.如果有过载的情况,我们要怎么处理?21.手撕:跳跃游戏
查看17道真题和解析
点赞 评论 收藏
分享
评论
3
15
分享

创作者周榜

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