范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

支付宝面试系统设计真题分享

  Hello、早上好~
  最近阿粉的朋友出去面试了一下蚂蚁金服,一面的时候收到一道系统设计题,今天跟大家分享一下。
  ps:偷偷告诉你,这道题星球球友之前面试的时候也碰到了,这次相当于刚好押题了。   题目
  用户有多种支付方式(余额、红包、优惠券,代金券等),假如每种支付方式需要通过实时调用远程服务获取可用性。在外部资源环境不变情况下,请设计程序以最短响应时间获得尽可能多的可用支付方式列表。
  假定支付方式可用性咨询服务接口定义: PaymentRemoteSerivce 接口方法:ConsultResult isEnabled(String paymentType) ; public class ConsultResult {    public ConsultResult (boolean isEnable,String errorCode){     this.isEnable = isEnable;     this.errorCode= errorCode;   }    /** 咨询结果是否可用*/   private boolean isEnable;     /** 错误码 */   private String errorCode;     public boolean getIsEnable(){     return isEnable;   }     public String getErrorCode(){     return errorCode;   }   }
  题目要求:
  「尽可能展示你的编码能力(Java语法、编码风格等),java语言肯定比伪代码得分高」
  看到这里的小伙伴的可以思考一会哦  解题
  这道题,说难真的不难。
  拿到题目之后,我们首先分析一下,切记直接上手写。
  在我们的分析过程,梳理设计要点,并且可以向面试官确认这些设计点是否正确,最后我们才开始真正写代码。
  我们来看下这道题的关键词:  最短  实时  远程调用  另外需要考虑高并发
  结合这几个关键点,第一个很容易想到的方案,遍历查询所有支付方式的可用性,然后返回。
  「这种做法响应时间就是多次调用远程服务的总和。」
  不过显然不符合设计要求。
  第二种,我们可以想象一下,支付方式可用性在一段时间内不怎么会变化的,所以我们可以在第一种的方式基础上,优化一下,增加缓存保存之前的调用结果。
  「这种方案只在前面查询的时候耗时较长,后面查询直接走缓存,速度较快。」
  但是引入缓存有一个弊端,就是某一支付方式如果突然不可用了或者不可用支付突然变成可用了,那在缓存还未失效的这段时间,将会获取不准确的结果。
  所以我们需要引入刷新进制,定时查询支付方式可用性,然后更新缓存。
  当然如果在定时任务还未刷新的间隔,支付方式突然不可用,依然还是会存这个问题。
  这个问题,第一种解决方案,加快定时任务刷新频率。
  第二种方案,需要其他服务配合。如果某一支付方式突然从可用变成不可用,或者不可用变成可用了,这种情况发送相应的消息,这边服务受到消息及时更新缓存结果。
  第二种设计方案,我们已经在一定程度上优化设计,不过还是存在一些问题。
  主要问题还是在于第一次查询遍历查询所有支付方式的可用性,速度较慢。
  那这个问题,我们其实就可以引入多线程查询,这样的话,响应时间最大值等于单一支付最长调用那一次。
  结合以上的分析,我们代码可以如下:
  多线程查询代码:
  缓存定时刷新的代码如下:
  考虑接口会被高并发调用,在缓存为空的时候,可能会有多个线程并发调用 asyncQueryALLPaymentTypes 查询所有的支付方式的结果。
  但是实际上这里只需要一个线程查询即可,其他线程等待结果就可以。
  所以接口使用双重查询锁(DCL)的方式,同时只会有一个线程去查询所有支付方式。
  上述 DCL 的方式只是解决同一个应用内多线程的问题,但是多个应用间被并发调用,还是可能会多线程去查询所有支付可用性。
  假设现有 10 个应用,缓存为空,极端情况下,10 个应用都使用多线程去查询支付方式可用性。
  假设现有 5 个支付方式,短时间内发起 10 *5=50 次调用,这种调用量还是很少,完全可以接受。
  好了,今天分享就到这里了~

