2017年上半年软件设计师上午真题知识点整理(附试卷及答案)
以下是2017年上半年软件设计师上午真题的知识点分类整理,涉及定义的详细解释,供背诵记忆。
1. 计算机组成原理
-
CPU与存储器的访问。
- Cache的作用: 提高CPU访问主存数据的速度,减少访问延迟。
- 存储器的层次结构: 包括寄存器、Cache、主存和辅存。
-
DMA控制方式。
- DMA (Direct Memory Access): 在主存与I/O设备之间直接建立数据通路,无需CPU干预。
-
局部性原理。
- 时间局部性: 程序中的某条指令一旦被执行,不久后可能会再次执行。
- 空间局部性: 程序访问某个存储单元后,其邻近的存储单元也可能会被访问。
2. 校验与错误检测
-
海明码与奇偶校验。
- 海明码: 通过增加校验位进行错误检测与纠正。
- 奇偶校验: 通过奇偶位检测数据中的错误。
-
循环冗余校验(CRC)。
- CRC: 采用模2运算构造校验位,用于检测数据传输中的错误。
3. 网络与安全
-
防火墙类型。
- 包过滤防火墙: 根据IP地址、端口号等过滤数据包。
- 应用级网关: 检查应用层协议的内容,过滤特定应用的数据。
-
安全电子邮件协议。
- SSL/HTTPS: 提供加密通信,保护电子邮件传输安全。
- PGP: 用于加密和签名电子邮件。
-
数字证书与数字签名。
- 数字证书: 包含用户公钥,用于身份认证。
- 数字签名: 用于确保消息的不可否认性。
-
病毒类型。
- 蠕虫病毒: 通过网络传播,破坏系统或数据。
4. 软件工程与开发
-
软件著作权归属。
- 职务开发: 软件著作权归公司所有。
- 委托开发: 归属按约定,无约定时归属于开发者。
-
数据流图建模原则。
- 自顶向下、从抽象到具体: 结构化分析方法的核心原则。
-
模块内聚与耦合。
- 高内聚低耦合: 模块内部紧密相关,模块之间依赖降低。
-
项目活动图与关键路径。
- 关键路径: 决定项目最短工期的活动序列。
- 松弛时间: 活动在不影响项目工期下的延迟时间。
-
软件风险。
- 风险识别与控制: 识别潜在风险并采取措施控制。
5. 程序设计语言与编译
-
程序设计语言的控制结构。
- 控制结构: 顺序、选择、循环。
-
编译过程中的语法分析。
- 语法分析: 分析语句的结构是否符合程序语言的语法规则。
-
符号表的作用。
- 符号表: 用于记录源程序中符号的类型和特征等信息。
-
后缀表达式(逆波兰式)。
- 逆波兰式: 运算符在操作数之后的表达式表示方式。
6. 操作系统与进程管理
-
进程调度与状态转换。
- 先来先服务调度: 按进程到达顺序进行调度。
- 进程状态: 运行、就绪、等待。
-
PV操作与进程同步。
- PV操作: 用于实现资源的互斥使用,防止多个进程同时访问共享资源。
-
磁盘调度算法。
- 最短寻道时间优先(SSTF): 优先服务距离当前磁头位置最近的请求。
7. 文件系统与路径
-
文件路径表示。
- 绝对路径: 从根目录开始的路径。
- 相对路径: 从当前目录开始的路径。
-
位示图与磁盘管理。
- 位示图: 用于记录磁盘块的空闲状态。
8. 软件测试与维护
-
测试用例设计原则。
- 等价类划分: 将输入域划分为有效和无效等价类。
-
软件维护类型。
- 改正性维护: 修复软件中的错误。
- 改善性维护: 提高系统性能或增加功能。
9. 面向对象设计
-
类与对象。
- 类的成员变量与成员函数: 分别称为属性和方法。
-
设计原则。
- 单一责任原则: 一个类应该只有一个引起它变化的原因。
- 开放-封闭原则: 对扩展开放,对修改封闭。
-
继承与多态。
- 继承: 子类继承父类的属性和方法。
- 多态: 同一个方法在不同子类中有不同实现。
10. UML与设计模式
-
UML类图。
- 类图: 描述类之间的关系,如继承、关联等。
-
设计模式。
- 工厂模式: 用于创建对象,封装对象的创建过程。
- 单例模式: 确保一个类只有一个实例。
11. 数据库与事务
-
关系数据库的候选键。
- 候选键: 能唯一标识元组的最小子集。
-
事务的ACID特性。
- 原子性: 事务要么全部执行,要么全部不执行。
- 一致性: 事务执行前后数据库状态一致。
- 隔离性: 并发事务互不干扰。
- 持久性: 事务提交后,结果永久保存。
12. 数据结构与算法
-
二叉树的遍历。
- 先序遍历、中序遍历、后序遍历: 不同遍历顺序的输出。
-
散列函数与冲突解决。
- 散列函数: 将关键字映射到存储位置。
- 线性探测法: 解决冲突的方法。
-
贪心算法与动态规划。
- 贪心算法: 每一步选择局部最优解,希望最终得到全局最优解。
- 动态规划: 将问题分解为子问题,记录子问题的解避免重复计算。
13. 网络与通信
-
HTTP请求过程。
- HTTP请求步骤: DNS解析、TCP连接、发送请求、接收响应、显示数据。
-
TCP与UDP协议。
- TCP: 提供可靠连接,保证数据有序、无差错。
- UDP: 提供无连接服务,速度快但不保证可靠性。
-
IP地址与子网划分。
- IP地址: 用于标识网络中的设备。
- 子网划分: 将一个网络划分为多个子网。
以上是知识点的详细分类和解释,帮助系统化理解和记忆。
相关文章:
2017年上半年软件设计师上午真题知识点整理(附试卷及答案)
以下是2017年上半年软件设计师上午真题的知识点分类整理,涉及定义的详细解释,供背诵记忆。 1. 计算机组成原理 CPU与存储器的访问。 Cache的作用: 提高CPU访问主存数据的速度,减少访问延迟。存储器的层次结构: 包括寄存器、Cache、主存和辅存…...
【MySQL】基础篇
1. MySQL中的NULL值是怎么存放的? MySQL的compact行格式中会用【NULL值列表】来标记值为NULL的列,NULL值不会存储在行格式中的真实数据部分。 NULL值列表会占用1字节空间,当表中所有字段都被定义成NOT NULL,行格式中就不会有NULL值…...
Kotlin 扩展函数与内联函数
Kotlin扩展函数 Kotlin 的扩展函数是 Kotlin 中非常强大且实用的功能。它允许你为现有的类添加新的方法,而不需要修改其源代码。这意味着你可以在已有的类上“扩展”新的功能,使用起来就像是原本就存在这些方法一样。 扩展函数的基本语法 fun 类名.方…...
uniapp中对于文件和文件夹的处理,内存的查询
目录 移动文件到指定文件夹 新增本地文件夹 设定本地文件过期时间,清除超时文件,释放内存 操作本地文件之----删除 uniapp获取设备剩余存储空间的方法 读取本地文件夹下的文件 移动文件到指定文件夹 function moveTempFile(tempFilePath, targetFo…...
【Android开发】安卓手机APP使用机器学习进行QR二维码识别(完整工程资料源码)
前言:本项目是一个 Android 平台的二维码扫描应用,具备二维码扫描和信息展示功能。借助 AndroidX CameraX 库实现相机的预览、图像捕获与分析,使用 Google ML Kit 进行二维码识别。为方便大家了解项目全貌,以下将介绍项目核心代码文件 MainActivity.java 和 AndroidManifes…...
企业文件防泄密软件哪个好?
在企业文件防泄密软件领域,天锐绿盾和中科数安都是备受认可的品牌,它们各自具有独特的特点和优势。 以下是对这两款软件的详细比较: 天锐绿盾 功能特点 集成性强:集成了文件加密、数据泄露防护DLP、终端安全管理、行为审计等数据安…...
mysql 参数max_connect_errors研究
1.在server端设置max_connect_errors3,超过3次连接错误就block mysql> set global max_connect_errors3; Query OK, 0 rows affected (0.00 sec) mysql> show variables like max_connect_errors; --------------------------- | Variable_name | Value…...
linux 下连接mysql(下)
case 表达式 表t1中的数据如下。 select * from t1; ---------------------------- | id | student_no | name | age | ---------------------------- | 3 | 202501 | ll | 10 | | 4 | 202502 | tt | 15 | ----------------------------如果学号是202501,…...
【Qt 常用控件】多元素控件(QListWidget、QTableWidgt、QTreeWidget)
**View和**Widget的区别? **View的实现更底层,**Widget是基于**View封装实现的更易用的类型。 **View使用MVC结构 MVC是软件开发中 经典的 软件结构 组织形式,软件设计模式。 M(model)模型。管理应用程序的核心数据和…...
Linux 远程文件复制传输-----scp/rsync/sftp
scp(Secure Copy Protocol)是基于 SSH 的安全文件传输工具,可用于在本地和远程计算机之间复制文件或目录。 1. scp(基于 SSH 复制文件) a. 复制文件到远程 从本地复制到远程 scp localfile.txt userremote_host:/remo…...
VS2022中.Net Api + Vue 从创建到发布到IIS
VS2022中.Net Api Vue 从创建到发布到IIS 前言一、先决条件二、创建项目三、运行项目四、增加API五、发布到IIS六、设置Vue的发布 前言 最近从VS2019 升级到了VS2022,终于可以使用官方的.Net Vue 组合了,但是使用过程中还是有很多问题,这里记录一下. 一、先决条件 Visual …...
Windows 11 搭建私有知识库(docker、dify、deepseek、ollama)
一、操作系统信息 版本 Windows 11 家庭中文版 版本号 23H2 安装日期 2023/8/21 操作系统版本 22631.4460二、搭建思路 ollama拉取deepseek、bge-m3模型docker拉取dify的镜像dify链接ollama使用模型,并上传文件搭建知识库,创建应用 三、搭建步骤…...
安装OpenJDK21(linux、macos)
文章目录 安装OpenJDK21java21linux下安装配置mac下安装 安装OpenJDK21 java21 封神!Java 21正式发布了,迎来了史诗级新特性,堪称版本最强!!! 视频链接:https://www.bilibili.com/video/BV1E8…...
变分边界详解
起因 当时看VAE论文时有这么一段,但是看完直接一头雾水,这都那跟哪,第一个公式咋做的变换就变出那么一堆。网上搜了很多博客都语焉不详,只好自己来写一篇,希望能解答后来人的疑惑。 公式1 参考文章:证据…...
Softhsm储存安全数据性能整理
目标:存储百万条数据对象 测试方案一:总大小2GB,每个数据对象大小约512KB,总条数4096条; 测试方案一:总大小2GB,每个数据对象大小约256B,总条数8388608条; 测试环境&am…...
KaiOS 4.0 APN List 界面加载debug
问题背景 在列表选中APN进入编辑后,退出返回列表界面时无法焦点选中编辑的APN。 代码分析 路径:gaia/apps/settings/js/panels/apn_list/panel.js 分析SettingsPanel界面加载的步骤逻辑 onBeforeShow -> onShow -> onBeforeHide -> onHide return SettingsPanel(…...
Next.js 15【实用教程】2025最新版
官网 https://nextjs.org/docs/app/getting-started Next.js 简介 Next.js 由 Vercel 开发和维护,旨在解决单页应用(SPA)和多页应用(MPA)在性能和 SEO 上的不足。 核心特性 服务端渲染(SSR)--…...
2025-02-13 学习记录--C/C++-PTA 7-17 爬动的蠕虫
一、题目描述 ⭐️ 二、代码(C语言)⭐️ #include <stdio.h>int main() {int N, U, D; // N: 井的总高度,U: 每分钟向上爬的高度,D: 每分钟滑下的高度int height 0; // 蠕虫当前的高度int minute 0; // 蠕虫爬行的时间sc…...
Elasticsearch+Logstash+Kibana可视化集群部署
文章目录 1.组件介绍简述2.集群规划3.Es组件部署4.Logstash组件部署5.Kibana组件部署6.Kibana的基础使用 1.组件介绍简述 Elasticsearch:开源实时分布式搜索和分析引擎,支持大规模数据存储和高吞吐量,提供丰富的搜索功能和可扩展性。 Logsta…...
React VS Vue
React 和 Vue 是目前最流行的两个前端框架,它们在设计理念、生态系统和开发体验上各有特点。以下是对 React 和 Vue 的全方位对比: 1. 核心设计理念 React 库而非框架:React 是一个用于构建 UI 的库,专注于视图层,其…...
DeepSeek+Excel 效率翻倍
2025年初,DeepSeek以惊人的效率突破技术壁垒,用极低的成本实现了与行业顶尖AI相媲美的性能,瞬间成为全球科技领域的热门话题。 那么AI工具的普及将如何改变我们的工作方式?Excel会被取代吗? 今天,珠珠带你…...
将Sqlite3数据库挂在内存上处理
创作灵感:最近把小学生的口算题从2位数改到3位数,100以内四则运算练习(千纬数学)再次更新,选取难题-CSDN博客要不断刷题目,以前100以内的加减乘除也是这样刷出来的,代码如下: impor…...
Vue3.5 企业级管理系统实战(六):Vue3中defineProps用法
上一节封装图标组件 SvgIcon 时,用到了 defineProps,因为它在开发中的重要性,这里简单看一下它的用法,已熟知用法的此节可跳过。 在 Vue3 的组件化开发体系里,组件间通信是构建高效、可维护应用程序的核心环节。defin…...
HTTP/2 由来及特性
HTTP/2 的由来 HTTP/1.x 的局限性 性能瓶颈 队头阻塞问题:在HTTP/1.x中,一个TCP连接在同一时间只能处理一个请求,后续请求必须等待前面的请求处理完成并收到响应后才能被处理。例如,当一个页面有多个资源(如图片、脚…...
electron.vite 项目创建以及better-sqlite3数据库使用
1.安装electron.vite npm create quick-start/electronlatest中文官网:https://cn.electron-vite.org/ 2. 安装项目依赖 npm i3.修改 electron-builder 配置文件 appId: com.electron.app productName: text33 directories:buildResources: build files:- !**/.v…...
蓝桥杯 Java B 组之枚举算法(暴力破解)
Day 3:枚举算法(暴力破解) 枚举算法(Brute Force)是一种 暴力搜索 方法,它通过 遍历所有可能的情况 来找到正确答案。虽然它的 时间复杂度较高,但在 数据范围较小 时,它是一种简单且…...
AI 控制web浏览器基础知识准备,名词解释Xvfb,x11vnc,novnc,playwright,gradio
在探索如何让AI控制Web浏览器实现自动化任务时,了解底层技术栈是关键。本文将解析五个核心组件:Xvfb、x11vnc、novnc、playwright和gradio,这些工具共同构成了AI驱动浏览器的基础架构。 1. Xvfb(X Virtual Framebuffer࿰…...
C++,STL容器适配器,stack:栈深入解析
文章目录 一、容器概览与核心特性核心特性速览二、底层实现原理1. 容器适配器设计2. 默认容器对比三、核心操作详解1. 容器初始化2. 元素操作接口3. 自定义栈实现四、实战应用场景1. 括号匹配校验2. 浏览器历史记录管理五、性能优化策略1. 底层容器选择基准2. 内存预分配技巧六…...
Vue笔记(十)
一、AI的基本认知 二、ChatGPT的基本使用 三、AI插件--Copilot入门 1.Copilot是由OpenAI和GitHub合作开发的AI编程辅助插件,基于大量代码训练,能根据上下文自动生成代码建议。 2.安装与配置:在常用代码编辑器(如Visual Studio Cod…...
Ubuntu下载安装Docker-Desktop
下载 Ubuntu | Docker Docs 预备工作 Ubuntu增加docker apt库-CSDN博客 安装 sudo apt-get updatesudo apt install gnome-terminal# sudo apt install -y docker-composesudo apt-get install ./docker-desktop-amd64.deb 测试 sudo docker run hello-worldHello from D…...
