2024年鸿蒙最新2020软件设计师考试大纲,2024年最新五年HarmonyOS鸿蒙开发者小米、阿里面经

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

1、计算机系统知识

1.1 计算机系统基础知识
  • 1.1.1 计算机系统硬件基本组成

    • 计算机的基本硬件系统由运算器、控制器、存储器、输入设备和输出设备五大部件组成。
    • 运算器、控制器被集成在一起统称为中央处理单元(Central Processing Unit,CPU)。
    • 存储器是计算机系统中的记忆设备,分为内部存储器和外部存储器。前者速度高、容量小,后者容量大、速度慢。
    • 输入设备和输出设备合称为外部设备(简称外设),输入设备用于输入原始数据及各种命令,而输出设备则用于输出处理结果。
  • 1.1.2 中央处理单元

    • 1.CPU的功能

      • (1)程序控制
      • (2)操作控制
      • (3)时间控制
      • (4)数据处理
    • 2.CPU的组成

      • 1)运算器

        • 主要功能

          • (1)执行所有的算术运算
          • (2)执行所有的逻辑运算并进行逻辑测试
        • 部件

          • (1)算术逻辑单元(ALU)
          • (2)累加计算器(AC)
          • (3)数据缓冲寄存器(DR)
          • (4)状态条件寄存器(PSW)
      • 2)控制器

        • (1)指令寄存器(IR)
        • (2)程序计数器(PC)
        • (3)地址寄存器(AR)
        • (4)指令译码器(ID)
      • 3)寄存器组

    • 3.多核CPU

  • 1.1.3 数据表示

    • 1)原码、反码、补码和移码

      • (1)原码表示法
      • (2)反码表示法
      • (3)补码表示法
      • (4)移码表示法
    • 2)定点数和浮点数

      • (1)定点数
      • (2)浮点数
      • (3)工业标准IEEE 754
      • (4)浮点数的运算
  • 1.1.4 校验码

    • 1.奇偶校验码
    • 2.海明码
    • 3.循环冗余校验码
1.2 计算机体系结构
  • 1.2.1 计算机体系结构的发展

    • 1.计算机系统结构概述
    • 2.计算机体系结构分类
    • 3.指令系统
    • 4.阵列处理机、并行处理机和多处理机
  • 1.2.2 存储系统

    • 1.存储器的层次结构
    • 2.存储器的分类
    • 3.相联存储器
    • 4.高速缓存
    • 5.虚拟存储器
    • 6.外存储器
    • 7.磁盘阵列技术
    • 8.存储域网络
  • 1.2.3 输入/输出技术

    • 1.微型计算机中最常用的内存与接口的编址方法
    • 2.直接程序控制
    • 3.中断方式
    • 4.直接存储器存取方式
    • 5.输入/输出处理器(IOP)
  • 1.2.4 总线结构

    • 1.总线的分类
    • 2.常见总线
1.3 安全性、可靠性与系统性能评测基础知识
  • 1.3.1 计算机安全概述

    • 1.计算机的安全等级
    • 2.安全威胁
    • 3.影响数据安全的因素
  • 1.3.2 加密技术和认证技术

    • 1.加密技术
    • 2.认证技术
  • 1.3.3 计算机可靠性

    • 1.计算机可靠性概述
    • 2.计算机可靠性模型
  • 1.3.4 计算机系统的性能评价

    • 1.性能评测的常用方法
    • 2.基准测试程序

2、程序设计语言基础

2.1 程序设计语言概述
  • 2.1.1 程序设计语言的基本概念

    • 1.低级语言和高级语言
    • 2.编译程序和解释程序
    • 3.程序设计语言的定义
    • 4.程序设计语言的分类
  • 2.1.2 程序设计语言的基本成分

    • 1.程序设计语言的数据成分
    • 2.程序设计语言的运算成分
    • 3.程序设计语言的控制成分
    • 4.程序设计语言的传输成分
    • 5.函数
2.2 语言处理程序基础
  • 2.2.1 汇编程序基本原理

    • 1.汇编语言
    • 2.汇编程序
  • 2.2.2 编译程序基本原理

    • 1.编译过程概述
    • 2.文法和语言的形式描述
    • 3.词法分析
    • 4.正规式与有限自动机之间的转换
    • 5.词法分析器的构造
    • 6.语法分析
    • 7.语法制导翻译和中间代码生成
    • 8.中间代码优化和目标代码生成
  • 2.2.3 解释程序基本原理

    • 1.解释程序的基本结构
    • 2.高级语言编译与解释方式的比较

