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

news2024/9/9 0:15:08

问题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.coloradmin.cn/o/1958215.html

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

相关文章

数据库练习5

建立两个表:goods(商品表)、orders(订单表) 在商品表中导入商品记录并查看数据 建立触发器,订单表中增加订单数量后,商品表商品数量同步减少对应的商品订单出数量,并测试 下订单前查询数据库 下订单后查询数据库 建立触发器,实现功能:客户取消…

Matlab编程资源库(17)符号对象

一、建立符号对象 1 .建立符号变量和符号常量 MATLAB 提供了两个建立符号对象的函数: sym 和 syms ,两个函数的用法不同。 (1) sym 函数 sym 函数用来建立单个符号量,一般调用格式为: 符号量名 sym( 符号字符串 )…

第一代iPad Mini完美降级8.4.1

文章目录 写在前面准备工作iOS 9.3.5版本越狱踩坑记录正确步骤越狱后设置 写在最后 写在前面 前几天打扫房间,不小心翻出来了10年前的第一代iPad Mini,版本升级到9.3.5之后,基本上算是报废了,运行啥都卡成狗;但是买不…

R语言 爬取数据+简单清洗

小小练习。见代码注释 # 加载必要的包 library(rvest) library(dplyr) library(tidyr)# 指定网页URL url <- "https://research.un.org/en/unmembers/scmembers"# 读取网页内容 webpage <- read_html(url)# 提取所有表格节点 table_nodes <- html_nodes(web…

聊聊基于Alink库的特征工程方法

独热编码 OneHotEncoder 是用于将类别型特征转换为独热编码的类。独热编码是一种常用的特征编码方式&#xff0c;特别适用于处理类别型特征&#xff0c;将其转换为数值型特征。 对于每个类别型特征&#xff0c;OneHotEncoder 将其编码成一个长度为类别数量的向量。 每个类别对…

使用 Python 进行马尔可夫链职业路径建模

欢迎来到雲闪世界。从职业角度来说&#xff0c;我是个非常奇怪的人&#xff1a;我在一家初创公司担任软件/机器学习工程师&#xff0c;拥有物理学硕士学位&#xff0c;即将为航空航天和机械工程博士学位论文答辩。在我不断变化的职业生涯中&#xff0c;有两件事始终不变&#x…

Java9-21的开发相关新特性总结

目录 下载地址 Java 21(LTS) 概述 变动说明 1、JEP 441: Switch 的模式匹配&#xff08;正式特性&#xff09; 功能进化 Switch 模式匹配 类型标签 null标签 守卫标签 使用enum常量作值 语法总结 2、JEP 440&#xff1a;Record模式&#xff08;正式特性&#xff09…

GPU的shader分支跳转性能总结

引言&#xff1a; 如下的&#xff08;一&#xff09;与&#xff08;二&#xff09;分别属于uniform branch与宏定义&#xff0c;&#xff08;一&#xff09;至始至终是一个固定的值&#xff0c;分支只执行一条而不是既有执行condition ture 也有执行condition false 的情况&am…

基于CentOS Stream 9平台安装MySQL Community Server 9.0.1 Innovation

1. 安装之前 1.1 查看系统版本 cat /etc/redhat-releaseCentOS Stream release 9 1.2 查看cpu架构 lscpu架构&#xff1a; x86_64 CPU 运行模式&#xff1a; 32-bit, 64-bit 2. 官网下载 https://dev.mysql.com/downloads/mysql/ 要多看看 官方9.0文档&#xff1a;https://d…

前端面试基础题(微信公众号:前端面试成长之路)

BFC、IFC、GFC、FFC CSS2.1中只有BFC和IFC, CSS3中才有GFC和FFC。 到底什么是BFC、IFC、GFC和FFC Whats FC&#xff1f; 一定不是KFC&#xff0c;FC的全称是&#xff1a;Formatting Contexts&#xff0c;是W3C CSS2.1规范中的一个概念。它是页面中的一块渲染区域&#xff0c;并…

