首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【愚公系列】软考中级-软件设计师 001-计算机系统知识(考点简介)

【愚公系列】软考中级-软件设计师 001-计算机系统知识(考点简介)

原创
作者头像
愚公搬代码
发布于 2024-01-12 15:36:13
发布于 2024-01-12 15:36:13
5310
举报

🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。 🏆《近期荣誉》:2023年华为云十佳博主,2022年CSDN博客之星TOP2,2022年华为云十佳博主等。

🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网网络安全大数据人工智能、U3D游戏、小程序等相关领域知识。

🏆🎉欢迎 👍点赞✍评论⭐收藏

🚀前言

软考中级-软件设计师是根据国家软件职业资格标准制定的一种软件设计师资格认证考试。该考试旨在评估考生在软件设计理论、软件工程方法和软件设计实践等方面的能力。

软考中级-软件设计师考试内容包括软件工程基础知识、需求分析与软件设计、软件架构设计、软件详细设计、软件设计实践、软件设计管理和软件设计规范等方面的内容。考试形式主要为选择题和案例分析题,通过考试可以获得软考中级-软件设计师资格证书。

软考中级-软件设计师资格证书是国家承认的软件设计师资格证明,具有一定的市场竞争力和职业发展空间。持有该证书的软件设计师可以在软件设计、软件需求分析、软件架构设计等方面从事专业工作,并在职业发展中具备较大的优势。

🚀一、计算机系统知识(3-7分)(重点)

🔎1.CPU

CPU(Central Processing Unit)又称中央处理器,是计算机的核心部件之一,负责执行计算机程序中的指令以及进行数据处理和运算。CPU被安装在计算机主板上,它是控制和执行计算机操作的主要组件。

CPU主要由控制单元、算术逻辑单元和寄存器组成。控制单元负责解释和执行指令,控制各个部件的操作,调度和管理计算机的运行。算术逻辑单元则负责进行各种算术和逻辑运算,如加减乘除、比较和逻辑判断等。寄存器则是用于暂时存储和操作数据的高速存储器,用于临时存储指令和数据。

CPU可以看作是计算机的大脑,它根据指令集执行计算机程序中的各种操作。计算机程序中的指令包括加载数据、存储数据、运算操作、逻辑判断等,通过控制和操作寄存器、内存、输入输出设备等实现。CPU的运算速度和性能直接影响计算机的运行速度和效率。

🔎2.数据的表示

🦋2.1 定点数

定点数是一种在计算机中表示和处理实数的方法。它使用定点表示法,即将实数表示为一个整数和一个固定的小数位数。其中,小数点的位置是固定的,不会随着数值的大小而变化。定点数通常用于需要高精度的计算,例如金融、科学计算等领域。

定点数的表示形式可以是固定小数点表示法,即小数点的位置固定在某个位置,例如123.45可以表示为12345,小数点位置固定在第三位;也可以是浮动小数点表示法,即使用科学计数法表示,例如1.2345E+2。

定点数的优点是可以表示较大或较小的数字,并且计算速度相对较快。但它的缺点是不能表示非常大或非常小的数字,并且对于小数部分的精度有限。在进行计算时,需要注意舍入误差和溢出的问题。

🦋2.2 浮点数

浮点数是计算机中用于表示实数的一种数据类型。它可以表示包括小数、负数和无限大等特殊值在内的各种实数。浮点数的特点是可以表示非常大或非常小的数值,并具有一定的精度。

浮点数是按照科学计数法表示的,由两部分组成:尾数和指数。尾数是一个有限位数的小数,而指数表示浮点数的大小范围。浮点数的精度是由尾数的位数决定的,通常有单精度(32位)和双精度(64位)两种表示方式。

浮点数在计算机中的表示方式是通过一定的编码规则来实现的,最常见的浮点数表示方式是IEEE 754标准。这个标准规定了浮点数的格式、运算规则以及处理特殊值的方法。

在程序中,浮点数的数据类型通常是float(单精度)或double(双精度),具体使用哪种类型取决于精度和范围的要求。

🔎3.校验码

🦋3.1 奇偶校验

奇偶校验是一种在计算机系统中用来检测和纠正数据传输错误的方法。它通常用于串行通信中的数据传输,以确保数据的完整性。