3、数据结构

3.1 线性结构
  • 3.1.1 线性表

    • 1.线性表的定义
    • 2.线性表的存储结构
  • 3.1.2 栈和队列

    • 1.栈
    • 2.队列
  • 3.1.3 串

    • 1.串的定义及基本运算
    • 2.串的存储结构
    • 3.串的模式匹配
3.2 数组、矩阵和广义表
  • 3.2.1 数组

    • 1.数组的定义及基本运算
    • 2.数组的顺序存储
  • 3.2.2 矩阵

    • 1.特殊矩阵
    • 2.稀疏矩阵
  • 3.2.3 广义表

    • 1.广义表的基本操作
    • 2.广义表的特点
    • 3.广义表的存储结构
3.3 树
  • 3.3.1 树与二叉树的定义

    • 1.树的定义
    • 2.树的基本概念
    • 3.二叉树的定义
  • 3.3.2 二叉树的性质与存储结构

    • 1.二叉树的性质
    • 2.二叉树的存储结构
  • 3.3.3 二叉树的遍历

  • 3.3.4 线索二叉树

    • 1.线索二叉树的定义
    • 2.建立线索二叉树
    • 3.访问线索二叉树
  • 3.3.5 最优二叉树

    • 1.最优二叉树
    • 2.哈夫曼编码
  • 3.3.6 树和森林

    • 1.树的存储结构
    • 2.树和森林的遍历
    • 3.树、森林和二叉树之间的相互转换
3.4 图
  • 3.4.1 图的定义与存储

    • 1.图的定义
    • 2.图的存储结构
  • 3.4.2 图的遍历

    • 1.深度优先搜索(Depth First Search, DFS)
    • 2.广度优先搜索(Breadth First Search, BFS)
  • 3.4.3 生成树及最小生成树

    • 1.生成树的概念
    • 2.最小生成树
  • 3.4.4 拓扑排序和关键路径

    • 1.AOV网
    • 2.拓扑排序及其算法
    • 3.AOE网
    • 4.关键路径和关键活动
  • 3.4.5 最短路径

    • 1.单源点最短路径
    • 2.每对顶点间的最短路径
3.5 查找
  • 3.5.1 查找的基本概念

    • 1.基本概念
    • 2.平均查找长度
  • 3.5.2 静态查找表的查找方法

    • 1.顺序查找
    • 2.折半查找
    • 3.分块查找
  • 3.5.3 动态查找表

    • 1.二叉排序树
    • 2.平衡二叉树
    • 3.B_树
  • 3.5.4 哈希表

    • 1.哈希表的定义
    • 2.哈希函数的构造方法
    • 3.处理冲突的方法
    • 4.哈希表的查找
3.6 排序
  • 3.6.1 排序的基本概念

  • 3.6.2 简单排序

    • 1.直接插入排序
    • 2.冒泡排序
    • 3.简单选择排序
  • 3.6.3 希尔排序

  • 3.6.4 快速排序

  • 3.6.5 堆排序

  • 3.6.6 归并排序

  • 3.6.7 基数排序

  • 3.6.8 内部排序方法小结

  • 3.6.9 外部排序

4、操作系统知识

4.1 操作系统概述
  • 4.1.1 操作系统的基本概念

    • 1.操作系统定义及作用
    • 2.操作系统特征与功能
  • 4.1.2 操作系统分类及特点

    • 1.批处理操作系统
    • 2.分时操作系统
    • 3.实时操作系统
    • 4.网络操作系统
    • 5.分布式操作系统
    • 6.微型计算机操作系统
    • 7.嵌入式操作系统
  • 4.1.3 操作系统的发展

4.2 进程管理
  • 4.2.1 基本概念

    • 1.程序与进程
    • 2.进程的组成
    • 3.进程的状态及其状态间的切换
  • 4.2.2 进程的控制

  • 4.2.3 进程间的通信

    • 1.同步与互斥
    • 2.信号量机制
    • 3.高级通信原语
  • 4.2.4 管程

    • 1.管程的引入
    • 2.管程的结构
    • 3.利用管程解决生产者-消费者问题
  • 4.2.5 进程调度

    • 1.三级调度
    • 2.调度算法
    • 3.进程优先级确定
  • 4.2.6 死锁

    • 1.死锁举例
    • 2.死锁产生的原因及4个必要条件
    • 3.死锁的处理
  • 4.2.7 线程

