2020真题-架构师案例(五)

问题1(13分)

针对该系统的功能,孪工建议采用管道-过滤器(pipe and filter)的架构风格,而王工则建议采用仓库(reposilory)架构风格。满指出该系统更适合采用哪种架构风格,并针对系统的主要功能,从数据处理方式、系统的可扩展性和处理性三个方面对这两种架构风格进行比较与分析,墳写表。

解析:

  1. 以数据为中心,处理流程独立,交互性好
  2. 数据和处理耦合在一起,需要重启才能生效
  3. 调用数据仓库层,性能下降
  4. 支持多个客户端一起调用,提升性能

题中适合仓库架构风格,编辑、语法高亮、代码编译、系统调试和代码仓库共同处理数据。

问题2

某互联网文化发展公司因业务发展,需要建立飕上社区平台,为用户提供一个对双络文化产品(如互联网小说、电影、漫画等)进行评论、交而的平台。该平台的部分功能如下.

(a户帖子的评论计数器,

(b支持粉丝列表功能;

(c支持标签管理

(d支持共同好友功能等,

(e)提供排名功能,如当天最热前10名帖子排名、榜前5排名等;

(f用户信息的结构化存储

(g)提供好友信息的发布/订阅功能。

该系统在性能上需要考虑高性能、高并发,以支持大量用户的同时访问。开发团队经过综合考虑,在数据管理上决定采用Redis数据库(缓存数据库)的解决方案。(10分)

解析:

String常用的则是可以统计点赞数量,粉丝数量。

List常用则是可以统计发布订阅,粉丝列表。Lpush rpop

Set则是共同的好友sunion并集,sinter交集(看到互相的点赞),sdiff差集(可能关注的人),共同的喜好。搜索功能 sinsert查询

Map信息结构化存储。

Zset,排序,zincrby

1 a  (执行incr,执行一次,点击量加一次)

2 g(发布订阅lpush  rpop)   b,g

3 d,b(sadd)   c,d

4 c,f(hmap)  f

5 e(zincrby)

问题3(7分)

Redis有两种持久化方式分别是RDB(RedisDataBase)持久化方式和AOF(AppendOnlyFile)持久化方式。开发团最终选择了RDB方式。谙用200字以内的文字,从磁盘更新频率、数据安全、数据一致性、重启性能和数据文件大小五个方面比较两种方式,并简要说明开发团队选择RDB的原因。

解析:

RDB是按时间间隔来更新的,磁盘更新频率低于AOF。

RDB数据一致性比AOF差,因为RDB按时间间隔更新,当这段时间没更新,刚好系统宕机,会导致数据不一致。AOF则是通过append来写文件即使不一致,也可以通过redis-check-aof工具来解决

RDB安全性更低,因为在时间间隔的这段时间可能会存在数据丢失。

RDB重启更快。

数据文件RDB要小于AOF的数据文件。

因为团队想短时间快速启动,所以选择了RDB。

问题3(8分)

缓存中存储当前的热点数据Redis为每个KEY值都设置了过期时间,以提高缓存命中率。为了清除非热点数据Redis选择“定期删除+惰性删除"策略。如果该策略失效,Redis内存用率会越来越高,一般应采厍内存淘汰机制来解决。用100字以内的文字简要庙述该策略的失效场景并给出三种内存淘汰机制。

解析:

当定期删除失效,而惰性删除是在访问key的时候才删除,如果这个key一直不访问,则该策略失效。

1、Lru策略,在设置过期时间key里,按最早存入时间淘汰。

2、Lfu策略,在设置过期时间key里,按最少访问淘汰。

3、在设置过期时间key里,随机淘汰。

4、在所有key里,按最少访问淘汰。

5、所有key随机淘汰。

问题(14分)

请说明关系型数据库开发中,逻辑数据模型设计过程包含哪些任务?该包裹单的逻辑数据模型中应该包含哪些实体?并给出每个实体的主键属性。

解析:

逻辑数据模型设计包含

  1. 构建系统上下文数据模型,包含实体与实体之间的关系。
  2. 构建主键数据模型,为实体添加主键。
  3. 构建全属性数据模型,为实体添加非主键属性。
  4. 按规范化设计系统的数据模型

包含实体:

商品信息,人员信息。

主键:

人员信息的主键是手机号,商品信息的主键是商品id。

问题(6分)

请说明什么是超类实体?结合图里的信息,试着设计出超类实体,给出完整属性列表?

超类指多个实体相同的列可以结合起来的类

人员信息(姓名,单位名称,详细地址,电话)

解析:

问题(5分)

请说明什么是派生属性?并且说明图中的派生属性?

解析:

派生指可以通过多个列计算出来的数据,图中“总计”就是派生列,它是其他费用计算的总和。

1 a  Connection pool

2 c persistent layer

3 d mybatis

4 b struts k spring

5 J controller layer

6 h view layer

7i jsp

(5分)该工业设备检测系统拟采用工业控制领域中统一的数据访问机制,实现与多种不同设备的数据交互,请用200字以内的文字说明采用标准的数据访问机制的原因。

解析:

统一的数据访问可以让软件开发层不必关注硬件层,双方只需要按照统一的数据访问机制规范来设计,硬件只需要考虑应用程序的多种需求和传输协议,软件开发商也不需要了解硬件的实际操作,实现对接。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/50513.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++题解】1581. 马里奥的银币1

问题:1581. 马里奥的银币1 类型:数组找数 题目描述: 马里奥有很多银币,有一天他得到了一张魔法卡,只要使用这张魔法卡,就可以使得他的银币里面的最大的银币金额变得更大。如果他最大的银币是偶数的金额&a…

获取正版免费的xshell

1,安装 xshell官网 打开xshell官网站点:NetSarang Homepage CN - NetSarang Website 请认准,百度的xshell中文网都是要收费的 1,点击 xshell的下载 点击进入xshell的下载页面,或者直接访问所有下载 - NetSarang Webs…

实验2-4-2 求N分之一序列前N项和**注意小细节

//实验2-4-2 求N分之一序列前N项和//计算序列 1 1/2 1/3 ... 的前N项之和。#include<stdio.h> #include<math.h> int main(){int N;double sum0.0;scanf("%d",&N);for(int a1;a<N;a)sum(1.0/a);//这里必须是1.0 不可以是1&#xff01;&#x…

VirtualBox创建共享磁盘

VirtualBox创建共享磁盘 目录 VirtualBox创建共享磁盘1、划分共享磁盘1.1、【管理】->【工具】->【虚拟介质管理】1.2、【创建】->【VDI&#xff08;VirtualBox 磁盘映像&#xff09;】->【下一步】1.3、【预先分配全部空间】->【下一步】1.4、【分配大小】->…

网络协议二 : 使用Cisco Packet Traceer工具模拟网络环境,集线器,网桥,交换机,路由器,IP,同一网段

1. 安装 Cisco Packet Tracer baidu 网盘地址&#xff0c;感谢大神分享 安装&#xff0c;破解&#xff0c;中文化&#xff0c;都有说明&#xff0c;建议使用7.x的那个版本&#xff0c;感觉比8.x的翻译要完整一点 https://pan.baidu.com/s/18iWBOfhJJRhqgQqdNQcfMQ?pwddcch#…

什么是技术作家风格指南?

技术写作风格指南旨在提供必要的格式风格&#xff0c;以帮助技术作家为读者创建引人入胜且一致的内容。然而&#xff0c;技术写作与普通的自由写作有很大不同。目的是将复杂的技术主题分解为易于理解的内容&#xff0c;以帮助读者了解如何使用产品或服务。 在本文中&#xff0…

FreeModbus学习——eMBInit初始化

FreeModbus版本&#xff1a;1.6 在mb.c文件中 先看一下静态变量的定义 /* ----------------------- Static variables ---------------------------------*/static UCHAR ucMBAddress; static eMBMode eMBCurrentMode;ucMBAddress是从机地址&#xff0c;eMBCurrentMode是M…

C++ 八股(2)

1.函数调用的参数是以什么顺序压栈的&#xff0c;为什么&#xff1f; 从右向左压栈的。因为C, C支持可变参函数。 可变参函数就是参数个数可变的函数&#xff0c;如printf()就是可变参函数 void func(int a,...){} 2.有一个函数 在main函数中通过&#xff1a;string s fun…

焦化超低排放解决方案

在环保政策日益严苛与可持续发展理念深入人心的当下&#xff0c;朗观视觉小编认为焦化行业作为传统重工业的重要组成部分&#xff0c;正经历着一场前所未有的绿色变革。其中&#xff0c;“焦化超低排放”不仅是对环境保护的积极响应&#xff0c;更是行业转型升级、实现高质量发…

【开发问题记录】启动某个微服务时无法连接到seata(seata启动或配置异常)

问题记录 一、问题描述1.1 问题复现1.1.1 将Linux中的部分微服务启动1.1.2 在本地启动当时出错的服务 1.2 解决思路1.2.1 Nacos中seata相关的信息1.2.2 Linux中seata相关的信息 二、问题解决2.1 seata的配置错误2.1.1 Nacos中seata的配置问题2.1.2 命名空间问题的发现 2.2 网络…

wpf基础

在 WPF (Windows Presentation Foundation) 中&#xff0c;Style 是一种强大的资源&#xff0c;允许你定义一组属性值&#xff0c;这些值可以被多个控件实例共享。使用 Style 可以减少重复的 XAML 代码&#xff0c;并且使得 UI 的一致性和可维护性得到提高。 以下是一些 Style…

IP地址专用SSL/https证书——10分钟签发

一般常用的SSL证书多为域名型SSL证书&#xff0c;即需要提供准确的域名。如果不能提供域名&#xff0c;只能提供IP地址&#xff0c;则需要一种特殊的SSL证书——IP地址证书。下面是IP地址证书的申请教程 IP地址专用SSL证书获取链接https://www.joyssl.com/certificate/select/…

vscode+git解决远程分支合并冲突

1&#xff09;远程分支和远程分支不复杂情况合并 例如readme的冲突 可直接在github上解决 删到只剩下 #supergenius002 合并冲突测试1/合并测试冲突1合并测试冲突2/合并测试冲突2就行 《《《/》》》也要删掉 2&#xff09;但如果是复杂的冲突&#xff0c;让我们回到vscod…

SpringMVC源码解析(二):请求执行流程

SpringMVC源码系列文章 SpringMVC源码解析(一)&#xff1a;web容器启动流程 SpringMVC源码解析(二)&#xff1a;请求执行流程 目录 前言DispatcherServlet入口一、获取HandlerExcutionChain(包括Handler)1、获取Handler1.1、通过request获取查找路径1.2、通过查找路径获取Han…

c++修炼之路之STL_map,set

目录 一&#xff1a;序列式容器与键值对 二&#xff1a;set与multiset 三&#xff1a;map与multimap 接下来的日子会顺顺利利&#xff0c;万事胜意&#xff0c;生活明朗-----------林辞忧 一&#xff1a;序列式容器与键值对 1.在初阶阶段&#xff0c;我们已经接触过S…

Vue基础2

1.监视属性 先推荐大家安装第一个vscode常用插件 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>天气案例_监视简写</title><!-- 引入Vue --><script type"text/javascript"…

Linux操作系统常用命令总结

1、网络配置查看 要想知道网络的配置状态&#xff0c;我们可以使用ifconfig 或者 ip命令来查看。 这两个命令功能都差不多&#xff0c;不过它们属于不同的软件包&#xff0c;ifconfig属于net-tools软件包&#xff0c;ip属于iproute2软件包&#xff0c;通过查资料&#xff0c;…

【全栈实战】大模型自学:从入门到实战打怪升级,20W字总结(二)

&#x1f60a;你好&#xff0c;我是小航&#xff0c;一个正在变秃、变强的文艺倾年。 &#x1f514;本栏讲解【全栈实战】大模型自学&#xff1a;从入门到实战打怪升级。 &#x1f514;专栏持续更新&#xff0c;适合人群&#xff1a;本科生、研究生、大模型爱好者&#xff0c;期…

【通俗理解】涌现现象与神经网络——从结构到智能的飞跃

【通俗理解】涌现现象与神经网络——从结构到智能的飞跃 涌现现象的类比 你可以把涌现现象比作一个“魔法锅”&#xff0c;锅里的各种原料&#xff08;内在结构和相互作用&#xff09;在特定的条件下相互作用&#xff0c;最终“熬制”出令人惊叹的“魔法汤”&#xff08;整体性…

【Qwen2微调实战】LLaMA-Factory框架对Qwen2-7B模型的微调实践

系列篇章&#x1f4a5; No.文章1【Qwen部署实战】探索Qwen-7B-Chat&#xff1a;阿里云大型语言模型的对话实践2【Qwen2部署实战】Qwen2初体验&#xff1a;用Transformers打造智能聊天机器人3【Qwen2部署实战】探索Qwen2-7B&#xff1a;通过FastApi框架实现API的部署与调用4【Q…