奇偶校验的基本原理是在传输的数据中添加一个奇偶位(即校验位),使得数据位和校验位中1的个数为奇数或偶数。发送方通过计算数据位中1的个数,确定应该发送的校验位是奇数个还是偶数个。接收方在接收数据后,再次计算数据位和校验位中1的个数,如果结果与发送方计算的校验位不一致,则说明数据传输过程中出现了错误。

奇偶校验有两种常见的方式:奇校验和偶校验。在奇校验中,如果数据位和校验位中1的个数是奇数,则校验位为0;如果是偶数,则校验位为1。在偶校验中,情况相反,即如果数据位和校验位中1的个数是奇数,则校验位为1;如果是偶数,则校验位为0。

奇偶校验可以在一定程度上检测和纠正传输错误,但并不能完全保证数据的完整性。如果数据位和校验位中1的个数相同,但某一个位翻转了,奇偶校验无法检测到这个错误。因此,在实际应用中,通常会结合其他的错误检测和纠正方法来提高数据传输的可靠性。

🦋3.2 CRC循环冗余校验

CRC(Cyclic Redundancy Check)循环冗余校验是一种常用的错误检测技术,用于在数据传输过程中检测错误。CRC校验通过在数据中附加一些冗余位,然后利用多项式除法进行计算,得到一个校验码。接收端根据接收到的数据和校验码再进行一次计算,如果结果为0,则说明数据传输没有错误。

CRC校验的具体计算过程如下:

  1. 首先,选择一个生成多项式G(通常为一个二进制数),并确定需要计算的校验码的位数,例如n位。
  2. 将生成多项式G左移n位,并对数据进行左移n位。
  3. 对左移后的数据与左移后的生成多项式G进行按位异或运算。
  4. 得到的结果作为新的数据,重复第2步和第3步,直到左移后的数据的位数小于生成多项式G的位数。
  5. 最后,得到的余数就是CRC校验码。

在数据传输过程中,发送方将原始数据和CRC校验码一起发送给接收方。接收方接收到数据后,根据接收到的数据和CRC校验码再进行计算,如果计算得到的结果为0,则说明数据传输没有错误。如果计算得到的结果不为0,则说明数据传输中存在错误,并且接收方可以根据校验码的错误位置进行错误的定位和纠正。

🦋3.3 海明校验

海明校验是一种用于检测和纠正数据传输错误的技术。它由理查德·W·海明提出,并被广泛应用于计算机系统中。

海明校验通过在数据中添加冗余位来实现错误检测和纠正。在发送数据之前,发送方会计算并添加校验位,然后将数据和校验位一起发送。接收方在接收数据后会再次计算校验位,并与接收到的校验位进行比较。如果两者不匹配,表示数据传输过程中发生错误。

海明校验通过计算校验位的奇偶性来实现错误检测和纠正。具体而言,发送方会根据数据中的奇偶性计算校验位,将其添加到数据中。接收方在接收数据后会再次计算校验位,并与接收到的校验位进行比较。如果两者不匹配,表示数据传输过程中发生错误。通过使用校验位的奇偶性信息,接收方可以判断出出错的位,并进行纠正。

海明校验可以检测和纠正单位错误,即数据中的一个位发生错误。根据校验位的数量不同,海明校验可以检测和纠正不同数量的错误。例如,如果校验位的数量为1,海明校验可以检测并纠正一个位的错误。如果校验位的数量为2,海明校验可以检测并纠正两个位的错误。

🔎4.存储系统

🦋4.1 多级存储结构

多级存储结构是计算机系统中一种常见的存储层次结构,用于实现高效的数据存储和访问。它包括以下几个层次:

  1. 寄存器:寄存器是最接近CPU的存储器,用于存放当前正在执行的指令和数据。由于寄存器位于CPU内部,因此具有非常快的访问速度,但容量较小。
  2. 高速缓存:高速缓存是位于主存和寄存器之间的一层存储器,用于存放CPU频繁使用的指令和数据。相比主存,高速缓存具有更快的访问速度,但容量也较小。高速缓存通常分为多级,例如L1、L2、L3等,其中L1缓存离CPU最近,速度最快,容量最小。
  3. 主存储器:主存储器是计算机系统中存放程序和数据的主要存储器,通常是计算机系统中容量最大的存储器。主存储器的访问速度相对较慢,但仍比较快于辅助存储器。主存储器通常采用随机存取存储器(RAM)的形式。
  4. 辅助存储器:辅助存储器是一种容量较大、速度较慢的存储设备,用于存放大量的程序、数据和文件。辅助存储器包括硬盘、固态驱动器(SSD)和磁带等。辅助存储器与主存储器之间通过输入/输出(I/O)接口进行数据的传输。