4.3 存储管理
  • 4.3.1 基本概念

    • 1.存储器的结构
    • 2.地址重定位
  • 4.3.2 存储管理方案

    • 1.分区存储管理
    • 2.分区保护
  • 4.3.3 分页存储管理

    • 1.纯分页存储管理
    • 2.快表
    • 3.两级页表机制
  • 4.3.4 分段存储管理

  • 4.3.5 段页式存储管理

  • 4.3.6 虚拟存储管理

    • 1.程序局部性原理
    • 2.虚拟存储器的实现
    • 3.请求分页管理的实现
    • 4.页面置换算法
    • 5.工作集
4.4 设备管理
  • 4.4.1 设备管理概述

    • 1.设备的分类
    • 2.设备管理的目标与任务
  • 4.4.2 I/O软件

  • 4.4.3 设备管理采用的相关技术

    • 1.通道技术
    • 2.DMA技术
    • 3.缓冲技术
    • 4.Spooling技术
  • 4.4.4 磁盘调度

    • 1.磁盘驱动调度
    • 2.旋转调度算法
4.5 文件管理
  • 4.5.1 文件与文件系统

    • 1.文件
    • 2.文件系统
    • 3.文件的类型
  • 4.5.2 文件的结构和组织

    • 1.文件的逻辑结构
    • 2.文件的物理结构
  • 4.5.3 文件目录

    • 1.文件控制块
    • 2.目录结构
  • 4.5.4 存取方法和存储空间的管理

    • 1.文件的存取方法
    • 2.文件存储空间的管理
  • 4.5.5 文件的使用

  • 4.5.6 文件的共享和保护

    • 1.文件的共享
    • 2.文件的保护
  • 4.5.7 系统的安全与可靠性

    • 1.系统的安全
    • 2.文件系统的可靠性
4.6 作业管理
  • 4.6.1 作业与作业控制

    • 1.作业控制
    • 2.作业状态及转换
    • 3.作业控制块和作业后备队列
  • 4.6.2 作业调度

    • 1.作业调度算法
    • 2.作业调度算法性能的衡量指标
  • 4.6.3 用户界面

5、软件工程基础知识

5.1 软件工程概述
  • 5.1.1 计算机软件

    • 1.系统软件
    • 2.应用软件
    • 3.工具/科学软件
    • 4.嵌入式软件
    • 5.产品线软件
    • 6.Web应用
    • 7.人工智能软件
    • 8.开放计算
    • 9.网络资源
    • 10.开源软件
  • 5.1.2 软件工程基本原理

    • 1.用分阶段的生命周期计划严格管理
    • 2.坚持进行阶段评审
    • 3.实现严格的产品控制
    • 4.采用现代程序设计技术
    • 5.结果应能清楚地审查
    • 6.开发小组的人员应少而精
    • 7.承认不断改进软件工程实践的必要性
  • 5.1.3 软件生存周期

    • 1.可行性分析与项目开发计划
    • 2.需求分析
    • 3.概要设计
    • 4.详细设计
    • 5.编码
    • 6.测试
    • 7.维护
  • 5.1.4 软件过程

    • 1.能力成熟度模型(CMM)
    • 2.能力成熟度模型集成(CMMI)
5.2 软件过程模型
  • 5.2.1 瀑布模型(Waterfall Model)

  • 5.2.2 增量模型(Incremental Model)

  • 5.2.3 演化模型(Evolutionary Model)

    • 1.原型模型(Prototype Model)
    • 2.螺旋模型(Spiral Model)
  • 5.2.4 喷泉模型(Water Fountain Model)

  • 5.2.5 基于构件的开发模型(Component-based Development Model)

  • 5.2.6 形式化方法模型(Formal Methods Model)

  • 5.2.7 统一过程(UP)模型

  • 5.2.8 敏捷方法(Agile Development)

    • 1.极限编程(XP)
    • 2.水晶法(Crystal)
    • 3.并列争求法(Scrum)
    • 4.自适应软件开发(ASD)
    • 5.敏捷统一过程(AUP)
5.3 需求分析
  • 5.3.1 软件需求

  • 5.3.2 需求分析原则

  • 5.3.3 需求工程

    • 1.需求获取
    • 2.需求分析与协商
    • 3.系统建模
    • 4.需求规约
    • 5.需求验证
    • 6.需求管理
