软考程序员考试大纲(2023)
文章目录
- 前言
- 一、考试说明
- 1.考试目标
- 2.考试要求
- 3.考试科目设置
- 二、考试范围
- 考试科目1:计算机与软件工程基本知识
- 1.计算机科学基础
- 2.计算机系统基础知识
- 3.系统开发和运行知识
- 4.网络与信息安全基础知识
- 5.标准化与知识产权基础知识
- 6.信息化基础知识
- 7.计算机专业英语
- 考试科目2:程序设计
- 1.算法设计与实现
- 2.程序设计
- 3.程序实现与测试
- 4.程序设计语言
前言
之前给大家介绍了软考程序员是什么,如何报考及备考流程,现在我来带大家一起了解下软考程序员大纲!
一、考试说明
1.考试目标
通过本考试的合格人员能根据软件开发项目管理和软件工程的要求按照程序设计规格说明书编制并高度程序,写出相应的程序文档,产生符合标准规范的、实现设计要求的、能正确可靠运行的程序。具有助理工程师(或技术员)的实际工作能力和业务水平。
2.考试要求
(1)掌握数制及其转换、数据的机内表示、算术和逻辑运算、应用数学的基础知识;(2)了解计算机的组成以及各主要部件性能指标;(3)掌握操作系统、程序设计语言的基础知识;(4)熟练掌握基本数据结构和常用算法;(5)熟练掌握C程序设计语言以及C++、Java中的一种程序设计语言;(6)熟悉数据库、网络和多媒体的基础知识;(7)了解软件工程的基础知识、软件过程基本知识、软件开发项目管理的常识;(8)了解常用信息技术标准、安全性以及有关法律、法规的基础知识;(9)了解信息化及计算机应用的基础知识;(10)正确阅读和理解计算机领域的简单英文资料。
3.考试科目设置
(1)计算机与软件工程基础知识,考试时间为150分钟,笔试,选择题;(2)程序设计,考试时间为150分钟,笔试,问答题。
二、考试范围
考试科目1:计算机与软件工程基本知识
1.计算机科学基础
1.1 数制及其转换
● 二进制、十进制和十六进制等常用数制及其相互转换
1.2 数据的表示
● 数的表示
● 非数值数据的表示
1.3 算术运算和逻辑运算
● 计算机中二进制数的运算方法
● 逻辑代数的基本运算
1.4 数学应用
● 常用数值计算(矩阵、近似求解、插值)
● 排列组合、应用统计
● 编码基础
1.5 常用数据结构
● 数组
● 线性表及链表
● 队列、栈
● 树
● 图
1.6 常用算法
● 算法与数据结构的关系
● 算法设计和算法描述
● 常用的排序算法
● 查找算法
● 常用的数值计算方法
● 字符串处理算法
● 递归算法
● 最小生成树、拓扑排序和单源点最短路径求解算法
2.计算机系统基础知识
2.1 硬件基础知识
2.1.1 计算机的类型和特点
● 微型计算机、工作站、服务器、超级计算机
● 个人移动设备
● 嵌入式计算机
2.1.2 中央处理器CPU
● CPU的组成
● CPU中的寄存器
● 指令系统和寻址方式
● 指令执行控制、中断控制、处理机性能
2.1.3 主存和辅存
● 存储介质
● 主存
● 辅存设备
● 高速缓存(Cache)
2.1.4 I/O接口、I/O设备和通信设备
● I/O接口的功能和特点
● 常见I/O设备
● 常见通信设备(类型、特性)
● I/O设备、通信设备的连接方法和连接介质类型
2.2 软件基础知识
2.2.1 操作系统基础知识
● 操作系统的类型和功能
● 处理机管理
● 存储管理
● 设备管理
● 文件管理
● 作业管理(作业调度算法)
● 图形用户界面和操作方法
2.2.2 程序设计语言和语言处理程序的基础知识
● 语言翻译基础知识(汇编、编译、解释)
● 程序设计语言的基本成分:数据、运算、控制和传输
● 程序语言类型和特点
2.3 网络基础知识
● 协议体系结构
● 传输介质与交换技术
● 常用网络设备与服务器
● 局域网络连接
● Internet基础知识
● TCP/IP协议
● 简单网络管理
2.4 数据库基础知识
● 数据库管理系统基本概念
● 关系数据库理论
● 数据库设计
● 数据库语言(SQL)
● 数据库新技术(非关系数据库等)
2.5 多媒体基础知识
● 多媒体基本概念
● 常用多媒体文件格式类型
2.6 系统性能指标
● 响应时间、吞吐量、周转时间
● 可靠性、可维护性、可扩展性、可移植性、可用性、可重用性、安全性
2.7 计算机应用基础知识
● 计算机常用办公软件操作方法
● 计算机在信息管理、数据处理、辅助设计、自动控制、科学计算、人工智能等领域的应用
3.系统开发和运行知识
3.1 软件工程和项目管理基础知识
● 软件工程基础知识
● 软件开发项目管理基本概念
● 软件开发方法基本概念
● 软件开发工具与环境基础知识(CASE)
● 软件质量管理基础知识
3.2 系统分析设计基础知识
● 数据流图(DFD)、实体联系图(ER图)、UML图基本知识
● 结构化分析和设计方法
● 面向对象分析与设计方法
● 模块设计、代码设计、人机界面设计基础知识
3.3 程序设计基础知识
● 结构化程序设计基本概念
● 面向对象程序设计基本概念
● 程序设计风格
3.4 程序测试基础知识
● 程序测试的目的、原则、对象、过程与工具
● 黑盒测试、白盒测试方法
● 测试设计和管理
3.5 程序设计文档基础知识
● 算法的描述、程度逻辑的描述、程度规格说明书
● 单元测试计划、测试用例、测试报告
3.6 系统运行和维护基础知识
● 系统运行管理基础知识
● 系统维护基础知识
4.网络与信息安全基础知识
● 信息系统安全基础知识
● 信息安全技术(加密与解密、认证、数字签名、摘要等)
● 网络安全技术
● 计算机安全等级及相关法律法规
5.标准化与知识产权基础知识
● 标准化基础知识
● 知识产权基础知识(保护知识产权有关的法律、法规)
6.信息化基础知识
● 信息、信息资源、信息化、信息工程、信息产业、信息技术的含义
● 全球信息化趋势、国家信息化战略、企业信息化战略和策略常识
● 有关的法律、法规要点
7.计算机专业英语
● 具有助理工程师(或技术员)英语阅读水平
● 理解本领域的英语基本词汇
考试科目2:程序设计
1.算法设计与实现
● 理解算法描述
● 简单算法设计
● 算法实现
2.程序设计
● 模块划分(原则、方法、标准)
● 编写程序设计文档⭐⭐模块规格说明书(程序处理逻辑、输入输出数据格式)⭐⭐测试要求说明书(测试类型和目标、测试用例、测试方法)
● 程序设计评审
3.程序实现与测试
3.1编程
● 编程方法和编码规范
● 程序设计语言的选择和使用
● 人工走查
● 程序文档化
3.2程序测试
● 测试环境和测试工具的选择和使用
● 测试数据的设计
● 测试报告的编写
4.程序设计语言
4.1 结构化程序设计
● C语言
4.2 面向对象程序设计
● C++或Java语言
之后我将详解考点内容,欢迎收藏,订阅专栏!
相关文章:

