仲恺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 . 请画出时序图
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

QuickLook最强大的C#开源文件预览神器

功能特点&#xff1a; 快速预览&#xff1a;用户只需选中文件并按下空格键&#xff0c;即可立即查看文件内容&#xff0c;无需打开特定应用程序或软件。 多格式支持&#xff1a;QuickLook支持预览几乎所有常见的文件类型&#xff0c;包括但不限于&#xff1a; 图像&#xff1…

SwiftUI 6.0(iOS 18)新容器视图修改器漫谈

概览 本届 WWDC 2024 观影正如火如荼的进行中&#xff0c;一片鸟语花香、枝繁叶茂的苹果树上不时结出几颗令人垂涎欲滴的美味苹果让秃头码农们欲罢不能。 如您所愿&#xff0c;在界面布局“利器” SwiftUI 这根蔓藤也长出不少喜人的果实&#xff0c;其中在 iOS 18.0 中新添加的…

mybatis-plus使用拦截器实现sql完整打印

shigen坚持更新文章的博客写手&#xff0c;擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长&#xff0c;分享认知&#xff0c;留住感动。 个人IP&#xff1a;shigen 在使用mybatis-plus&#xff08;mybatis&#xff09;的时候&#xff0c;往往需要…

IT人的拖延——这个任务太复杂,太难了怎么办?

随着科技的发展&#xff0c;IT人需要不断地运用新技术来解决更多传统方式难以解决的问题&#xff0c;有些问题真的不是不想解决&#xff0c;而是真的太复杂&#xff0c;太难了&#xff0c;根本不知道从何开始&#xff0c;也没有什么前辈的经验可以借鉴。我们这些对事情难度的认…

奇思妙想-可以通过图片闻见味道的设计

奇思妙想-可以通过图片闻见味道的设计 偷闲半日享清闲&#xff0c;炭火烧烤乐无边。肉串飘香引客至&#xff0c;笑语欢声绕云间。人生难得几回醉&#xff0c;且把烦恼抛九天。今宵共饮开怀酒&#xff0c;改日再战新篇章。周四的傍晚&#xff0c;难得的闲暇时光让我与几位挚友相…

Parallels Desktop 19 激活码 - 苹果 Mac 最新版 PD 19激活密钥虚拟机下载 (支持Win11/macOS Sonoma)

Parallels Desktop 被称为 macOS 上强大的虚拟机软件。可以在 Mac 下同时模拟运行 Win、Linux、Android 等多种操作系统及软件而不必重启电脑&#xff0c;并能在不同系统间随意切换。 最新版 Parallels Desktop 19 (PD19) 完全支持 macOS Sonoma、Ventura 和 Windows 11 / Win…

仅凭一图,即刻定位,AI图像定位技术

AI图像定位技术&#xff0c;解锁空间密码&#xff01;仅凭一图&#xff0c;即刻定位&#xff0c;精准至经纬度坐标&#xff0c;让世界无处不晓。 试试看能否猜中这张自拍照的背景所在&#xff1f;可别低估了A的眼力&#xff0c;答案说不定会让你大吃一惊呢。 近期&#xff0c;…

tokenization(二)子词切分方法

文章目录 概述BPE构建词表词元化代码实现 WordPieceUnigram估算概率&#xff08;E&#xff09;删除词元&#xff08;M&#xff09; 参考资料 概述 接上回&#xff0c;子词词元化&#xff08;Subwords tokenization&#xff09;是平衡字符级别和词级别的一种方法&#xff0c;也…

通义千问调用笔记

如何使用通义千问API_模型服务灵积(DashScope)-阿里云帮助中心 package com.ruoyi.webapp.utils;import com.alibaba.dashscope.aigc.generation.Generation; import com.alibaba.dashscope.aigc.generation.GenerationOutput; import com.alibaba.dashscope.aigc.generation.G…

Element-UI - 解决el-table中图片悬浮被遮挡问题

在开发中&#xff0c;发现element-ui在el-table中添加图片悬浮显示时&#xff0c;会被单元格遮挡的问题。通过查询得到的解决办法&#xff0c;大多是修改.el-table类中相关样式属性&#xff0c;但经过验证发现会影响到其他正常功能的使用。对于此问题解决其实也并不难&#xff…