【C++进阶学习】第九弹——哈希的原理与实现——开放寻址法的讲解

前言&#xff1a; 在前面&#xff0c;我们已经学习了很多存储机构&#xff0c;包括线性存储、树性存储等&#xff0c;并学习了多种拓展结构&#xff0c;效率也越来越高&#xff0c;但是是否有一种存储结构可以在大部分问题中都一次找到目标值呢&#xff1f;哈希可能能实现 目录…

npm国内淘宝镜像registry镜像过期

我们在使用npm的时候会遇到淘宝镜像安装过期的问题 首先了解 npm 淘宝镜像是一个 npm 注册表的镜像&#xff0c;用于加速 npm 包的下载。 一、如何设置&#xff1f; 如何设置淘宝镜像&#xff1f;淘宝镜像已经从 registry.npm.taobao.org 切换到了 registry.npmmirror.com n…

【书生大模型实战营(暑假场)】入门任务一 Linux+InternStudio 关卡

入门任务一 LinuxInternStudio 关卡 参考&#xff1a; 教程任务 1 闯关任务 1.1 基于 VScode 的 SSH 链接 感谢官方教程的清晰指引&#xff0c;基于VS code 实现 SSH 的链接并不困难&#xff0c;完成公钥配之后&#xff0c;可以实现快速一键链接&#xff0c;链接后效果如下…

搭建自动化 Web 页面性能检测系统 —— 部署篇

作为一个前端想去做全栈的项目时&#xff0c;可能第一个思路是 node vue/react。一开始可能会新建多个工程目录去实现&#xff0c;假设分别为 web 和 server&#xff0c;也许还有管理后台的代码 admin&#xff0c;那么就有了三个工程的代码。此时为了方便管理就需要在远程仓库…

JSON介绍及使用

目录 什么是JSON JSON在JavaScript中的使用 JSON的定义 JSON的访问 JSON的两个常用方法 JSON在Java中的使用 JavaBean和JSON的相互转换 List和JSON的相互转换 Map和JSON的相互转换 什么是JSON JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的…

No module named pip._internal.cli.main

conda 创建的虚拟化python2.7,里面没有pip报错&#xff1a;No module named pip._internal.cli.main 解决办法 使用 ensurepip 安装 pip python -m ensurepip --upgrade确认 pip 已正确安装 pip --version然后又遇到报错 此时我们只需要更新一下pip python -m pip install --up…

使用 Python 中的 ELSER 进行Serverless 语义搜索:探索夏季奥运会历史

作者&#xff1a;来自 Elastic Essodjolo Kahanam 本博客介绍如何使用语义搜索以自然语言表达形式从 Elasticsearch 索引中获取信息。我们将创建一个无服务器 Elasticsearch 项目&#xff0c;将之前的奥运会数据集加载到索引中&#xff0c;使用推理处理器和 ELSER 模型生成推理…

洛谷 P1883 【模板】三分 | 函数

原题 题目描述 给定 n 个二次函数 f1​(x),f2​(x),…,fn​(x)&#xff08;均形如 ax2bxc&#xff09;&#xff0c;设 &#x1d439;(&#x1d465;)F(x)max{f1​(x),f2​(x),...,fn​(x)}&#xff0c;求 &#x1d439;(&#x1d465;)F(x) 在区间[0,1000] 上的最小值。 输入…

PHP师生荣誉管理系统—计算机毕业设计源码10079

目 录 摘要 1 绪论 1.1 研究背景 1.2论文结构与章节安排 2 师生荣誉管理系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据增加流程 2.2.2 数据修改流程 2.2.3 数据删除流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分析 2.…

Hive命令创建数据库和表(内置数据库)

【实验目的】 1) 了解hive操作命令 2) 熟悉hive数据库的操作 【实验原理】 配置完毕hive环境之后&#xff0c;通过hive指令进行创建数据库和表&#xff0c;这些信息被存放在metadata和hdfs上面&#xff0c;当执行操作之后&#xff0c;会在hdfs上有目录结构变化&#xff0c…