软考程序员考试大纲(2023)
文章目录 前言一、考试说明1.考试目标2.考试要求3.考试科目设置 二、考试范围考试科目1:计算机与软件工程基本知识1.计算机科学基础2.计算机系统基础知识3.系统开发和运行知识4.网络与信息安全基础知识5&am…...

【重拾C语言】七、指针(一)指针与变量、指针操作、指向指针的指针
目录 前言 七、指针 7.1 指针与变量 7.1.1 指针类型和指针变量 7.1.2 指针所指变量 7.1.3 空指针、无效指针 7.2 指针操作 7.2.1 指针的算术运算 7.2.2 指针的比较 7.2.3 指针的递增和递减 7.3 指向指针的指针 前言 指针是C语言中一个重要的概念正确灵活运用指针 可…...

Kafka源码简要分析
目录 一、生产者的初始化流程 二、生产者到缓冲队列的流程 三、Sender拉取数据到Kafka流程 四、消费者初始化 五、主题订阅原理 六、消费者抓取数据原理 七、消费者组初始化 八、消费者组消费流程 九、提交offset原理 一、生产者的初始化流程 首先获取事务id和客户端…...

react 按住ctrl键,点击时会出现菜单的问题修复
问题描述:我需要按住crtl键,然后鼠标点击后做一些逻辑操作,但是出现如下问题 问题一:按住ctrl键后,点击时不触发click事件,只触发 mousedown和mouseup事件。 问题二:按住ctrl键点击时出现菜单…...

