《架构面试笔试题目.docx》由会员分享,可在线阅读,更多相关《架构面试笔试题目.docx(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 架构面试笔试题目 方案一类似架构设计里面常说的优雅降级,在消失问题状况下,除了数据3不能返回之外,其它数据可以正常返回,原理上可以将损失降低到最低。但这种方案会给用户体验带来肯定损害,用户在使用系统时候会存在不确定性的心理感受。 方案二比拟依靠调用方的容错规律,假如调用方保存了上一次缓存,且容错规律处理得当,用户外表会感受不到这个特别。假如没有容错规律,最坏状况则将会返回白页。但是即使有容错规律,由于正常的数据也不能准时返回,从工程师到用户可能不太简单承受这个结果。 方案三是一个看起来相对合理的方案,但是需要添加自定义的”字段,原来这个调用是一个标准的LIST数据返回,但如要推断每个数据项是
2、否返回失败,需要额外添加一些标识字段如 “load_data3_success”: false,用于标识哪些数据返回失败了。因此,接口设计及实现变得更加繁琐,调用方也需要实现缓存及容错规律,从效劳方到调用方的熵都增加了许多。 因此,这个选择题已经不好做了。但雪上加霜的是,在大局部应用中,对于数据列表访问同时还存在未读数的功能,如下列图中的小红点数字。假如这个未读数由另外一个API供应(本争论假设未读数API功能正常),状况就更简单。 补充争论一下,假如不供应单独的未读数API,客户端需要每次需要加载新的全量数据才能本地算出未读数,会带来访问速度的下降及客户端更多流量的消耗。因此大多数状况供应一个未读数API整体开销会更低。通过未读数API推断当效劳端有新数据时候才去访问列表接口。 这时候假如未读数都出来了,远程数据又取不到的状况下,你作为架构师,会选择何种方案?至少,遇到这种状况时假如还未找到抱负方案,建议不要盲目优化,由于它除了增加系统的熵,不会将事情变得更好。