5.4 系统设计
  • 5.4.1 概要设计
  • 5.4.2 详细设计
5.5 系统测试
  • 5.5.1 系统测试与调试

    • 1.系统测试的意义、目的及原则
    • 2.测试过程
  • 5.5.2 传统软件的测试策略

    • 1.单元测试
    • 2.集成测试
    • 3.确认测试
    • 4.系统测试
  • 5.5.3 测试面向对象软件

    • 1.单元测试
    • 2.集成测试
  • 5.5.4 测试Web应用

    • 1.质量维度
    • 2.WebApp测试策略
  • 5.5.5 测试方法

    • 1.黑盒测试
    • 2.白盒测试
  • 5.5.6 调试

    • 1.调试过程
    • 2.调试方法
5.6 运行和维护知识
  • 5.6.1 系统转换

  • 5.6.2 系统维护概述

    • 1.系统可维护性概念
    • 2.系统维护的内容及类型
    • 3.系统维护的管理和步骤
  • 5.6.3 系统评价

    • 1.系统评价概述
    • 2.系统评价的指标
5.7 软件项目管理
  • 5.7.1 软件项目管理涉及的范围

    • 1.人员
    • 2.产品
    • 3.过程
    • 4.项目
  • 5.7.2 软件项目估算

    • 1.成本估算方法
    • 2.COCOMO估算模型
    • 3.COCOMOII模型
    • 4.Putnam估算模型
  • 5.7.3 进度管理

    • 1.进度管理的基本原则
    • 2.进度安排
  • 5.7.4 软件项目的组织

    • 1.组织结构的模式
    • 2.程序设计小组的组织方式
  • 5.7.5 软件配置管理

    • 1.基线
    • 2.软件配置项
    • 3.版本控制
    • 4.变更控制
  • 5.7.6 风险管理

    • 1.风险识别
    • 2.风险预测
    • 3.风险评估
    • 4.风险控制
5.8 软件度量
  • 5.8.1 软件质量特性
  • 5.8.2 软件质量保证
  • 5.8.3 软件评审
  • 5.8.4 软件容错技术
5.9 软件度量
  • 5.9.1 软件度量分类

    • 1.面向规模的度量
    • 2.面向功能的度量
  • 5.9.2 软件复杂性度量

    • 1.程序复杂性度量原则
    • 2.McCabe度量法
5.10 软件工具与软件开发环境
  • 5.10.1 软件工具

    • 1.软件开发工具
    • 2.软件维护工具
    • 3.软件管理和软件支持工具
  • 5.10.2 软件开发环境

6、结构化开发方法

6.1 系统分析与设计概述
  • 6.1.1 系统分析概述

    • 1.系统分析的目的和任务
    • 2.系统分析的主要步骤
  • 6.1.2 系统设计的基本原理

    • 1.抽象
    • 2.模块化
    • 3.信息隐蔽
    • 4.模块独立
  • 6.1.3 系统总体结构设计

    • 1.系统结构设计原则
    • 2.子系统划分
    • 3.系统模块结构设计
    • 4.数据存储设计
  • 6.1.4 系统文档

6.2 结构化分析方法
  • 6.2.1 结构化分析方法概述

  • 6.2.2 数据流图

    • 1.数据流图的基本图形元素
    • 2.数据流图的扩充符号
    • 3.数据流图的层次结构
    • 4.分层数据流图的画法
    • 5.分层数据流图的审查
  • 6.2.3 数据字典(DD)

    • 1.数据字典的内容
    • 2.数据词典管理
    • 3.加工逻辑的描述
6.3 结构化设计方法
  • 6.3.1 结构化设计的步骤

    • 1.建立初始结构图
    • 2.对结构图的改进
    • 3.书写设计文档
    • 4.设计评审
  • 6.3.2 数据流图到软件体系结构的映射

    • 1.信息流的类型
    • 2.变换分析
6.4 WebApp 分析与设计
  • 6.4.1 WebApp的特性

  • 6.4.2 WebApp需求模型

    • 1.内容模型
    • 2.交互模型
    • 3.功能模型
    • 4.导航模型
    • 5.配置模型
  • 6.4.3 WebApp设计

    • 1.架构设计
    • 2.构件设计
    • 3.内容设计
    • 4.导航设计