【虚拟机栈】
文章目录 1. 虚拟机栈概述2. 局部变量表(Local Variables)3. 操作数栈4. 动态链接4.1 方法的调用:解析与分配 5. 方法返回地址6. 栈的相关面试题 1. 虚拟机栈概述 每个线程在创建时都会创建一个虚拟机栈,其内部保存一个个的栈帧(Stack Frame…...

Linux系列讲解 —— 【fsck】检查并修复Linux文件系统
当文件系统出现损坏时,例如文件无法查看,删除等,可以使用 fsck(File System Consistency Check)进行修复。但是需要注意fsck在修复时,如果检查出某个文件有问题,可能会向用户请求删除。所以&…...

gitlab突然提示我要输入密码了。
用了很长时间的一个gitlab库,今天提交代码的时候突然提示我输入密码了,并且用户还是gitxx.xx.xx.xx的,瞬间懵逼。 想想原因,可能是因为我不久前设置了本地对另外一个git库的远程访问,用的是ssh,操作过程中可…...

业务测试常见问题(一)
如何多维度的分析一个需求? 功能维度:需求中所描述的功能是否实现,与用户的需求是否一致,是否完整符合用户的需求等。 安全性维度:是否有安全漏洞,是否存在未授权访问漏洞等,以保证系统的安全性…...

IntelliJ IDEA失焦自动重启服务的解决方法
IDEA 热部署特性 热部署,即应用正属于运行状态时,我们对应用源码进行了修改更新,在不重新启动应用的情况下,可以能够自动的把更新的内容重新进行编译并部署到服务器上,使修改立即生效。 现象 在使用 IntelliJ IDEA运…...

终端准入控制系统,保障企业内网安全的关键防线
随着网络技术的不断发展,企业面临的安全威胁也越来越多。终端作为承载企业业务的媒介,对内网资产安全有着重要影响。确保内网终端(如PC、BYOD、IoT等)能够得到统一管理,对保护内网安全很有必要。终端准入控制作为一种有…...

mysql-执行计划
1. 执行计划表概述 id相同表示加载表的顺序是从上到下。 id不同id值越大,优先级越高,越先被执行。id有相同,也有不同,同时存在。 id相同的可以认为是一组,从上往下顺序执行;在所有的组中,id的值…...

金蝶云星空和旺店通·企业奇门接口打通对接实战
金蝶云星空和旺店通企业奇门接口打通对接实战 接入系统:金蝶云星空 金蝶K/3Cloud(金蝶云星空)是移动互联网时代的新型ERP,是基于WEB2.0与云技术的新时代企业管理服务平台。金蝶K/3Cloud围绕着“生态、人人、体验”,旨在…...

在服务器上使用nginx改变前端项目请求的url
location /app-dev {rewrite ^/app-dev/(.*) /$1 break;proxy_pass http://152.136.36.251:9999;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr; } location /请求后缀 { rewrite ^/app-dev/(.*) /$1 break; proxy_pass 想要的请求后端的url; …...

【学习笔记】莫比乌斯反演
退役OIer回来受虐啦 一些定义 μ ( x ) { 1 x > 1 ( − 1 ) n x ∏ i 1 n P i 0 o t h e r w i s e \mu(x) \begin{cases} 1 & x > 1 \\ (-1)^n & x \prod _ {i1} ^ {n} P_{i}\\ 0 & otherwise \end{cases} μ(x)⎩ ⎨ ⎧1(−1)n0x>1x∏i1nPi…...

一款构建Python命令行应用的开源库
1 简介 当我们编写 Python 程序时,我们经常需要与用户进行交互,接收输入并输出结果。Python 提供了许多方法来实现这一点,其中一个非常方便的方法是使用 typer 库。typer 是一个用于构建命令行应用程序的 Python 库,它使得创建命令…...

10-Node.js模块化
01.模块化简介 目标 了解模块化概念和好处,以及 CommonJS 标准语法导出和导入 讲解 在 Node.js 中每个文件都被当做是一个独立的模块,模块内定义的变量和函数都是独立作用域的,因为 Node.js 在执行模块代码时,将使用如下所示的…...

数字IC前端学习笔记:数字乘法器的优化设计(Dadda Tree乘法器)
相关阅读 数字IC前端https://blog.csdn.net/weixin_45791458/category_12173698.html?spm1001.2014.3001.5482 华莱士树仍然是一种比较规则的结构(这使得可以方便地生成树的结构),这导致了它所使用的全加器和半加器个数不是最少的ÿ…...

计算机专业毕业设计项目推荐14-文档编辑平台(SpringBoot+Vue+Mysql)
文档编辑平台(SpringBootVueMysql) **介绍****各部分模块实现** 介绍 本系列(后期可能博主会统一为专栏)博文献给即将毕业的计算机专业同学们,因为博主自身本科和硕士也是科班出生,所以也比较了解计算机专业的毕业设计流程以及模式,在编写的…...

【读书后台管理系统】—后端框架搭建(二)
【读书后台管理系统】—后端框架搭建(二) 一、 Node 简介 Node 是一个基于 V8 引擎的 Javascript 运行环境,它使得 Javascript 可以运行在服务端,直接与操作系统进行交互,与文件控制、网络交互、进程控制等 Chrome …...

【DLoopDetector(C++)】DBow2词袋模型loop close学习
0.前言 最近读了两篇论文,论文作者开源了一种基于词袋模型DBoW2库的DLoopDetector算法,自己运行demo测试一下 对应论文介绍:Bags of Binary Words for Fast Place Recognition in Image Sequences 开源项目Github地址:https://gi…...

什么是CAS机制?
CAS和Synchronized的区别是什么?适合什么样的场景?有什么样的优点和缺点? 示例程序:启动两个线程,每个线程中让静态变量count循环累加100次。 public class ThreadTest {private static int count 0;public static …...

Java多态详解
下面讲解一下Java中的多态机制,力求用最通俗易懂的语言,最精炼的话语,最生动的例子,深入浅出Java多态,帮助读者轻松掌握这个知识点。 什么是多态? 多态是指同一种行为具有多个不同表现形式的能力。 多态…...

Android中简单实现Spinner的数据绑定
Android中简单实现Spinner的数据绑定 然后声明对象实例并加入到arraylist里面,并设置spinner的适配器 Spinner Sp (Spinner).............// List<CItem > lst new ArrayList<CItem>(); CItem ct new CItem ("1","测试"); lst.Add(ct)…...

【版本控制工具二】Git 和 Gitee 建立联系
文章目录 前言一、Git 和 Gitee 建立联系1.1 任意目录下,打开 git bash 命令行,输入以下命令生成公钥1.2 配置SSH公钥1.3 进行全局配置 二、其它相关Git指令2.1 常用指令2.2 指令操作可能出现的问题 三、补充3.1 **为什么要先commit,然后pull…...

最新AI智能创作系统ChatGPT商业源码+详细图文搭建部署教程+AI绘画系统
一、AI系统介绍 SparkAi创作系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧&am…...

【算法与数据结构】--目录
第一部分:算法基础 第一章:算法入门第二章:数据结构概述第三章:算法设计与分析 3.1 贪心算法3.2 动态规划3.3 分治算法3.4 回溯算法 第二部分:常见数据结构 第四章:数组和链表 4.1 数组4.2 链表4.3 比较…...

爱普生LQ1900KIIH复位方法
爱普生EPSON 1900KIIH是一部通用针式打印机,136列(10cpi下)的打印宽度,缓冲区128KB,打印速度为270字/秒。 打印机类型 打印方式:24针击打式点阵打印、打印方向:双向逻辑查找、安全规格标准&am…...

字段位置顺序对值的影响
Unity中验证AB加载场景时报错: Cannot load scene: Invalid scene name (empty string) and invalid build index -1 报错原因是因为把字段放在了Start函数后面(图一)改成(图二)就好了。图一中协程使用的sceneBName字段值为null。 图一: 图二:…...

pytorch_神经网络构建2(数学原理)
文章目录 深层神经网络多分类深层网络反向传播算法优化算法动量算法Adam 算法 深层神经网络 分类基础理论: 交叉熵是信息论中用来衡量两个分布相似性的一种量化方式 之前讲述二分类的loss函数时我们使用公式-(y*log(y_)(1-y)*log(1-y_)进行误差计算 y表示真实值,y_表示预测值 …...

Oracle SQL Developer 中查看表的数据和字段属性、录入数据
在Oracle SQL Developer中,选中一个表时,右侧会列出表的情况;第一个tab是字段的名称、数据类型等属性; 切换到第二个tab,显示表的数据; 这和sql server management studio不一样的; 看一下部门…...