首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客844066816号
门头沟学院 Java
发布于广东
关注
已关注
取消关注
@我想吃芦苇:
20230814:快手三面
内部员工回复
自我介绍职业规划硕士研究方向项目中两个技术亮点消息推送平台发送消息时的责任链模式购物系统添加商品时使用MQ保证数据库与es分布式事务的数据一致性深挖项目(我觉得应该叫深度拓展项目,下面这些东西我全部没有实现!!!)项目一😀你项目中上架商品的逻辑是使用延时MQ保证数据一致性,例如上架商品后,往es里面存放商品数据,这样用户就能查询到商品,同时往延时队列中发送一条消息,这个消息包含了商品id,之后再修改数据库中该商品状态为已上架,延时队列到期后,你拿着商品id去查商品表,如果商品是未上架的,就说明商品在修改数据库时发生了异常,但此时es中有商品数据了,所以要删除es中这条记录,但如果拿着商品id去查数据库时网络超时怎么办?我回答的是使用手动ack MQ的机制,因为如果网络超时,会抛出异常,而我只有当查询完商品信息之后才会手动ack,发生异常后手动ack并不会触发,因此消息还在,只要下次能消费就行。😀面试官问那这条消息没有手动ack后是在队头还是队尾,我回答的队头。😀面试官说那这样可能会导致消息阻塞的问题,因为这条消息在查询数据库时超时了,下一次消息后查询可能也会超时,那怎么办?我回答可以采取一个兜底处理,比如如果超时,那么把这条消息放到一个异常队列当中,并手动ack原队列,这样就不会阻塞原队列中后续消息的消费了,后续我只需要开一些consumer来消费异常队列中的消息就行了😀面试官继续追问,那如果消息消费的时候有顺序性怎么办,比如有三条消息A,B,C,他们依次进入队列,业务逻辑上也必须先消费A,再B,再C,你上面的解决方案就会导致顺序性失效,这时候怎么办?我回答既然有顺序性,那么就说明这些消息是原子性的操作,要么全部成功,要么全部失败,因此在发送这些有顺序性的消息的时候就可以把这些消息包装成一个大消息,然后作为一个单个消息消费就行了😀面试官继续追问,那如果事先不知道后续的消息呢,这样就没法事先封装一个大消息了,比如一个用户刷视频,他刷完A,然后刷B,然后刷C,但我这个B,C是通过推荐系统在刷完A后实时计算出来的,这个时候怎么保证MQ的顺序性。我回答借鉴spring三级缓存的思想,把A和推荐算法也封装为一个大Message(这个真不会了)。面试官后面提示能不能用刚性的方法来解决呢?我开始回答Seata分布式事务,但是Seata没复习啥也不会,菜哭了项目二😀在消息推送平台中,如果有这么一个需求,比如快手用户在刷视频时浏览了某个商品,然后这个时候我想给用户发送一个优惠券,这个消息怎么推送给用户呢?我回答既然用户在刷视频,那么他肯定和服务器建立了TCP连接,那其实可以在刷下一次视频的时候,服务器返回用户请求时把优惠券的消息也发给用户就行了😀面试官追问,那你这样只能在用户刷下一个视频后才能发送优惠券,能不能直接给用户发优惠券呢?而且你的解决方案还有一个问题,比如我用户下一次确实是刷视频,这个时候服务器会给用户发优惠券,但是我用户在发送完刷视频的请求后又跳到其他界面了,比如用户详情,这样你的上一个请求还没有响应回来就被打断,用户就没法收到优惠券了,这个怎么解决?我回答的是可以找用户行为的共性,比如刷视频、查看用户详情、评论这些操作的共性是用户登录了,那么只要在判断用户是否登录时顺带返回优惠券信息就行了,这样不管用户下一次操作是什么都能收到优惠券😀面试官继续追问,你的解决方案都是必须用户发送请求给服务器,服务器才能返回优惠券,服务器能不能主动推给用户呢?我回答可能可以,但是要解决内网穿透问题,因为客户端没有唯一ip(这里真不会,不知道服务器怎么直接推消息给服务器)😀面试官问用户和快手服务器是长连接还是短链接,我回答长连接(不会)😀面试官问,那所有用户都是长连接,那我服务器压力不是很大吗,这么多连接,我回答有保活机制,如果长时间没有传输数据会自动断开连接😀一台普通服务器最大可以有多少连接场景题公司有一个任务调度系统,里面存有很多定时任务,这些任务到了一定时间就要执行,比如每隔5秒执行A,每隔8秒执行B等等已知这个调度系统有百万级别的任务数,这些任务的时间间隔不尽相同,有很多人可以调用这个任务调度系统,往里面添加定时任务或者对定时任务进行删除修改操作,怎么实现在秒级精度的触发。请你设计一下这个系统中任务怎么存,怎么唤醒我回答用很多消息队列,比如一个小时的消息队列,一秒钟对应一个消息队列,这样一小时有3600个消息队列,当任务到时后,可以计算当前时间与1970年时间的差值,这样就可以计算出他落在3600个队列中的哪一个,然后每个队列绑定消费者就行了(这个我不会,把面试官菜哭了)------------------------------------------------------------------------------------------------------------------------------------深度拷打我的项目,把面试官菜哭了😭😭😭大佬们帮我解答几个问题吧:5ai,5aii,5aiii,5bi
点赞 23
评论 20
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
07-29 13:58
门头沟学院 Java
终于拿到了提前批第一个offer!!!
点赞
评论
收藏
分享
08-01 12:20
university of leeds 营销
小鹏到底在招谁啊
这是全挂的意思吗
投递小鹏汽车等公司10个岗位
点赞
评论
收藏
分享
06-12 10:50
携程_java
为了提高就业率不挑食了
如图
小新ai:
我还以为验证码呢,有零有整的
点赞
评论
收藏
分享
06-08 20:26
已编辑
门头沟学院 后端
没有暑期实习,学院本还能走java吗?
相思了,看牛客越看越焦虑,大家怎么项目都这么牛逼暑期实习找不到一点都说学院本起步晚,没有实习,和开发无缘了,是真的吗,是小小厂也进不了吗现在学的好痛苦,东西都学了,但是现在要面试,都要捡起来通过问答的形式给别人回答,好痛苦项目也是没什么亮点,实习也是包装的,实验室和企业合作的项目,就是CRUD个人项目要两个还是一个啊,写过博客,外卖,点评,商城,在写一个还要重新去准备,好痛苦已经不止一次想要逃跑了,八股没被多少,项目没有亮点,算法没刷大牛们什么建议,还要继续吗,还是转行了
ohs的小木屋:
卷java后端有点难,试试其他方向呢
投递牛客等公司10个岗位
点赞
评论
收藏
分享
07-31 11:05
北京理工大学 硬件开发
京东方提前批
有没有面过京东方这个岗位的呀想问问佬一面是不是都是hr面呀?后续如果拿到offer可以调剂到其他地区吗
京东方一面27人在聊
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
百度提前批,三面被推迟一周,喜提秋招第一凉
1.1W
2
...
虾皮秋招一面
3573
3
...
他拿大厂SSP Offer打牌是什么概念啊?25届双非之光
3467
4
...
觉得研发高人一等的这辈子有了
2768
5
...
百度提前批 三面
2032
6
...
最强本科✌
1759
7
...
也是逆天了
1451
8
...
被猿辅导挂了简历,但我想说...
1405
9
...
虾皮一面凉经
1368
10
...
上班一周,工资还没拿,先欠公司两千
1338
创作者周榜
更多
正在热议
更多
#
找工作如何保持松弛感?
#
92386次浏览
1121人参与
#
Offer比较,你最看重什么?
#
194482次浏览
1324人参与
#
中兴秋招
#
207890次浏览
2306人参与
#
秋招被确诊为……
#
167167次浏览
800人参与
#
参加过提前批的机械人,你们还参加秋招么
#
86764次浏览
1417人参与
#
投格力的你,拿到offer了吗?
#
87861次浏览
586人参与
#
虾皮求职进展汇总
#
251176次浏览
1890人参与
#
你最希望上岸的公司是?
#
136351次浏览
709人参与
#
计算机专业还有必要去大厂卷吗
#
38815次浏览
184人参与
#
柠檬微趣工作体验
#
7026次浏览
40人参与
#
26届的你,投了哪些公司?
#
52564次浏览
531人参与
#
地平线求职进展汇总
#
52788次浏览
371人参与
#
通信硬件岗投递时间线
#
19070次浏览
69人参与
#
简历上的经历如何包装
#
33253次浏览
877人参与
#
我对___祛魅了
#
54803次浏览
472人参与
#
你跟室友的关系怎么样?
#
8722次浏览
126人参与
#
你遇到最难的面试题目是_
#
18005次浏览
211人参与
#
一人推荐一个值得去的通信/硬件公司
#
191849次浏览
1888人参与
#
我想象的实习vs现实的实习
#
290614次浏览
2246人参与
#
工作中哪个瞬间让你想离职
#
66477次浏览
584人参与
#
你的秋招第一面感觉怎么样
#
77974次浏览
595人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务