HTTP协议 快速入门

http概述 无状态性&#xff1a;HTTP是一个无状态协议&#xff0c;这意味着服务器不会在请求之间保存任何会话信息。每个请求都是独立的&#xff0c;服务器不会记住之前的请求。 请求-响应模型&#xff1a;HTTP通信是基于客户端发送请求和服务器返回响应的模型。客户端&#xf…

面向对象初级的内存分布图

1.一个对象的内存图 2.二个对象的内存图 3.二个引用指向同一个对象 4.this的内存布局图 创建了一个Student类的对象s1,因为有new,所有在堆区开辟了一些内存空间,比如把这些内存空间的地址值叫001 形参name是竹小玲, 也就是对象s调用method方法的地址值, this表示方法调用者的地…

MicroPython 环境下使用 ESP32 连接百度 AI 大模型

前言 在物联网领域&#xff0c;ESP32 由于其丰富的功能和低功耗性能成为了一种流行的选择。结合 MicroPython&#xff0c;它为开发者提供了一个高效的开发环量&#xff0c;让 Python 程序员也能轻松介入到嵌入式系统和 IoT 应用的开发之中。本文将介绍如何利用这些技术&#x…

内存-VSS、RSS、PSS、USS

一、 VSS 虚拟耗用内存大小&#xff0c;是进程可以访问的所有虚拟内存的总量&#xff0c;包括进程独自占用的物理内存、和其他进程共享的内存、分配但未使用的内存。 RSS 驻留内存大小&#xff0c;是进程当前实际占用的物理内存大小&#xff0c;包括进程独自占用的物理内存、…

【ROS里程计】中部分代码解释

bool OdomNodePub::Odom_Reset(ubt_odom::odomreset::Request& req, ubt_odom::odomreset::Response& res) {if(req.cmd "reset"){OdomResetFlag true;}else{OdomResetFlag false;}res.state "success";return true; } 该函数是一个ROS节点中…

如何判断一个js对象是否存在循环引用

一、背景 在前端JSON.stringfy是我们常用的一个方法&#xff0c;可以将一个对象序列化。 例如将如下对象序列化 const person { name: kalory, age:18}JSON.stringfy(person) // 结果 {"name":"kalory","age":18}将一个数组序列化const arr …

Modbus转Profibus网关接变频器:实现工业自动化无缝连接

一、背景 在工业自动化领域&#xff0c;Modbus和Profibus是两种常见的通讯协议&#xff0c;而变频器作为控制电机转速的重要设备。为了实现不同设备之间的无缝连接和数据传输&#xff0c;现场大多数采用Modbus转Profibus网关&#xff08;XD-MDPB100&#xff09;来解决Modbus设…

常见场景的业务逻辑漏洞以及安全设计

前言 目前常规漏洞的挖掘越来越困难&#xff0c;在这种情况下&#xff0c;我们可以多去看看业务逻辑方面的漏洞&#xff0c;也是复杂的系统&#xff0c;越有可能出现这方面的问题。本篇文章就来看看常见的一些场景下都有哪些业务漏洞。 由于本人水平有限&#xff0c;文章中可…

论文笔记:ATime-Aware Trajectory Embedding Model for Next-Location Recommendation

Knowledge and Information Systems, 2018 1 intro 1.1 背景 随着基于位置的社交网络&#xff08;LBSNs&#xff09;&#xff0c;如Foursquare和Facebook Places的日益流行&#xff0c;大量用户签到数据变得可用 这些大量签到数据的可用性带来了许多有用的应用&#xff0c;以…

【AI实践】Dify开发应用和对接微信

自定义应用 创建应用有2种&#xff0c; 从应用模板创建 空白应用&#xff0c;也就是自定义应用 选择翻译助手 Translation assistant模板创建一个应用 自定义应用&#xff0c;创建一个child_accompany_bot自定的应用&#xff0c;用来支持家长&#xff0c;如何解决低龄儿童的…