请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

被面试官问到这个问题 紧急情况 需要一万张票升级到售卖两万张票 如何升级该系统

假如遇到紧急情况,原本只卖一万张票,而现在突然遇到战争模式,有一万人无法通过其他情况被转移,且刚好有时间有容量足够让两万人进入火车站离开,且火车出发方向远离战争方向,程序员如何调整系统让两万人同时持票进入(持票为凭证,保证多进入的人是无法被转移的一万人),并且出于社会责任义务,要在事后把车票钱退给这些避难者.

正在回答 回答被采纳积分+3

2回答

慕设计9257057 2024-04-07 06:41:21

老哥,能麻烦您,告诉我这个面试官想问的核心问题是啥以及怎么解决吗。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕侠3077673 #1
    redis与mysql的数据一致性  redis大量数据更新造成的并发错误
    回复 有任何疑惑可以回复我~ 2024-04-20 11:36:23
  • 慕设计9257057 回复 提问者 慕侠3077673 #2
    十分感谢老哥!!!
    回复 有任何疑惑可以回复我~ 2024-04-21 14:05:33
甲蛙 2023-03-18 18:05:04

这个问题很有意思,我就从你的字面理解下,看对不对。

题目说:有容量足够,也就是火车是够的,比如我们春运,每年也是会加开列车的,所以火车的维护不用考虑,开放出这些车次就可以了。

题目还提到了要有凭证才能进入,这个就类似令牌,我们系统是有获取令牌才能购票的,可以在这个功能基础上做修改

0 回复 有任何疑惑可以回复我~
  • 提问者 慕侠3077673 #1
    刚才面试官又增加了条件 改为火车站容量足够 但是mysql数据库容量只有一万条 由于人群大量涌入  每秒会进入1800人 而车站允许承受五秒内最大人次为六千人 过了五秒后每秒最多不能超过八百人进入 不能让车站系统崩溃 数据库一旦超一万条就立即崩溃 留给你的时间只有三十秒种 后续要给避难者退票 必须要借助mysql数据库 且没有开启备用库 目前可以借助的第三方工具只有redis sentinel 已经处理好的lua程序脚本 该如何让应对此次危机(容纳量不能超标,避免非避难者进入,要求mysql数据库在给客户退费前有两万条避难者的正确数据)
    回复 有任何疑惑可以回复我~ 2023-03-18 18:44:20
  • 提问者 慕侠3077673 #2
    只给了一个提示(高并发进行中mysql容量不够问题)
    回复 有任何疑惑可以回复我~ 2023-03-18 19:01:38
  • 甲蛙 回复 提问者 慕侠3077673 #3
    感觉面试官有点陷入知识的诅咒里,他心里有一套答案,所以提了各种条件,想让你回答出他想要的答案。但是我们光从这些条件,又不太理解他到底想听哪一块知识点。比如说:mysql数据库容量只有一万条,实际就不存在这种情况,他就想你回答他想听的,所以设计这个条件。
    题目说容量只有一万条,最后又说要有两万条避难者的正确数据,这个就矛盾了。
    我就说点我理解的吧,既然他说到用第三方工具redis sentinel,一般就是用sentinel限流800(每秒最多不能超过八百人进入),用redis可以做分布式锁,防止并发时数据库超过10000条(即不能超卖的场景,数据库存只有10000条)。
    回复 有任何疑惑可以回复我~ 2023-03-19 22:02:30
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信