6.5 用户界面设计
  • 6.5.1 用户界面设计的黄金原则

    • 1.用户操纵控制
    • 2.减轻用户的记忆负担
    • 3.保持界面一致
  • 6.5.2 用户界面的分析与设计

    • 1.用户界面分析和设计模型
    • 2.用户界面分析和设计的过程
  • 6.5.3 用户界面设计问题

    • 1.系统响应时间
    • 2.帮助设施
    • 3.错误信息处理
    • 4.菜单和命令标记

7、面向对象技术

7.1 面向对象基础
  • 7.1.1 面向对象的基本概念

    • 1.对象
    • 2.消息
    • 3.类
    • 4.继承
    • 5.多态
    • 6.动态绑定(Dynamic Binding)
  • 7.1.2 面向对象分析

    • 1.认定对象
    • 2.组织对象
    • 3.对象间的相互作用
    • 4.基于对象的操作
  • 7.1.3 面向对象设计

    • 1.面向对象设计的活动
    • 2.面向对象设计的原则
  • 7.1.4 面向对象程序设计

    • 1.类
    • 2.继承和类层次结构
    • 3.对象、消息传递和方法
    • 4.对象自身引用
    • 5.重置
    • 6.类属类
    • 7.无实例的类
  • 7.1.5 面向对象测试

7.2 UML
  • 7.2.1 事物

  • 7.2.2 关系

  • 7.2.3 UML中的图

    • 1.类图
    • 2.对象图
    • 3.用例图
    • 4.交互图
    • 5.状态图
    • 6.活动图
    • 7.构件图
    • 8.组合结构图
    • 9.部署图
    • 10.包图
7.3 设计模式
  • 7.3.1 设计模式的要素

  • 7.3.2 创建型设计模式

    • 1.Abstract Factory(抽象工厂)
    • 2.Builder(生成器)
    • 3.Factory Method(工厂方法)
    • 4.Prototype(原型)
    • 5.Singleton(单例)
    • 6.创建型模式比较
  • 7.3.3 结构型设计模式

    • 1.Adapter(适配器)
    • 2.Bridge(桥接)
    • 3.Composite(组合)
    • 4.Decorator(装饰)
    • 5.Facade(外观)
    • 6.Flyweight(享元)
    • 7.Proxy(代理)
    • 8.结构型模式比较
  • 7.3.4 行为设计模式

    • 1.Chain of Responsibility(责任链)
    • 2.Command(命令)
    • 3.Interpreter(解释器)
    • 4.Iterator(迭代器)
    • 5.Mediator(中介者)
    • 6.Memento(备忘录)
    • 7.Observer(观察者)
    • 8.State(状态)
    • 9.Strategy(策略)
    • 10.Template Method(模板方法)
    • 11.Visitor(访问者)
    • 12.行为模式比较
  • 7.3.5 应用举例

8、算法设计与分析

8.1 算法设计与分析的基本概念
  • 8.1.1 算法
  • 8.1.2 算法设计
  • 8.1.3 算法分析
  • 8.1.4 算法的表示
8.2 算法分析基础
  • 8.2.1 时间复杂度
  • 8.2.2 渐进符号
  • 8.2.3 递归式

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

(原型)
+ 5.Singleton(单例)
+ 6.创建型模式比较

  • 7.3.3 结构型设计模式

    • 1.Adapter(适配器)
    • 2.Bridge(桥接)
    • 3.Composite(组合)
    • 4.Decorator(装饰)
    • 5.Facade(外观)
    • 6.Flyweight(享元)
    • 7.Proxy(代理)
    • 8.结构型模式比较
  • 7.3.4 行为设计模式

    • 1.Chain of Responsibility(责任链)
    • 2.Command(命令)
    • 3.Interpreter(解释器)
    • 4.Iterator(迭代器)
    • 5.Mediator(中介者)
    • 6.Memento(备忘录)
    • 7.Observer(观察者)
    • 8.State(状态)
    • 9.Strategy(策略)
    • 10.Template Method(模板方法)
    • 11.Visitor(访问者)
    • 12.行为模式比较
  • 7.3.5 应用举例

8、算法设计与分析

8.1 算法设计与分析的基本概念
  • 8.1.1 算法
  • 8.1.2 算法设计
  • 8.1.3 算法分析
  • 8.1.4 算法的表示
8.2 算法分析基础
  • 8.2.1 时间复杂度
  • 8.2.2 渐进符号
  • 8.2.3 递归式

[外链图片转存中…(img-LH3bFbX5-1715737441427)]
[外链图片转存中…(img-AJzP2pWo-1715737441427)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值