多级存储结构通过将数据存储在不同的层次中,实现了存储器的层次化管理,既提高了访问速度,又满足了大容量存储的需求。计算机系统通过缓存管理和虚拟内存等技术来自动管理多级存储结构,以达到高效的数据访问和管理。

🦋4.2 cache

Cache是计算机系统中的一种高速缓存,用于存储最近频繁使用的数据和指令,以提高数据访问速度。Cache通常位于CPU和主内存之间,作为内存和CPU之间的缓冲区。

Cache的作用主要体现在以下几个方面:

  1. 提高数据访问速度:Cache存储了最近频繁使用的数据和指令,当CPU需要访问这些数据时,可以直接从Cache中读取,而不需要访问主内存,从而大大提高了数据的访问速度。
  2. 减少对主内存的访问次数:由于Cache的速度比主内存快很多,因此可以减少CPU对主内存的访问次数,从而减少了数据传输的开销,提高了系统的效率。
  3. 提高系统的吞吐量:由于Cache可以提供更快的数据访问速度,因此可以大大提高系统的吞吐量,提高CPU的利用率。

Cache的实现方式主要有以下几种:

  1. 直接映射:缓存地址直接映射到主内存地址,每个缓存地址可以对应一条或多条主内存地址。
  2. 组相联映射:将主内存地址划分为多个组,每个组中有多个缓存地址,每个主内存地址只能映射到某个组中的某个缓存地址。
  3. 全相联映射:主内存地址可以映射到任意一个缓存地址,没有固定的映射关系。

Cache的大小一般以字节为单位来衡量,常见的大小有4KB、8KB、16KB等。Cache的大小决定了能够存储的数据量,一般来说,Cache越大,可以存储的数据越多,但相应的成本也会增加。

🦋4.3 磁盘管理

磁盘管理是计算机系统中的一个重要部分,它涉及到对磁盘的分区、文件系统的创建与管理、磁盘调度以及磁盘缓存等方面。

  1. 磁盘分区:磁盘分区是将物理磁盘划分为多个逻辑分区,每个分区可以独立使用。常见的分区方式有主分区、扩展分区和逻辑分区。
  2. 文件系统:文件系统是指对磁盘上存储的文件进行管理的一套规则,它定义了文件的组织和访问方式。常见的文件系统有FAT、NTFS、ext4等。
  3. 磁盘调度:磁盘调度是指操作系统为了提高磁盘访问效率而采取的一系列调度算法。常见的磁盘调度算法有FIFO、SCAN、C-SCAN、LOOK等。
  4. 磁盘缓存:磁盘缓存是指将磁盘上的数据缓存在内存中,以提高数据的读写速度。操作系统会将最常访问的数据块缓存在内存中,减少对磁盘的访问次数。

🔎5.输入输出技术

🦋5.1 程序控制

程序控制是指计算机系统中,程序通过控制执行流程和数据运算等方式来实现特定功能的过程。程序控制可以分为顺序控制、选择控制和循环控制。

顺序控制是指程序按照事先规定的顺序逐条执行,每条指令执行完后再执行下一条指令。顺序控制是程序控制中最基本的形式,也是最简单的形式。

选择控制是指根据条件的不同,选择不同的执行路径。条件判断一般通过条件语句(如if语句、switch语句)来实现。选择控制可以根据不同的条件选择执行不同的指令或代码块。

循环控制是指通过循环结构来反复执行某一段代码,直到满足退出循环的条件。循环控制可以根据循环条件的不同,选择执行多次或者不执行。

程序控制可以通过多种方式实现,如条件语句、循环语句、跳转语句等。在高级语言中,程序控制一般通过控制结构(如if语句、for循环、while循环)来实现。计算机系统中,程序控制是由计算机硬件和操作系统共同实现的。硬件提供指令执行的功能,操作系统负责管理和调度程序的执行。

🦋5.2 中断

