• 高级系统架构设计师_笔记_真题


    2019

    科目一

    • 数据库
      在这里插入图片描述
      ???
    • 分布式数据库在各结点上独立,在全局上统一。因此需要定义全局的逻辑结构,称之为全局概念模式,全局外模式是全局概念模式的子集,分片模式和分布模式分别描述数据在逻辑上的分片方式和在物理上各结点的分布形式。
    • 调度算法
      在这里插入图片描述
    • 嵌入式系统
      混成系统定义:混成系统一般由离散分离组件和连续组件并行或串行组成,组件之间的行为由计算模型进行控制。
    • TCP端口号的作用是进程寻址依据,即依据端口号将报文交付给上层的某一进程。
    • 计算机性能评估的常用方法有时钟频率法、指令执行速度法、等效指令速度法、数据处理速率法、综合理论性能法等,这些方法未考虑诸如I/0结构、操作系统、编译程序效率等对系统性能的影响,因此难以准确评估计算机系统的实际性能。
    • 通常用户采用评价程序来评价系统的性能。评价程序一般有专门的测量程序、仿真程序等,而评测准确度最高的评价程序是真实程序。在计算机生能评估中,通常将评价程序中用得最多、最频繁的那部分核心程序作为评价计算机性能的标准程序,称其为基准测试程序。
    • 关键成功因素法通过对关键成功因素的识别,找出实现目标所需要的关键信息集合,从而确定系统开发的优先次序。关键成功因素来源于组织的目标,通过组织的目标分解关键成功因素识别性能指标识别,一直到产生数据字典
    • 系统应用集成构建统一标准的基础平台,在各个应用系统先的接口之间共享数据和功能,基本原则是保证应用程序的独立性。系统应用集成提供了4个不同层次的服务,最上层服务是流程控制服务
    • 软件定义、软件开发、软件运行与维护。可行性研究属于软件定义过程的主要任务。
    • 软件方法学
      在这里插入图片描述
    • 从工程管理角度来看,软件设计可分为概要设计和详细设计两个阶段。概要设计也称为高层设计或总体设计,即将软件需求转化为数据结构和软件的系统结构;详细设计也称为低层设计,即对结构图进行细化,得到详细的数据结构与算法。
    • 软件结构化设计包括:架构设计、接口设计、数据设计和过程设计。
    • 模块化设计
      在这里插入图片描述
    • 基于构件的软件开发
      在这里插入图片描述
    • 构件组装技术可分为:基于功能的组装技术、基于数据的组装技术和面向对象的组装技术。
    • 软件逆向
      在这里插入图片描述
      结构级反映程序各部分之间相关依赖关系的信息;功能级反映程序段功能及程序段之间关系的信息。
    • 软件性能测试
      软件性能测试类型包括负载测试强度测试容量测试等。其中,负截测试用于测试起负荷环境中程序是否能够承担:强度测试是在系统资源特别低的情况下考查软件系统极限运行情况,容量测试可用于测试系统同时处理的在线最大用户教量。
    • 4+1视角架构模型:逻辑视图、开发视图、进程视图、物理视图和场景。
    • 架构风格
      数据流风格:批处理序列、管道-过滤器
      调用/返回风格:主程序/子程序、面向对象、层次结构
      独立构件风格:进程通信、事件驱动系统(隐式调用)
      虚拟机风格:解释器、基于规则的系统
      仓库风格:数据库系统、超文本系统、黑板系统
    • SOA
      企业服务总线(EnterpriseService Bus,ESB)是构建基于SOA解决方案时所使用基础架构的关键部分,是由中间件技术实现并支持SOA的一组基础架构功能。ESB支持异构环境中的服务、消息,以及基于事件的交互,并且具有适当的服务级别和可管理性。简而言之,ESB提供了连接企业内部及跨企业间新的和现有软件应用程序的功能,以一组丰富的功能启用管理和监控应用程序之间的交互。在SOA分层模型中,ESB用于组件层以及服务层之间,它能够通过多种通信协议连接并集成不同平台上的组件将其映射成服务层的服务。ESB的优势在于消除了服务申请者和服务提供者之间的直接链接。
      在这里插入图片描述
      https://zhuanlan.zhihu.com/p/631669971
    • 基于架构的软件开发模型ABSDM
      基于架构的软件开发模型(Architecture-BasedSoftwareDesign Model,ABSDM)把整个基于架构的软件过程划分为架构需求设计文档化复审实现演化等6个子过程。
      绝大多数的架构都是抽象的,由些概念上的构件组成。例如,层的概念在任何程序设计语言中都不存在。因此,要让系统分析师和程序员去实现架构,还必须得把架构进行文档化。文档是在系统演化的每一个阶段,系统设计与开发人员的通信媒介,是为验证架构设计和提炼或修改这些设计(必要时)所执行预先分析的基础。架构文档化过程的主要输出结果是架构需求规格说明和测试架构需求的质量设计说明书这两个文档。生成需求模型构件的精确的形式化的描述,作为用户和开发者之间的一个协约。
    • 设计模式
      设计模式主要用于得到简洁灵活的系统设计,按设计模式的目的划分,可分为创建型结构型行为型三种模式。
      创建型模式是对对象实例化过程的抽象。例如Singleton模式不确保一个类只有一个实例,并提供了全局访问入口;Prototype模式允许对象在不了解要创建对象的确切类以及如何创建等细节的情况下创建白定义对象;Builder模式将复杂对象的构建与其表示分离。
      结构型模式主要用干如何组合已有的类和对象以获得更大的结构,一般借鉴封装、代理、继承等概念将一个或多个类或对象进行组合、封装,以提供统一的外部视图或新的功能。
      行为型模式主要用于对象之间的职责及其提供的服务的分配,它不仅描述对象或类的模式,还描述它们之间的通信模式,特别是描述一组对等的对象怎样相互协作以完成其中任一对象都无法单独完成的任务。
    • 网络协议
      SSL(Secure SocketsLayer,安全套接层)及其继任者TLS(Trangsport Layer Security,传输层安全)是为网络通信提供安全及数据完整性的一种安全协议,在传输层对网络连接进行加密。在设置电子邮箱时使用SSL协议,会保障邮箱更安全。
      HTTPS协议是由HTTP加上TLS/SSL协议构建的可进行加密传输、身份认证的网络协议,主要通过数字证书、加密算法、非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全保护。
      MIME 是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。它是一个互联网标准,扩展了电子邮件标准,使其能够支持:非ASCII字符文本格式附件井(二进制、声音、图像等);由多部分(MultipleParts)组成的消息体;包含非ASCI字符的旁大信息(Header Information)
      PGP是一套用于消息加密、验证的应用程序,采用IDEA的散列算法作为加密与验证之用。PGP加密由一系列散列、数据压缩、对称密钥加密,以及公钥加密的算法组合而成。每个公钥均绑定唯一的用户名和/或者E-mail地址。
      因此,上述选项中MIME是扩展了电子邮件标准,不能用于保障电子邮件安全。
    • 知识产权
      作者的署名权修改权保护作品完整权保护期不受限制

    科目二

    试题一
    • 架构风格的比较和分析
    架构风格灵活性可扩展性性能
    面向对象将用户级别、折扣规则等封装成对象,在系统启动时加载加入新的用户级别和折扣规则需要重新定义新的对象,并需要重启系统用户级别和折扣规则已经在系统内编码,可直接运行,性能较好
    基于规则将用户级别、折扣系统等描述为可动态改变的规则数据加入新的用户级别和折扣规则只需要定义新的规则,解释规则即可进行扩展需要对用户级别和折扣规则进行实时解释、性能较差
    试题二
    • 数据流图
    • 系统流程图
      数据流图的处理过程可并行;系统流程图在某个时间点只能处于一个处理流程。
      数据流图展现系统的数据流;系统流程图展现系统的控制流
      数据流图展现全局的处理过程,过程之间遵循不同的计时标准;系统流程图中处理过程遵循一致的计时标准。
    试题四
    • 数据库和缓存的设计
    试题五
    • 非功能性需求
      并发需求归类到性能
    • SQL注入攻击
      把SQL命令插入到Web表单或提交页面请求的查询字符串,最终达到欺骗服务器恶意执行SQL命令。
      如何预防:
    1. 使用正则表达式
    2. 使用参数化的过滤性语句
    3. 检查用户输入的合法性
    4. 用户数据加密处理
    5. 存储过程来执行所有的查询
    6. 使用专业的漏洞扫描工具

    科目三

    试题一:论软件设计方法及其方法

    可以参考的方向:

    1. 结构化设计,可以写概要设计、详细设计
    2. 面向对象设计,可以写面向对象的设计原则、设计模式
    试题二:论软件系统架构评估及其应用
    试题三:论数据湖技术及其应用
    试题四:论负载均衡技术在Web系统中的应用

    现有的负载均衡算法主要分为静态和动态两类。静态负载均衡算法以固定的概率分配任务,不考虑服务器的状态,如轮转法、随机法等;动态负载均衡算法以服务器的实时负载状态信息来决定任务的分配,如最小连接法等。

    1. 轮询法。将用户的请求轮流分配给服务器,具有绝对均衡的优点,无法保证分配任务的合理性,无法根据服务器的承受能力来分配任务。
    2. 随机法。随机选择一台服务器来分配任务,它保证了请求的分散性达到了均衡的目的。是没有状态的,不需要维持上次的选择状态和均衡因子。但是随着任务量的增大,它也有轮询法的缺点。
    3. 最小连接法。将任务分配给此时具有最小连接数的节点,一个节点收到一个任务后连接数就会加一,当节点发生故障时就将节点权值设置为0,不再给节点分配任务。当服务器性能差距较大时,就无法达到预期的效果。因为此时连接数并不能准确表明处理能力,连接数小且性能较差的服务器可能不及连接数大而自身性能好的服务器。

    2020

    科目一

    • 位示图的计算
      在这里插入图片描述
    • 分页管理-页式存储
      在这里插入图片描述
    • 软件系统的文档可以分为用户文档和系统文档两类。
    • 软件活动:
      在这里插入图片描述
    • 对应软件开发的各种活动,软件开发工具包括:需求分析工具、设计工具、编码和排错工具、测试工具等。
    • 按需求描述定义的方法可将需求分析工具分为基于自然语言或图形描述的工具和基于形式化需求定义语言。
    • 软件设计包括:数据设计、软件结构设计、接口设计(人机交互设计)、过程设计
      在这里插入图片描述
    • 信息隐蔽可以提高软件的可修改性、可测试性、可移植性。
    • 构件的基本概念
      在这里插入图片描述
      在这里插入图片描述
    • 开发模型
      在这里插入图片描述
    • 自动化测试脚本的分类
      在这里插入图片描述
    • 软件架构
      在这里插入图片描述
      在这里插入图片描述
    • 权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。
    • 设计模式
      设计模式是一套可以被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结,
      使用设计模式是为了可重用代码、让代码更容易被他人理解并且提高代码的可靠性。
      设计模式的分类:
      (1)根据目的分类:
      创建型主要用于创建对象。有工厂方法模式(Factory Method)、抽象工厂模式(AbstractF
      actory)、建造者模式(Builder)、原型模式(Prototype)、单例模式(Singleton)共5种。
      结构型主要用于处理类和对象的组合。有适配器模式(Adapter)、桥接模式(Bridge)、组合
      模式(Composite)、装饰模式(Decorator)、外观模式(Facade)、享元模式(Flyweight)、
      代理模式(Proxy)共7种。
      行为型主要用于描述类或对象怎么样交互和怎样分配职责。有职责链模式(Chain of Respo
      nsibility)、命令模式(Command)、解释器模式(Interpreter)、选代器模式(Iterator)、中介
      者模式(Mediator)、备忘录模式(Memento)、观察者模式(Observer)、状态模式(State)、
      策略模式(Stratege)、模板方法模式(Template Method)、访问者相模式(Visitor)共11种
      (2)根据作用范围分类:
      可分为类模式和对象模式。
      类模式用于处理类和子类的关系,这种关系通过继承孩建立,在编译时就确定了,是一种静态
      关系。
      对象模式处理对象间的关系,具有动态关系。
    • 设计模式
      Prototype(原型模式):用原型实例指定创建对象的类型,并且通过拷贝这个原型来创建新
      的对象。允许对象在不了解创建对象的确切类以及如何创建细节的情况下创建自定义对象。
      Abstract Factory(抽象工厂模式):提供一个创建一系列相关。或相互依赖对象的接口,而无
      需指定它们具体的类。
      Builder(构建器模式):将一个复杂类的表示与其构造相分离,使得相同的构建过程能够得
      出不同的表示。
      Singleton(单例模式):保证一个类只有一个实例,并提供一个访问它的全局访问点。
    • 知识产权
      在这里插入图片描述
      在这里插入图片描述

    科目二

    试题一
    • 系统架构风格选型
    架构风格数据处理方式系统可扩展性处理性能
    管道-过滤器数据驱动机制,需要先确定好处理流程,交互性差数据与处理紧密相连,调整出流程需要重新启动系统劣势:需要数据格式转换,性能降低。优势:支持过滤器并发调用,性能提高
    仓库数据存储在中心仓库,处理流程独立,支持交互式处理数据与处理解耦合,可动态添加和删除处理组件劣势:数据与处理分离,需要加载数据,性能降低。优势:数据处理组件一般无依赖关系,可并发调用,提高性能
    • 软件质量效用
      性能,安全,可用性,可修改性,可测试性,易用性、可靠性(前四个比较重要)
    • 实现性能这一质量属性的主要架构策略主要有:增加计算资源、减少计算开销、引入并发机制、采用资源调度。
    • 实现可用性这一质量属性的主要架构策略主要有:心跳、Ping/Echo、主动冗余、被动冗余、选举等。
    • 实现可修改性这一质量属性的主要架构策略有:接口-实现分离、抽象、信息隐藏等。
    试题二
    • 数据库设计包括逻辑数据建模和物理数据建模,逻辑数据建模阶段主要构造实体联系图表达实体及其属性和实体之间的关系,物理数据建模主要根据所选数据库系统设计数据库模式。实体联系图(ER图,实体、联系、属性)
    • 构建ER图的流程主要有1构建系统上下文数据模型,确定实体及其联系2为每个实体确定其主键属性并添加完整属性3在此基础上利用规范化技术对所建立的逻辑数据模型进行优化,一般满足第三范式的要求
    • 什么是超类实体?多个实体中相同的属性组合起来构造出的新实体。
    • 什么是派生属性?指某个实体的非主键属性由该实体的其他非主键属性决定。
    试题四
    • Redis
      String 常规计数如粉丝数
      List 各类列表应用,关注列表、好友列表、订阅列表
      SET 与List类似但提供去重和集合操作,可实现共同关注、共同喜好、共同好友
      Hash 存储部分变更数据如用户数据
      ZSet 类似Set但提供自动排序,也可实现带权重的队列,如各类排行榜
    • RDB和AOF的区别
      RDB是每隔一段时间将内存中的数据集快照写入磁盘,AOF是redis每收到一个写命令都会通过write函数追加到日志文件中。
    试题五
    • Web
      在这里插入图片描述
    • 系统支持大于100个工业设备的并行监测属于《性能》
    • 标准的数据访问机制可以在硬件供应商和软件开发商之间建立一套完整的规则,只要遵循这套规则,数据交互对两者来说都是透明的。

    科目三

    • 论企业集成架构设计及应用
      数据集成、应用集成、企业集成
    • 论软件测试中缺陷管理及其应用
      在这里插入图片描述

    在这里插入图片描述

    2021

    科目一

    • 页内地址,页号、块号

    • 文件系统,直接地址索引、间接地址索引
      在这里插入图片描述

    • 进程管理,银行家算法

    • 数据库属性设计、属性冲突,结构冲突,命名冲突
      https://media4.open.com.cn/l603/dongshi/0809/shujukxt/chapter7/7033333.htm

    • 关系间的运算、自然连接
      自然连接要求两个关系进行比较的分量必须是相同的属性组,并在结果中将重复列去掉。

    • SoC
      SOC,是System on Chip的缩写,翻译过来就是系统级芯片,也有称片上系统。既然是系统,单个就称不上系统,只有多个个体的组合才能称之为系统,所以,SOC强调的是一个整体。用“麻雀虽小五脏俱全”来形容SoC,再确切不过了。SoC是模仿计算机系统,微缩成了一个微系统。硬件的大概的组成是:核心(core),存储,外设接口(高速外设和低速外设),总线,中断模块,时钟模块等。

    • AI芯片的关键点(新的计算范式、训练和推断、大数据处理能力、可重构的能力)

    • 交换机的初始MAC地址表为空,是通过互相交换学习建立的。

    • SDN(Software Defined Network)架构包括业务层、控制层、转发层。

    • 企业数字化转型的 五个 发展阶段
      初始级、单元级、流程级、网络级、生态级

    • 企业信息化的三个需求,战略需求、运作需求、技术需求

    • 软件知识产权
      在这里插入图片描述
      选12345

    • 在这里插入图片描述

    • 在这里插入图片描述

    • 在这里插入图片描述

    • 软件生命周期,软件定义、软件开发、软件运行、软件维护

    • 在这里插入图片描述
      顺序图属于面向对象UML里的图

    • 在这里插入图片描述

    • 在这里插入图片描述
      判定节点个数 + 1 = 3 + 1 = 4

    • 在这里插入图片描述
      软件构件,独立部署单元、第三方的组装单元、没有(外部的)可见状态

    • 在这里插入图片描述

    • 在这里插入图片描述

    • 在这里插入图片描述

    • 在这里插入图片描述

    • 在这里插入图片描述

    • 在这里插入图片描述

    • 在这里插入图片描述

    • 在这里插入图片描述

    • 在这里插入图片描述

    • 在这里插入图片描述

    • 期望时间 = (乐观时间 + 4 * 最可能时间 + 保守时间) / 6

    科目二

    试题一
    • 软件架构风格对比
      在这里插入图片描述
      在这里插入图片描述
    试题二
    • 顺序图强调交互的时间顺序

    • 协作图强调接收和发送消息的对象的结构组织,强调通信的方式。

    • 对象模型、动态模型、功能模型
      对象模型描述系统中对象的静态结构、对象之间的关系、属性和操作,主要用对象图来实现。
      动态模型描述与时间和操作顺序有关的系统特征,例如,激发事件、事件序列、确定事件先后关系的状态等,主要用状态图来实现。
      功能模型描述一个计算如何从输入值得到输出值,它不考虑计算的次序,主要用用例图来实现。

    • 功能模型指发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。对象设计建立基于分析模型的设计模型并考虑实现细节,可用于软件的需求分析。

    试题四
    • 数据库反规范化设计
    1. 增加冗余列:在多个表中保留相同的列,通过增加数据冗余减少或避免查询时的连接操作。
    2. 增加派生列:在表中增加可以由本表或其它表中数据计算生成的列,减少查询时的连接操作并避免计算或使用集合函数。
    3. 重新组表:如果许多用户需要查看两个表连接出来来的结果数据,则把这两个表重新组成一个表来减少连接而提高性能。
    4. 水平分割表:根据一列或多列数据的值,把数据放到多个独立立的表中,主要用于表数据规模很大、表中数据相对独立或数据需要存放到多个介质上时使使用。
    5. 垂直分割表:对表进行分割,将主键与部分列放到一个表中,主键与其它列放到另一个表中,在查询时减少I/0次数。
    • 反规范化带来数据不一致的问题,如何解决?
    1. 批处理维护
    2. 应用逻辑
    3. 触发器
      在这里插入图片描述
    • Redis数据机构选择、解决MySQL和Redis数据实时同步的方案
      在这里插入图片描述
    试题五
    • 基于云平台的智能家居管理系统和基于家庭网关的传统智能家居管理系统
    1. 在网关管理方面,基于云平台的智能家居管理系统可以将分散的智能家居网关数据集中起来,实现对智能家居网关的远程高效管理。
    2. 在数据处理方面,云端服务器对智能家居网数据进行备份存储,当家庭网关由于故障等原因导致数据丢失时,可以通过云端管理系统对网关数据过进行恢复,从而提高教据的容灾性。
    3. 在系统性能方面,基于云服务平台的智能家居管理系统将数据信息存储在云端,减少了数据请求时间,提高了通信效率。
    • TCP and UDP Transmission Control Protocol, User Datagram Protocol
      TCP在IP协议提供的不可靠数据服务的基础上,采用了重发技术,为应用程序提供了一个可靠的、面向连接的、全双工的数据传输服务。TCP协议一般用于传输数据量比较少且对可靠性要求比较高的场合。
      UDP是一种不可靠的、无连接的的协议,可以保证应用程序进程间的通讯。

    科目三

    • 试题一,论面向方面的编程技术及其应用
      AOP包括三个开发步骤:
    1. 方面分解,提取出横切关注点和核心关注点
    2. 关注点实现,各自地实现这些关注点,用OOP实现核心关注点,用AOP实现横切关注点
    3. 方面的重新组合,方面集成器通过创建一个模块单元来指定重组的规则,重组过程也成为编织
    • 试题二, 论系统安全架构设计及其应用
      在这里插入图片描述
      在这里插入图片描述
    • 试题三,论企业集成平台的理解与应用
      在这里插入图片描述
      (5)平台运行管理工具
      在这里插入图片描述
    • 试题四,论微服务架构及其应用

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    Vue-router源码-各原理简单总结
    C++中虚表是什么
    25. K个一组翻转链表
    2024 遗传编程实战(一)基因实战
    使用php解压缩ZipArchive类实现后台管理升级的解决方案
    TotalFinder v1.15.1(Finder代替工具)
    Docker 部署 MySQL 8
    未来,属于终身学习者
    c++标准模板(STL)- 算法 (std::remove, std::remove_if)
    【regex】正则表达式
  • 原文地址:https://blog.csdn.net/wyh1618/article/details/133844213