仲恺ZK——信计专业《软件体系结构》24年试卷回忆

以下是我在总结的复习内容,有需要可以参考借鉴一下。我的主页还有另外一篇复习总结《仲恺ZK——信计专业《软件体系结构》,两者结合起来复习,帮助你轻松过考试😊。总的来说,考试不会太难,只要你了解了各类设计模式的含义即可(真的就是了解即可,能从含义确认出是什么设计模式就👌了。不需要学会默写,因为考试的时候这么多选择题选项可以参考😄。
如果需要资料的话可以私信我,我通过邮箱📮发送给各位💪。
资料总结也有错误❎,欢迎大家批评指正👏。

文章目录

  • 考试前景
    • 老师给的复习提纲
    • 老师给的考试题型
  • 2024年考试回忆
    • 选择题
    • 填空题
    • 多选题
    • 简答题
    • 案例题

考试前景

老师给的复习提纲

2023-2024复习提纲(覆盖面85%)
1.单例模式:创建型设计模式,用于确保一个类只有一个实例,并提供全局访问点。
2.装饰模式:结构型设计模式,用于动态地给对象添加额外的职责,而不影响其接口。
3.观察者模式:行为型设计模式,用于建立一种一对多的依赖关系,当一个对象状态发生改变时,其依赖对象会自动收到通知。
4.抽象类和继承:面向对象的基本概念,用于实现代码的复用和继承关系的建立。
5.工厂模式:创建型设计模式,用于创建一系列相关或相互依赖的对象,而无需指定具体类。
6.适配器模式:结构型设计模式,用于将一个类的接口转换成客户端所期望的另一个接口。
7.中介者模式:行为型设计模式,用于封装一组对象之间的交互,使其更加松散耦合。
8.外观模式:结构型设计模式,为一组复杂的子系统提供一个简单的接口,使其更易于使用。
9.代理模式:结构型设计模式,为其他对象提供一种代理以控制对这个对象的访问。
10.继承违反封装性:面向对象的基本原则,指的是将对象的状态和行为封装在一起,并限制对内部实现的访问。
11.适配器模式的应用场景:当你想使用一个已经存在的类,但其接口不符合你的需求时,可以使用适配器模式进行接口转换。
12.创建型设计模式包括:单例模式、工厂模式、抽象工厂模式、建造者模式和原型模式等。
13.开放封闭原则:面向对象的基本原则,指的是一个软件实体(类、模块、函数等)应当对扩展开放,对修改关闭。
14.组合模式:结构型设计模式,用于表示对象的部分-整体层次结构,并能够以统一的方式处理对象和对象集合。
15.面向对象设计原则,特别是单一职责、里氏代换原则。
16.装饰器模式、桥接模式、命令模式、观察者模式、策略模式、享元模式、原型模式、责任链模式、状态模式、备忘录模式、迭代器模式、组合模式、访问者模式、依赖倒转原则、桥接模式、迭代器模式、代理模式和适配器模式。
17.工厂模式和抽象工厂模式。单例模式和享元模式。
18.集合型设计模式(组合模式)
19.装饰器模式与继承的区别。
20.考查面向对象编程的基本概念和实现(责任链,接口模式等)。

老师给的考试题型

一、选择题(本题包含15小题,每题2分,共30分) 
二、填空(本题包含5个空,每题2分,共10分)
三、判断题(本题包含5小题,每题2分,共10分)or 多选题(本题包含5小题,每题2分,共10分) 
四、简答(本题包含3小题,每题10分,共20分)
五、案例(本题包含1小题,共20分) 课上教过的都可能涉及!

2024年考试回忆

考试题型一共分为:

  1. 选择题
  2. 填空题
  3. 多选题
  4. 简答题
  5. 案例分析题

选择题

选择题大致来说不难,很多道题目都考了同一种设计模式,所以可以根据上下题目选项来推断出答案。还有几道题考了软件设计原则,也很简单,整体来说不难,只要熟悉和了解了23种设计模式的含义就能过啦😆。和历年真题相似度不高,和学习通的选择题相似度也不高,所以还是要回归知识本身,好好熟悉设计模式的含义和适用性就可以💪⛽️。

填空题

第一道和第二道考了给你设计模式的含义,让你写出是什么设计模式,这个很简单。第三道是给你的一个设计原则的含义,让你写出他该原则的名字,这个也很简单。如果想不起来是什么设计模式,还可以参照前面选择题,全卷参考一下,总能得出答案。

第四道题考的是使用Redo和Undo案例的是什么设计模式?答案是:命令模式

多选题

方法与选择题一致,熟悉设计模式即可。

简答题

第一题:集合模式有那些,分别解释他们?

第二题:装饰器模式和继承的区别?

  • 装饰器模式强调在运行时动态地添加功能,而继承则是在编译时静态地定义类之间的关系。
  • 装饰器模式更加灵活,可以将功能模块化并组合使用,而继承则会引入类之间的耦合关系,可能导致类层次结构的复杂性增加。
  • 使用装饰器模式时,可以避免修改原始类的代码,而继承通常需要修改父类或子类的代码。
  • 装饰器模式适用于在运行时动态地修改对象的行为,而继承适用于在编译时定义类之间的静态关系

第三题:写出一个Person类的(姓名、年龄、班级)的存取器

class Person{private String name;private int age;private String class;public void setName(String name){this.name = name;}public String getName(){return name;}public void setAge(int age){this.age = age;}public int getAge(){return age;public void setClass(String class){this.class = class;}public String getClass(){return class;}
}

案例题

⚠️以下是我的题目回忆,可能不完全是该考题,大家可以当作学习即可。我的答案也不一定正确,欢迎👏大家批评指出错误❎。

有一个类OrderArray,实现了两种方法分别是BinarySearch(二分查找)和SequentiaSearch(顺序查找)。

  1. 请画出类图

  2. 请写出OrderArray代码

    public class OrderArray {
    private int[] array;

    public OrderArray(int[] arr) {array = arr;
    }public int binarySearch(int target) {int left = 0;int right = array.length - 1;while (left <= right) {int mid = left + (right - left) / 2;if (array[mid] == target) {return mid;} else if (array[mid] < target) {left = mid + 1;} else {right = mid - 1;}}return -1; // Not found
    }public int sequentialSearch(int target) {for (int i = 0; i < array.length; i++) {if (array[i] == target) {return i;}}return -1; // Not found
    }
    

    }

    1. 请写出main方法
    public class Main {public static void main(String[] args) {int[] arr = {1, 3, 5, 7, 9, 11, 13};OrderArray orderArray = new OrderArray(arr);int target = 7;int binaryResult = orderArray.binarySearch(target);System.out.println("Binary search result: " + binaryResult);int sequentialResult = orderArray.sequentialSearch(target);System.out.println("Sequential search result: " + sequentialResult);}
    }

4 . 请画出时序图
在这里插入图片描述

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

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

相关文章

Dockerfile 自定义镜像

大家好 , 今天我要和大家分享一个现代软件开发中不可或缺的工具 - Docker . 在这个快速发展的技术时代 , 我们经常面临着应用部署的复杂性、环境差异以及不同操作系统之间的兼容性问题 . 这些问题不仅消耗大量时间 , 还可能导致项目延期和成本增加 . Docker 的出现解决了我们在…

MFC工控项目实例之三theApp变量传递对话框参数

承接专栏《MFC工控项目实例之二主菜单制作》 用theApp变量传递对话框参数实时改变iPlotX坐标轴最小值、最大值。 1、新建IDD_SYS_DATA对话框&#xff0c;类名SYS_DATA。 三个编辑框IDC_EDIT1、IDC_EDIT2、IDC_EDIT3变量如图 2、SEAL_PRESSURE.h中添加代码 #include "re…

【前端项目笔记】1 登录与登出功能实现

项目笔记 ☆☆代表面试常见题 前后端分离&#xff1a;后端负责写接口&#xff0c;前端负责调接口。 登录/退出功能 登录业务流程 登录页面&#xff1a;用户名密码 调用后台接口进行验证 通过验证&#xff0c;根据后台响应状态跳到项目主页 登录业务相关技术点&#xff1…

Python(三)---字符串

文章目录 前言1.创建字符串2.字符串的编码3.空字符串和len()函数4.转义字符5.从控制台读取字符串6.字符串的相关操作6.1.通过[]访问元素6.2.字符串切片slice操作6.3.字符串拼接和字符串复制6.4.split()分割和join()合并6.5.常用查找方法6.6.replace() 实现字符串替换6.7.去除首…

vulnhub靶机hacksudoLPE中Challenge-1

下载地址&#xff1a;https://download.vulnhub.com/hacksudo/hacksudoLPE.zip 主机发现 目标146 端口扫描 服务扫描 漏洞扫描 上面那整出来几个洞&#xff0c;可以试试 easy&#xff1f; 估计就是看源码 看来是的 登入咯 这里进不去就是ssh咯 这个看着有点像提权的操作 一…

远程桌面端口,远程桌面改端口有哪些方法

方法一&#xff1a;通过修改注册表 步骤一&#xff1a;打开注册表编辑器 按下 Windows键R 打开“运行”对话框。输入 regedit 并按 Enter 打开注册表编辑器。 步骤二&#xff1a;定位到远程桌面服务的端口设置 导航至第一个注册表路径&#xff1a;HKEY_LOCAL_MACHINE\SYSTE…

分类模型部署-ONNX

分类模型部署-ONNX 0 引入&#xff1a;1 模型部署实战测试&#xff1a;1 安装配置环境&#xff1a;2 Pytorch图像分类模型转ONNX-ImageNet1000类3 推理引擎ONNX Runtime部署-预测单张图像&#xff1a; 2 扩展阅读参考 0 引入&#xff1a; 在软件工程中&#xff0c;部署指把开发…

kubeadm快速部署K8S

目录 一、kubeadm安装K8S 1.1 环境准备 1.2 初始化配置 1.3 所有节点安装docker 1.3.1 安装依赖环境和docker 1.3.2 定义docker 配置文件 1.3.3 重启并开机自启docker 1.3.4 查看docker 是否配置成功 1.4 master、node01 、node02安装kubeadm&#xff0c;kubelet和kub…

2.线上论坛项目

一、项目介绍 线上论坛 相关技术&#xff1a;SpringBootSpringMvcMybatisMysqlSwagger项目简介&#xff1a;本项目是一个功能丰富的线上论坛&#xff0c;用户可编辑、发布、删除帖子&#xff0c;并评论、点赞。帖子按版块分类&#xff0c;方便查找。同时&#xff0c;用户可以…

图像处理:Python使用OpenCV进行图像锐化 (非锐化掩模、拉普拉斯滤波器)

文章目录 非锐化掩模 (Unsharp Masking)拉普拉斯滤波器 (Laplacian Filter)效果对比总结 在图像处理中&#xff0c;锐化操作用于增强图像的边缘和细节&#xff0c;使图像看起来更清晰。常见的图像锐化方法包括非锐化掩模&#xff08;Unsharp Masking&#xff09;和拉普拉斯滤波…

轻松实现H5页面下拉刷新:滑动触发、高度提示与数据刷新全攻略

前段时间在做小程序到H5的迁移&#xff0c;其中小程序中下拉刷新的功能引起了产品的注意。他说到&#xff0c;哎&#xff0c;我们迁移后的H5页面怎么没有下拉刷新&#xff0c;于是乎&#xff0c;我就急忙将这部分的内容给填上。 本来是计划使用成熟的组件库来实现&#xff0c;…

Windows修改CMD窗口编码为UTF-8

windows下的cmd的默认编码是GBK编码&#xff0c;有时可能造成乱码问题&#xff0c;下面是我找到的两种更换编码方式为UTF-8的方法。 1、临时修改 &#xff08;1&#xff09;先进入cmd命令窗口&#xff08;快捷键win键R&#xff09; &#xff08;2&#xff09;直接输入“chcp…

畅想智能美颜工具的未来:美颜SDK技术详解

美颜SDK作为技术的核心&#xff0c;承载了美颜工具的实现和创新。本篇文章&#xff0c;小编将深入探讨美颜SDK技术的细节。 一、技术原理 美颜SDK是一种软件开发工具包&#xff0c;集成了一系列图像处理算法和技术&#xff0c;旨在实现对照片和视频中人物的实时美化。其主要技…

逢3必过报数游戏-第13届蓝桥杯省赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第84讲。 逢3必过报数游戏&…

c++_0基础_讲解7 练习

这一讲我为大家准备了几道题目&#xff0c;大家试着独自做一下&#xff08;可能来自不同网站&#xff09; 整数大小比较 - 洛谷 题目描述 输入两个整数&#xff0c;比较它们的大小。若 x>yx>y &#xff0c;输出 > &#xff1b;若 xyxy &#xff0c;输出 &#xff…

---异常---

我们在运行程序时总遇到各种与报错&#xff0c;数组越界&#xff0c;空指针的引用&#xff0c;这些在java中都称为异常 对于不同的错误都具有一个与他对应的异常类来秒描述 这是对于数组越界这个类里有的方法&#xff0c;这些是描述异常的 在java中有一个完整的描述异常的类的…

嵌入式数据库的一般架构

嵌入式数据库的架构与应用对象紧密相关&#xff0c;其架构是以内存、文件和网络等三种方式为主。 1.基于内存的数据库系统 基于内存的数据库系统中比较典型的产品是每个McObject公司的eXtremeDB嵌入式数据库&#xff0c;2013年3月推出5.0版&#xff0c;它采用内存数据结构&…

2024年黑龙江省特岗招聘公告出了!!!

2024年黑龙江省农村义务教育阶段学校特设岗位教师招聘822人公告 (1、网上报名 时间&#xff1a;6月17日9&#xff1a;00—6月22日17&#xff1a;00。 网址&#xff1a; https&#xff1a;//sfyz.hljea.org.cn&#xff1a;7006/tgjs 2、网上资格审查 资格审查时间&#xff1a;6月…

英语学习笔记36——Where ... ?

Where … ? ……在哪里&#xff1f; 词汇 Vocabulary beside prep. 在……旁边 同义词&#xff1a; near by 构成&#xff1a;be side side n. 边 搭配&#xff1a;side walk 人行道 例句&#xff1a;Bobby在我旁边。    Bobby is beside me. off prep. 离开&#xff…

C/C++中内存开辟与柔性数组

C/C中内存的开辟 在C中&#xff0c;我们都知道有三个区&#xff1a; 1. 栈区&#xff08;stack&#xff09;&#xff1a;在执行函数时&#xff0c;函数内局部变量的存储单元都可以在栈上创建&#xff0c;函数执行结 束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指…