在计算机系统中,中断是一种机制,用于处理紧急事件或者外部设备发来的请求。当发生一个中断事件时,处理器会立即暂停当前任务,保存当前状态,跳转到一个特定的中断处理程序中去执行相应的处理操作。中断可以是硬件中断和软件中断两种类型。

硬件中断是由外部设备触发的,如键盘、鼠标等设备的输入事件,或者硬件错误或故障等。硬件中断是通过在处理器和外部设备之间的信号线上发送一个中断请求信号来触发的。当处理器收到中断请求信号时,它会立即响应中断,暂停当前任务,保存当前任务的上下文,并跳转到中断处理程序中去执行相应的操作。

软件中断是由程序主动触发的,用于向处理器发送一个中断信号,让处理器执行相应的中断处理程序。软件中断可以是操作系统或应用程序发出的,用于请求操作系统提供某种服务或执行某种功能。软件中断是通过执行特定的中断指令(如INT指令)来触发的,该指令指定了中断号,处理器会根据中断号来执行相应的中断处理程序。

中断是计算机系统中实现异步处理的重要机制,可以使处理器在处理其他任务时能够及时响应外部设备的请求或处理紧急事件。中断使得计算机系统能够并发执行多个任务,提高系统的效率和响应能力。同时,中断也可以使得处理器能够更好地管理和调度任务,保证系统的稳定性和可靠性。

🦋5.3 DMA

DMA(Direct Memory Access)是一种计算机系统中用于高速数据传输的技术。在传统的计算机系统中,当一个设备(如硬盘、网络适配器)需要将数据传输到内存中时,通常是通过CPU进行中断驱动的方式实现的。而DMA技术则可以使设备能够直接访问内存,而无需通过CPU的参与。

DMA技术的主要优势是可以让CPU免于处理一些简单且耗时的数据传输任务,从而释放出CPU的资源用于执行更重要的任务。具体的工作流程如下:

  1. CPU和设备之间建立DMA通道,即设备可以直接访问内存的通道。
  2. 设备通过DMA通道向内存控制器发出请求,请求将数据传输到内存中的特定位置。
  3. 内存控制器确认请求,并将数据传输到指定的内存位置中。
  4. 设备完成数据传输后,通过DMA通道向CPU发出中断信号,通知CPU数据传输完成。
  5. CPU在得到中断信号后,可以对传输的数据进行进一步的处理。

由于DMA技术可以避免数据传输过程中频繁的CPU中断,因此它能够提高系统的数据传输速率和效率。在许多高性能计算机系统中,DMA技术被广泛应用于大规模数据传输和实时数据处理等场景,可以明显提升系统的整体性能。

🦋5.4 输入输出处理机

输入输出处理机是计算机系统中负责处理输入输出的设备。它是连接计算机和外部设备的接口,负责将计算机和外部设备之间的数据进行传输和交换。

输入输出处理机通常包括以下几个组件:

  1. 控制器(Controller):控制器是输入输出处理机的主要组件,负责管理和控制外部设备的工作。它包含一组控制电路,用于向外部设备发送指令和接收设备返回的数据。
  2. 接口(Interface):接口是输入输出处理机与计算机系统之间的连接通道,它负责将计算机系统的信号转换成外部设备所需要的信号,并将外部设备的信号转换成计算机系统可识别的信号。
  3. 缓冲区(Buffer):缓冲区是用于存储输入输出数据的临时存储区域。它可以缓冲输入数据,使得计算机系统能够按照自己的处理速度进行数据处理,而不受外部设备的速度限制。同样,缓冲区也可以缓冲输出数据,使得计算机系统能够按照外部设备的接收速度进行数据传输。

输入输出处理机通过与计算机系统的总线相连,实现与主存、CPU和外部设备之间的数据传输和交换。当计算机系统需要进行输入操作时,输入输出处理机从外部设备中读取数据,并将数据传输到计算机系统的主存中;当计算机系统需要进行输出操作时,输入输出处理机从主存中读取数据,并将数据传输给外部设备进行输出。

输入输出处理机的主要作用是解决计算机系统和外部设备之间的速度不匹配问题。计算机系统的处理速度通常远远高于外部设备的速度,而输入输出处理机能够以适当的速度读取和写入数据,使得计算机系统和外部设备能够有效地进行数据交互。同时,输入输出处理机还可以提供一些其他功能,如数据格式转换、数据校验等。

