关于黑马点评的一些疑问
1.为什么要用redis存储点赞,大量点赞如何优化
2.异步下单了,写入数据库失败了怎么办,一致性如何保证(看好像没有使用事务了,但有ACK以及处理pending-list)
3.判断完了一人一单和超卖,下单更新数据库时再次查询库存是否充足以及乐观锁和分布式锁是不是没有必要了
4.项目中遇到的困难(想说滚动分页查询但是源码还是有BUG的怕给自己挖坑)
5.最严重的一个问题,为什么要用mq,用线程池不是一样吗,不是分布式,生产方和消费方在自己的服务上进行消费吗?
兄弟们看下我的最新动态帮我选下offer吧,非常感谢
2.异步下单了,写入数据库失败了怎么办,一致性如何保证(看好像没有使用事务了,但有ACK以及处理pending-list)
3.判断完了一人一单和超卖,下单更新数据库时再次查询库存是否充足以及乐观锁和分布式锁是不是没有必要了
4.项目中遇到的困难(想说滚动分页查询但是源码还是有BUG的怕给自己挖坑)
5.最严重的一个问题,为什么要用mq,用线程池不是一样吗,不是分布式,生产方和消费方在自己的服务上进行消费吗?
兄弟们看下我的最新动态帮我选下offer吧,非常感谢
全部评论
个人猜想:
1、bitmap 设置用户id 偏移位为1
2、db 减库存和创建订单肯定是在事务里。但 cache 和 db 的一致用消息确认+重试+订单号唯一幂等保证。不过其实也可以不处理,对应的场景就是少卖,给用户提示没抢到就行,而且商家在提示曝光率的同时减少了优惠券的损失。
3、兜底,万一 mq 消费完没来得及回复 ack 挂掉了,下次还消费就有重复消费问题
我也被问过,1.哈希分片,2.就是事务,3.没明白你的意思 4.我被问到答的就是这个分布式锁这一块 其他的感觉没啥意思 我还被问到视频记录哪里 哪里他会问你有没有更好的方案,但是他没说
乐观锁解决超卖,分布式锁实现一人一单,查询库存充足是兜底操作吧🤔
分页查询不用MyBatis一样做😂
第一个问题redis的set可以确保一个内容的点赞收藏只会进行一次
mq是有必要的,如果使用线程池的话,那不是每来一个message都要拿一个新的线程来处理?用了mq就可以让一个线程一直等待处理获取到的message
点评项目很多方案都是假设分布式、高并发场景的
3我觉得确实没必要了
m
m
m
m
相关推荐
码农烧烤启动:我还还有一个朋友😂 是个学院本,毕业是比较早 以前很容易找到工作 他厉害的地方在:即使找到工作了依然保持每个月一次或几次面试 然后复盘总结抓住好机会就往上跳了 今年不知道跳哪去了 总而言之,成了程序员就得持续面试和学习 尤其是现在这个🐢环境下 可能前脚入后脚给你裁了 不一定要频率非常高 就像一场马拉松 你人生还这么长嘞…… 所以不用内耗 春招不行就社招嘛,没有经济来源就干干收银员,烧烤啥的,有人看不起你别管啊,这是你自己的剧本,你说谁杀青就杀青了🙂 没人的时候不也可以学学😂 偶尔来次面试 不爽就辞职换一家 你的人生是为自己而活
点赞 评论 收藏
分享
10-27 14:38
山东青客网络_CEO 二本牛马:那问到了不熟的咋办,比如我io模型那一块不熟,简单的可以达上来,深入了答不上,是应该一开始就说这一块不是特别了解还是怎么办
点赞 评论 收藏
分享
查看11道真题和解析
点赞 评论 收藏
分享