苹果推送IOS12。1。3正式版,亲测信号问题得到改善1月23号上午,苹果向用户推送了IOS12。1。3正式版,来看看具体升级了哪些内容1修复了使用双SIM卡时,可能影响蜂窝移动网络连接性的问题2解决了照片经共享表单发送后可能出现条纹捷径分享喇叭清灰,一步直达蚂蚁森林庄园,扫码付款之前给大家分享了天气预报,相机水印等苹果捷径,有需要的可以翻看之前记录,或者私信我。还是有挺多用户需要捷径的,以后我会多多分享,记得关注哦!今天给大家分享两个捷径。喇叭清灰相信大家还在羡慕安卓的相机水印?IPhone同样也可以,逼格满满相信很多IPhone用户都会觉得安卓手机的相机水印很有个性,很高大上。可惜苹果就是不屑做这些,无奈?别急,这里教你简单快捷的方法,给自己的照片加上IPhone机型水印,还有更高大上iOS12。2Beta1发布新增多项改动,增加了什么呢?在iOS12。1。3正式版发布两天后,苹果就又推送了iOS12。2beta1测试版,此次更新对系统内新增了几项改动,下面就一起来看看吧。此次更新包不是很大,更新后版本号为16E51全新日产三缸奇骏无故自燃,起火原因不详,官方称正密切关注调查对于近期最火爆的合资SUV,笔者认为当属新奇骏了。当然,新奇骏目前最大的关注焦点还是来自于三缸,而200亿美金的研发费用更是令人称奇。要知道美国福特级航空母舰单舰造价也仅为130亿火爆的背后有何秘诀?老司机深度解析2022款长安CS75PLUS产品力2021中国汽车市场进入后疫情时代,在芯片短缺原材料价格上涨疫情反复等不利因素影响,长安汽车却依旧逆势向前。根据长安汽车发布的最新销量数据显示,今年19月长安汽车累计销售长安汽车销10万级家用轿车之争,纠结起亚K3和日产轩逸,老司机给你支招最近一部很火的电视剧启航当风起时,讲述了上个世纪末到现在的人文故事,见证了中国经济发展,而吴磊在剧中扮演的萧闯一角色,更是将中国好青年演绎得淋漓尽致。当看完这部剧时,才发现我们早已iOS12。1。4正式版发布,苹果终将带来全屏指纹识别年已经过了,大家长膘了吗?iOS12。1。4正式版发布苹果前天刚刚关闭了iOS12。1。1和12。1。2的降级通道,今天就着急的发布了iOS12。1。4正式版,据称是修复了很多安全小米MIX3只是过渡和妥协,小米MIX4才是真旗舰?近日网上曝光了小米MIX4的一些参数,根据最新的消息显示,小米MIX4将会提前发布而小米MIX4提前发布的原因,小宅认为比较简单智能手机市场的竞争还在加剧,手机厂商不得不提升产品的OPPOFindX2系列发布,堆料太猛了,小米10再一次沦为性价比今天,OPPO2020新品发布会正式开启,发布会上带来了OPPOWatch与OPPOFindX2系列新品。接下来,我们看看大家期待已久的主角OPPOFindX2系列。屏幕OPPOF小米10Pro有何区别?四大升级,硬件更强,质感更好!今天,小米在线上发布了今年的数字系列新旗舰小米10系列,分别是小米10和小米10Pro。对于这次的新品,可以说还是很有料的,可能是米粉们期望高了,看完发布会觉得有些遗憾,高于以往的
ROG游戏手机5sPro官方开箱抢先看,信仰灯效拉满,你给几分?最近,全新升级的ROG游戏手机5sPro正式发布了,吸引了许多玩家的目光。和此前一样,ROG游戏手机5sPro在延续和腾讯游戏合作的同时,本身也迎来了全面的升级,不仅仅搭载了骁龙8如何打造理想的家庭影音室体验猫客M5智能影音伴侣就懂了后疫情时代,人们逐渐减少外出的机会,待在家中的时间变多,于是对于宅家的舒适度要求也逐渐提高。cc身边也有不少朋友在装修时,就开始各种张罗各种家居好物的布置,爱听音乐看电影的朋友也一这个千亿电商新市场,一年干出700个新品牌,有何秘诀?halo,我是新猫网小编,定期分享电商行业资讯,欢迎关注公众号有人的地方就有生意,如今电商行业火速发展,紧接着直播电商带动着短视频电商,随着而来的就是越来越多的品牌蜂拥而入,而这个美媒泄密苹果发布会,除了iPhone13系列,还有4款新品近段时间,有关iPhone13系列以及苹果秋季新品发布会的消息越来越多。结合多方爆料可知,今年苹果公司会在9月份如期举行一年一度的秋季发布会。虽然苹果官方并没有透露出任何相关信息,为什么苹果公司没有苹果研究院苹果曾经是有研究院的。乔布斯回到苹果后,第一时间砍掉了研究院。当时研究院的负责人是心理学家诺曼博士,是的,就是在Usability用户体验领域非常有名的诺曼,写过日常物品的设计情感轻薄自拍手机推荐,华为vivo实力机型任你选随着vivoS10Pro的出现,网络上关于自拍手机的讨论又变得多了起来,相信有不少人已经被这款手机的自然美颜拍照打动了。其实,除了vivoS10Pro之外,市面上还有不少主打自拍的新款苹果iPhone系列渲染图曝光日落金配色亮眼近日,外媒LetsGoDigital联合平面设计师Technizo绘制了一系列关于iPhone12sPro5G的渲染图以及视频,从各个方面展示了新款iPhone手机。苹果秋季发布会预算50元真能买到好耳机?是的我真没忽悠你首先我们要明确的是,只想花50元买耳机的消费者,他们的需求是什么?可以肯定的是,这一定不是他她的主力耳机,以我的观察来看,平时工作地点在办公室从事视频拍摄剪辑工作经常用笔记本电脑开各种视频信号格式及VGADVIHDMI区别视频信号是我们接触最多的显格式及示信号,但您并不一定对各种视频信号有所了解。因为国内用到的视频信号格式和端子非常有限,一般就是复合视频和S端子,稍高级一些的就是色差及VGA。对于那一个大老爷们买了一个小米的化妆镜一个大老爷们买了一个化妆镜,这是想干啥?可能仅仅就是因为他是小米出的吧我作为一个大老爷们是不喜欢逛街的,但是我喜欢逛小米商城,经常就是看到东西然后去匹配需求,不知女生逛街是不是这个联想个人云存储T2VS海康威视MAGE20谁是更好的家庭数据中心?信息的爆炸增长相信每个人都深有感触。在每一次换手机换电脑,每一次设备提示你磁盘空间不足时,你都会意识到,身为普通人的你居然有这么多的数据。整理个人数据都是相当痛苦的事情,这些年相信