🔎6.计算机体系结构

🦋6.1 Flynn分类法

Flynn分类法是计算机系统中常用的分类方法,根据指令流和数据流的并行性将计算机系统划分为四类。这四类分别是:

  1. 单指令单数据流 (Single Instruction Single Data, SISD):这是最简单的计算机系统类型,只有一个处理器执行单个指令,并处理单个数据流。这是传统的串行计算机系统。
  2. 单指令多数据流 (Single Instruction Multiple Data, SIMD):在这种系统中,一个处理器同时执行多个相同的指令,但每个指令处理不同的数据流。这种系统常用于并行处理大规模数据,如图像处理和科学计算。
  3. 多指令单数据流 (Multiple Instruction Single Data, MISD):这种系统中,多个处理器同时执行不同的指令,但每个指令处理相同的数据流。这种系统相对较少使用,因为在大多数情况下并行执行相同的指令并不高效。
  4. 多指令多数据流 (Multiple Instruction Multiple Data, MIMD):这是最常见的并行计算机系统类型,其中多个处理器同时执行不同的指令,并处理不同的数据流。每个处理器都可以独立地执行自己的指令和数据。这种系统可用于并行处理不同的任务或数据。

Flynn分类法对于理解并行计算机系统的结构和性能非常重要,它帮助人们选择适合特定应用场景的计算机系统类型,并设计高效的并行算法和程序。

🦋6.2 CISC与RISC

CISC (Complex Instruction Set Computer)和RISC (Reduced Instruction Set Computer)是计算机系统中两种不同的指令集架构。

CISC是一种指令集架构,旨在通过提供复杂的指令来减少编程工作量。这种架构的处理器通常具有大量的指令集,其中包括执行复杂操作的单个指令。CISC处理器执行每条指令所需的时钟周期数不同,这使得它们在执行某些复杂操作时比RISC处理器更高效。然而,CISC指令集需要更多的硬件支持,因此处理器的设计更加复杂。

RISC是一种指令集架构,旨在通过使用更少、更简单的指令来提高处理器性能。这种架构的处理器执行每条指令所需的时钟周期数相同,这使得它们能够以更高的频率运行。RISC指令集通常包括基本的算术、逻辑和数据传输指令,而复杂操作则由多个简单指令组合完成。这种简化的指令集使得RISC处理器更容易设计、更高效,并且能够更好地利用计算机系统的硬件资源。

CISC和RISC之间的区别主要是在于指令集的复杂性和处理器的设计方法。CISC处理器倾向于具有更多的指令和功能,但处理器设计更加复杂,而RISC处理器则倾向于使用更少、更简单的指令,但设计更简单且性能更高。

在现代计算机系统中,CISC和RISC已经有了一些交叉和混合的特性。一些处理器采用了混合的指令集架构,既包含CISC指令,又包含RISC指令。这种混合架构旨在兼顾CISC和RISC的优点,提供更高的性能和更好的兼容性。另外,由于技术的进步,现代处理器已经能够在硬件层面对复杂指令进行优化,使得复杂指令的执行效率有所提高。因此,CISC和RISC之间的区别在现代计算机系统中不再像过去那样明显。

🦋6.3 流水线技术

流水线技术是一种提高计算机系统性能的重要技术,通过将指令执行过程划分为多个阶段,并在不同的阶段同时执行不同指令的部分,从而实现了多指令并行执行。

流水线技术的主要特点包括以下几点:

  1. 分阶段执行:将指令执行过程划分为多个阶段,如取指、译码、执行、访存和写回等,每个阶段只完成一个指令的部分操作。
  2. 并行执行:在流水线的各个阶段,不同指令的相同阶段可以同时执行,从而实现多指令的并行执行。
  3. 重叠执行:由于每个指令的执行过程被划分为多个阶段,并且不同指令的不同阶段可以同时执行,因此在同一时间周期内可以同时执行多条指令的不同阶段。
  4. 提高吞吐量:通过流水线技术,可以大大提高计算机系统的吞吐量,即单位时间内完成的指令数目。
  5. 增加延迟:由于流水线技术的引入,每个指令的执行时间被划分为多个阶段,因此单条指令的执行时间会略微增加。

流水线技术的实现需要解决一些问题,如数据冒险、控制冒险和结构冒险等。为了解决这些问题,可以采用一些技术手段,如插入空指令(空操作)、数据旁路、分支预测和乱序执行等。

