关于黑马点评的一些疑问

1.为什么要用redis存储点赞,大量点赞如何优化
2.异步下单了,写入数据库失败了怎么办,一致性如何保证(看好像没有使用事务了,但有ACK以及处理pending-list)
3.判断完了一人一单和超卖,下单更新数据库时再次查询库存是否充足以及乐观锁和分布式锁是不是没有必要了
4.项目中遇到的困难(想说滚动分页查询但是源码还是有BUG的怕给自己挖坑)
5.最严重的一个问题,为什么要用mq,用线程池不是一样吗,不是分布式,生产方和消费方在自己的服务上进行消费吗?

兄弟们看下我的最新动态帮我选下offer吧,非常感谢
全部评论
个人猜想: 1、bitmap 设置用户id 偏移位为1 2、db 减库存和创建订单肯定是在事务里。但 cache 和 db 的一致用消息确认+重试+订单号唯一幂等保证。不过其实也可以不处理,对应的场景就是少卖,给用户提示没抢到就行,而且商家在提示曝光率的同时减少了优惠券的损失。 3、兜底,万一 mq 消费完没来得及回复 ack 挂掉了,下次还消费就有重复消费问题
12 回复 分享
发布于 2024-08-16 10:03 山东
我也被问过,1.哈希分片,2.就是事务,3.没明白你的意思 4.我被问到答的就是这个分布式锁这一块 其他的感觉没啥意思 我还被问到视频记录哪里 哪里他会问你有没有更好的方案,但是他没说
5 回复 分享
发布于 2024-08-15 23:28 湖北
点评项目很多方案都是假设分布式、高并发场景的
1 回复 分享
发布于 2024-09-25 13:31 江苏
mq是有必要的,如果使用线程池的话,那不是每来一个message都要拿一个新的线程来处理?用了mq就可以让一个线程一直等待处理获取到的message
1 回复 分享
发布于 2024-09-22 22:50 江苏
第一个问题redis的set可以确保一个内容的点赞收藏只会进行一次
1 回复 分享
发布于 2024-08-31 13:24 四川
分页查询不用MyBatis一样做😂
1 回复 分享
发布于 2024-08-16 20:11 上海
乐观锁解决超卖,分布式锁实现一人一单,查询库存充足是兜底操作吧🤔
1 回复 分享
发布于 2024-08-16 00:40 四川
佬,有没有搞明白问题3啊,那个分布式锁意义何在?
点赞 回复 分享
发布于 04-05 19:25 浙江
m
点赞 回复 分享
发布于 2024-11-21 15:43 河北
m
点赞 回复 分享
发布于 2024-09-23 22:47 陕西
m
点赞 回复 分享
发布于 2024-09-17 13:39 山东
m
点赞 回复 分享
发布于 2024-09-11 02:55 辽宁
3我觉得确实没必要了
点赞 回复 分享
发布于 2024-08-16 19:43 北京

相关推荐

04-08 19:51
已编辑
西安电子科技大学 Java
#面经##面试##简历#26届至今0offer,一个月被拒10次后,我做了个让面试官闭嘴的开源项目❌ 我的血泪教训:为什么你的项目总被diss?玩具项目魔咒 ;项目没上线?QPS多少?; → 支支吾吾说不出来技术栈单薄 只会CRUD → 面试官:和培训班项目有什么区别?展示力为负 ;我电脑在实验室…....→ 无法实时演示 → 可信度归零🚀 破局方案:XX校园点评(springboot+uniapp全栈实战)✨ 让玩具项目变身真实存在服务于校园内师生的项目(上面是Deepseek写的,狗头保命)白马点评简历包装烂大街:看的同一套视频,做的同一套项目,写的还是同一份简历?但是回到正题,点评作为java选手的必做项目,确实有很多值得学习和借鉴的地方。问题在于大家学习和借鉴的内容重复度太高,导致面试官审美疲劳,而且市面上似乎很少有一套针对于点评类项目的面试话术,那么我们来做!我们基于cursor实现了完整的前端页面,并在开发前端过程中充分挖掘白马点评项目亮点,深入剖析项目中的细节项目部分亮点介绍:1)首页根据点赞数量采用瀑布流双列展示笔记内容,后端采用order by根据点赞数量进行排序(此处可以考虑对order by语句进行sql优化)2)白马点评中实现的滚动分页查询算是项目中实现起来的一个难点,但是如果你没有一个好的前端页面展示,可能无法理解为什么需要滚动分页,传统的分页方式为什么不可以,通过前端页面的下拉刷新,同时数据库插入数据,会看到同样的内容前端展示了两遍,立马就能理解为什么要滚动分页。面试的时候可以和面试官吹自己在前端尝试……  结果发现同样的数据展示了两遍……  于是考虑滚动分页查询,有理有据,有因有果,加上自己的理解与思考,而不是单纯的照搬学习,面试好感upup!!3)实现了多级评论功能,只需要在数据表中给一条评论添加一个parent_id,首级评论的parent_id默认为0(圈起来,面试被问到过4)实现了编辑个人资料功能,这里mark重点,涉及到ThreadLocal,因为白马点评的查询个人信息接口是直接返回登录时存储在ThreadLocal中的信息,这就意味这一次登录这里面的信息是不会变的,需要下一次登录才能看到,所以这里修改之后个人基础信息不会立刻改变,需要修改实现逻辑,每次都需要查询数据库获得个人信息5)实现查询评论功能(这里我们认为只有首级评论算做评论,其余算作回复),这里是想做成一个mark功能,类似于newcoder评论区的mark 某某面经,可以mark别人发的校园里的吃喝玩乐(充分结合需求,还有市场分析~由于篇幅内容有限,详细内容请大家移步至Gitee开源项目:https://gitee.com/yuwozai618网站里面有详细的说明文档以及前后端项目代码,跟着教程一步一步先跑起来~~总之,我们为大家实现了完整的前端页面,让大家不再局限于某马点评的前端,可以在此基础上实现更多功能,并对后端内容的细节进行了扩展,还有详细的开发和实现文档,以及在开发过程如何使用cursor等开发工具的说明,即使你没有使用过,学习完这份文档也可以和面试官侃侃而谈,且项目及文档持续更新迭代,项目全部开源免费!!开源免费!!开源免费!!(守护互联网开源精神)
点赞 评论 收藏
分享
评论
45
405
分享

创作者周榜

更多
牛客网
牛客企业服务