流水线技术在现代计算机系统中得到广泛应用,如CPU、图形处理器(GPU)等,极大地提高了计算机系统的性能。

🦋6.4 冯诺依曼结构和哈弗结构

冯诺依曼结构(von Neumann architecture)是一种基于存储程序的计算机结构。它由冯诺依曼于1945年提出,是现代计算机的基础架构。冯诺依曼结构的主要特点包括:

  1. 存储器:计算机内部拥有一个存储器,用于存储程序和数据。程序和数据在存储器中以二进制形式表示。
  2. 控制单元:控制单元负责执行程序中的指令,它从存储器中读取指令,并根据指令的内容执行相应的操作。
  3. 算术逻辑单元(ALU):ALU执行算术和逻辑运算,如加减乘除、比较和逻辑与或非等。
  4. 输入输出(I/O):计算机通过输入输出设备与外部世界进行交互,如键盘、显示器、硬盘等。

哈佛结构(Harvard architecture)是另一种计算机结构,它与冯诺依曼结构相比具有以下主要差异:

  1. 存储器分离:哈佛结构将程序存储器和数据存储器分开,分别用于存储程序和数据。这样可以实现并行访问程序和数据,提高计算机的性能。
  2. 性能优化:由于程序存储器和数据存储器分开,哈佛结构可以采用不同的存储技术和访问方式,以优化程序和数据的访问性能。
  3. 程序和数据的访问方式:在哈佛结构中,程序和数据使用不同的总线进行访问,可以独立地进行读取和写入操作。

冯诺依曼结构和哈佛结构是两种不同的计算机系统结构,各有其优势和适用场景。冯诺依曼结构适合大多数通用计算机应用,而哈佛结构则适用于一些特定的应用场景,如嵌入式系统和数字信号处理等。

🔎7.总线

在计算机系统中,总线是指连接计算机各个组件(如中央处理单元、内存、外部设备等)之间传输数据和控制信息的一组电子线路。总线可以分为三种类型:数据总线、地址总线和控制总线。

数据总线用于传输数据,一般是双向的,它确定了计算机系统中数据的宽度。数据总线通常使用并行传输方式,即每个数据位都通过一个线路进行传输。

地址总线用于指示内存或外设的位置,它决定了计算机系统的寻址能力,即可以寻址的内存和外设的数量。地址总线的宽度决定了计算机系统的可寻址空间大小。

控制总线用于传输控制信号,包括操作命令、时序信号等。控制总线通常是单向的,从中央处理单元向其他组件传输命令和控制信号。

总线是计算机系统中各个组件之间进行通信和数据传输的重要通道,通过总线,不同的组件可以相互交互和协调工作,实现计算机系统的功能。

🔎8.加密和认证技术

在计算机系统中,加密和认证技术被广泛应用于保护数据的安全性和完整性。下面是一些常见的加密和认证技术:

  1. 对称加密:使用相同的密钥进行加密和解密过程。常用的对称加密算法有DES、AES等。
  2. 非对称加密:使用公钥和私钥进行加密和解密过程。常用的非对称加密算法有RSA、Diffie-Hellman等。
  3. 散列函数:将输入数据映射为固定长度的输出数据,常用于数据完整性验证。常见的散列函数有MD5、SHA-1、SHA-256等。
  4. 数字签名:结合非对称加密和散列函数,能够对数据进行认证和防篡改。常见的数字签名算法有RSA、DSA等。
  5. SSL/TLS:用于保护网络通信的协议,使用非对称加密和对称加密相结合的方式,确保数据的机密性、完整性和身份认证。
  6. 数字证书:用于证明某个实体(如网站、个人)的身份和公钥的有效性。常见的数字证书格式有X.509证书。
  7. 双因素认证:结合多个身份验证因素,如密码、指纹、短信验证码等,提高用户身份认证的安全性。
  8. V**:虚拟私人网络,通过加密和认证技术,实现在公共网络上建立安全的专用网络,保护数据传输的安全性。
  9. 文件加密:对文件进行加密,使得只有拥有正确密钥的人可以解密和访问文件。
  10. 数据库加密:对数据库中的敏感数据进行加密,保护数据的机密性。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
美团前端react面试题汇总
服务端渲染是数据与模版组成的html,即 HTML = 数据 + 模版。将组件或页面通过服务器生成html字符串,再发送到浏览器,最后将静态标记"混合"为客户端上完全交互的应用程序。页面没使用服务渲染,当请求页面时,返回的body里为空,之后执行js将html结构注入到body里,结合css显示出来;
goClient1992
2022/09/13
5.6K0
React+Redux的一个简单开发实例
看到这个水果篮子的样子,大家应该可以明白它的功能:你可以做两件事 — 摘苹果和吃苹果。当你摘苹果时,应用会向后台发送ajax请求索取苹果,每个苹果有两个属性:编号和重量。当你吃苹果掉时,不用告诉后台,在前端偷偷吃掉就好啦~ 同时苹果篮子会显示当前的苹果量和已经吃掉的苹果量。好!那下面我们来开工!
javascript.shop
2019/09/04
1.5K0
React+Redux的一个简单开发实例
【重学React】动手实现一个react-redux
react-redux 是 redux 官方 React 绑定库。它帮助我们连接UI层和数据层。本文目的不是介绍 react-redux 的使用,而是要动手实现一个简易的 react-redux,希望能够对你有所帮助。
胡哥有话说
2019/10/24
3.4K0
如何更优雅地使用 Redux
业务背景介绍:腾讯云数据库产品中心 & 大数据及人工智能产品中心 前端从2016年初开始尝试 React + Redux 全家桶,期间经历了很多波折,到目前为止总共28个项目,其中有15个项目使用了该
陈津
2017/09/06
2.8K2
如何更优雅地使用 Redux
React进阶(6)-react-redux的使用
image.png 前言 您将在本文当中学习到 react-redux是什么,解决什么问题 UI组件以及容器组件 react-redux中两个重要的API,Provider以及connect mapS
itclanCoder
2020/10/25
2.6K0
React组件复用的方式
现前端的工程化越发重要,虽然使用Ctrl+C与Ctrl+V同样能够完成需求,但是一旦面临修改那就是一项庞大的任务,于是减少代码的拷贝,增加封装复用能力,实现可维护、可复用的代码就变得尤为重要,在React中组件是代码复用的主要单元,基于组合的组件复用机制相当优雅,而对于更细粒度的逻辑(状态逻辑、行为逻辑等),复用起来却不那么容易,很难把状态逻辑拆出来作为一个可复用的函数或组件,实际上在Hooks出现之前,都缺少一种简单直接的组件行为扩展方式,对于Mixin、HOC、Render Props都算是在既有(组件机制的)游戏规则下探索出来的上层模式,一直没有从根源上很好地解决组件间逻辑复用的问题,直到Hooks登上舞台,下面我们就来介绍一下Mixin、HOC、Render Props、Hooks四种组件间复用的方式。
WindRunnerMax
2021/02/25
3.1K0
React总结概括
react的功能其实很单一,主要负责渲染的功能,现有的框架,比如angular是一个大而全的框架,用了angular几乎就不需要用其他工具辅助配合,但是react不一样,他只负责ui渲染,想要做好一个项目,往往需要其他库和工具的配合,比如用redux来管理数据,react-router管理路由,react已经全面拥抱es6,所以es6也得掌握,webpack就算是不会配置也要会用,要想提高性能,需要按需加载,immutable.js也得用上,还有单元测试。。。。
杨永贞
2020/08/04
1.4K0
字节前端必会react面试题1
Keys 是 React 用于追踪哪些列表中元素被修改、被添加或者被移除的辅助标识。
beifeng1996
2023/01/03
3.6K0
react16常见api以及原理剖析
React 与 Vue 有很多相似之处,React 和 Vue 都是非常优秀的框架,它们之间的相似之处多过不同之处,并且它们大部分最棒的功能是相通的:如他们都是 JavaScript 的 UI 框架,专注于创造前端的富应用。不同于早期的 JavaScript 框架“功能齐全”,Reat 与 Vue 只有框架的骨架,其他的功能如路由、状态管理等是框架分离的组件。
前端迷
2019/09/25
1.1K0
react16常见api以及原理剖析
【干货】从零实现 react-redux
在 React 诞生之初,Facebook 宣传这是一个用于前端开发的界面库,仅仅是一个 View 层。前面我们也介绍过 React 的组件通信,在大型应用中,处理好 React 组件通信和状态管理就显得非常重要。为了解决这一问题,Facebook 最先提出了单向数据流的 Flux 架构,弥补了使用 React 开发大型网站的不足。
winty
2020/03/31
1.9K0
【干货】从零实现 react-redux
React组件设计实践总结04 - 组件的思维
在 React 的世界里”一切都是组件“, 组件可以映射作函数式编程中的函数,React 的组件和函数一样的灵活的特性不仅仅可以用于绘制 UI,还可以用于封装业务状态和逻辑,或者非展示相关的副作用, 再通过组合方式组成复杂的应用. 本文尝试解释用 React 组件的思维来处理常见的业务开发场景.
_sx_
2019/08/07
2.5K0
React组件设计实践总结04 - 组件的思维
react-redux源码解读
react-redux作为胶水一样的东西,似乎没有深入了解的必要,但实际上,作为数据层(redux)与UI层(react)的连接处,其实现细节对整体性能有着决定性的影响。组件树胡乱update的成本,要比多跑几遍reducer树的成本高得多,所以有必要了解其实现细节
ayqy贾杰
2019/06/12
1.1K0
一天梳理完react面试高频题
路由匹配是通过比较 <Route> 的 path 属性和当前地址的 pathname 来实现的。当一个 <Route> 匹配成功时,它将渲染其内容,当它不匹配时就会渲染 null。没有路径的 <Route> 将始终被匹配。
beifeng1996
2022/10/11
4.8K0
Redux助力美团点评前端进阶之路
摘要 都说Redux好,但Redux到底好在哪,它真的解决了业务中遇到的问题吗? 因为在业务中引入Redux而带来的额外成本是否让你苦恼过? 会不会是我们打开Redux的方式不对? 本次分享将主要介绍
IT大咖说
2018/04/03
1.6K0
Redux助力美团点评前端进阶之路
手写一个React-Redux,玩转React的Context API
上一篇文章我们手写了一个Redux,但是单纯的Redux只是一个状态机,是没有UI呈现的,所以一般我们使用的时候都会配合一个UI库,比如在React中使用Redux就会用到React-Redux这个库。这个库的作用是将Redux的状态机和React的UI呈现绑定在一起,当你dispatch action改变state的时候,会自动更新页面。本文还是从它的基本使用入手来自己写一个React-Redux,然后替换官方的NPM库,并保持功能一致。
蒋鹏飞
2020/10/15
4K0
手写一个React-Redux,玩转React的Context API
react相关面试知识点总结
组件状态数据或者属性数据发生更新的时候,组件会进入存在期,视图会渲染更新。在生命周期方法 should ComponentUpdate中,允许选择退出某些组件(和它们的子组件)的和解过程。
beifeng1996
2022/11/07
1.2K0
React:Redux源码分析
Redux 是JavaScript 应用的状态管理容器,提供集中式、可预测的状态管理。
WEBJ2EE
2019/07/19
9770
React:Redux源码分析
2021高频前端面试题汇总之React篇
React并不是将click事件绑定到了div的真实DOM上,而是在document处监听了所有的事件,当事件发生并且冒泡到document处的时候,React将事件内容封装并交由真正的处理函数运行。这样的方式不仅仅减少了内存的消耗,还能在组件挂在销毁时统一订阅和移除事件。
zz1998
2021/09/15
2.3K0
React中的Redux
整个应用的state被存储在一棵object tree中,并且这个object tree只存在于唯一一个store中。
贺贺V5
2018/08/21
4.8K0
React中的Redux
react+redux+webpack教程2
先弄个什么例子呢?如果是现代的MVVM框架,可能会用双向绑定来吸引你。那react有双向绑定吗? 没有。 也算是有吧,有插件。不过双向绑定跟react不是一个路子的。react强调的是单向数据流。 当然,即便是单向数据流也总要有个数据的来源,如果数据来源于页面自身上的用户输入,那效果也就等同于双向绑定了。 下面就展示一下如何达到这个效果。我们来设计一个登录的场景,用户输入用户名后,会在问候语的位置展示用户名,像下这样: ---- 早上好,Mark 用户名: 密 码: 登 录 ---- 预警一下先,我要用
前朝楚水
2018/04/03
1.5K0
相关推荐
美团前端react面试题汇总
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档