自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(201)
  • 收藏
  • 关注

原创 第七章相关内容

第七章相关内容计算机网络基础知识这一章在软件测评师中其实是比较重要的一个章节,同时呢,考题的比重也是比较大的,这一个章节的覆盖面其实还是比较广的,设计到了网络的很多方面,也涉及到了一些基于网络的应用,这一章节学习的内容其实更侧重于考试所要涉及到的点网络分类OSI七层模型常用协议以及端口IP地址介绍子网划分常见网络设备部署常见的网络应用,服务Windows中的网络命令网络分类

2024-04-16 18:39:17 111

原创 第十一章相关内容

标准化和软件知识产权基础知识标准化基础知识标准是对重复性实物和概念所做的统一规定,规范,规程都是标准的一种形式标准是标准化活动的产物,他的目的和作用都是通过指定和贯彻具体的标准来体现的,标准化不是一个孤立的实物,而是一个活动的过程标准化活动过程一般包括标准产生(调查,研究,形成草案,标准发布)子过程,标准实施(宣传,普及,监督,咨询)子过程和标准更新子过程等标准的分类可以从不同的角度和属性将标准进行分类根据适用范围分类:可以分为国际标准,国家标准,行业标准,企业机构标准和项目课题标

2024-04-15 10:03:12 162

原创 第六章相关内容

第六章相关内容多媒体基础知识这个章节在软件评测师考试里面的占比一直都是比较少的,就是偶尔涉及一点点的内容,对于这个章节来说,所要学习的内容会相对来说少一些多媒体的概念多媒体的分类常见多媒体标准色泽的三要素彩色空间图形与图像

2024-04-10 16:37:43 157

原创 第五章相关内容

数据结构的概念:所谓数据结构是计算机存储组织数据的集合,是指相互之间存在一中或多种特定关系的数据元素的集合,以及元素之间的构造关系和方法数据结构分为逻辑结构和物理结构,逻辑结构是指元素之间的相互关系,物理结构是指元素之间的存储形式,也叫做存储结构根据逻辑结构,我们可以分为线性机结构和非线性结构两种类型线性结构有单一的前驱和单一的后继(头尾就另当别论了),线性结构就是元素一个一个的呈现线性排列的方式;非线性结构的前驱和后继并不是单一的;

2024-04-09 14:36:40 166

原创 第四章相关内容

第四章相关内容数据库的基本概念数据库体系结构三级模式结构数据仓库

2024-04-03 17:02:51 143

原创 第三章相关内容

第三章相关内容这一章在每一年来说基本都是有1-2分的,有些年份的分值会稍微多一些,整体来说,这个章节其实还是比较重要的,其中的考点相对来说也是比较集中的,这个章节的难度也在逐年提升,主要有一下的考点程序设计语言概述高级语言的特点和应用编译过程文法程序基本的控制结构表达式传址和传值

2024-04-02 12:28:52 100

原创 第二章相关内容

首先我们要了解什么是系统软件,系统软件是指控制和协调计算机和外部设备,支持应用软件开发和运行的系统,是不需要用户干预的各种程序的集合,他的主要功能是调动,监控和维护计算机系统,操作系统其实就是一种系统软件,操作系统的主要作用有两个:管理软件和硬件资源;改善人机交互界面系统软件除了操作系统还有其他的。

2024-03-15 16:58:48 393

原创 第一章相关内容

分值概述这一章节的内容,主要是对上午部分的考试影响比较大,一般来说,分值会集中在5-6的,不同的年份,该部分内容的占比也是不一样的目录数的表示计算机系统硬件基本组成(冯诺依曼)总线指令流水线输入输出校验码数的进制二进制–逢2进1八进制十进制–逢10进1十六进制十进制和其他进制的互相转换十进制和其他进制之间的转换,需要使用的方法是短除法比如说94的十进制,如果需要转换成二进制的话,最终的结果其实就是,1011110,使用的方法其实就是一直使用除法, 然后,1和0

2024-02-19 17:39:45 480

原创 考试内容大纲

基础知识:150分钟,一共75分,全部都是单项选择题,上午题部分,主要就是看软件测评师那一本教程,看书+理解,同时基础知识部分可以参考软件设计师教程那本书,两本书结合起来一起看,只看测评师教程的话,计算机的基础知识部分是没有的。这里要注意的东西就是黑盒测试和白盒测试,主要体现在教材上的部分就是基于功能和基于结构两个部分的章节,这里要看。应用技术:150分钟,一共75分,内容为4-5道问答题。

2024-02-19 17:21:06 403

原创 DS相关题目

DS相关题目

2023-09-16 23:32:27 239

原创 BC题目归纳

BC题目归纳

2023-09-15 18:01:29 91

原创 赋值运算符的错误使用举例

=和==运算符的错误使用=运算符在C语言中为赋值运算符,==运算符为检查符号两边的值是否是相等的操作。当某些程序的本意是比较运算符的时候,可能会无疑写成了赋值运算符,比如下面的程序,本意是要检查x是否等于y,但是实际上是把y的值的赋值给了x,然后去检查y的值是否为0if(x==y) break;再看下面的这个例子,例子中的循环语句本意是跳过文件中的空格符,制表符和换行号while(c=' '||c=='\t'||c=='\n') g=getc(f);由于在比较字符’ '和

2022-03-15 15:03:16 1559

原创 int *p = NULL 和*p = NULL 有什么区别

int p = NULL 和p = NULL 有什么区别int *p = NULL这时候我们可以通过编译器查看p 的值为0x00000000。这句代码的意思是:定义一个指针变量p,其指向的内存里面保存的是int 类型的数据;在定义变量p 的同时把p 的值设置为0x00000000,而不是把.*p 的值设置为0x00000000。这个过程叫做初始化,是在编译的时候进行的.明白了什么是初始化之后,再看下面的代码:int *p;*p = NULL;同样,我们可以在编译器上调试这两行代码。第一行

2022-03-03 13:13:26 319

原创 预处理等等

预处理#define 宏定义是个演技非常高超的替身演员,但也会经常耍大牌的,所以我们用它要慎之又慎。它可以出现在代码的任何地方,从本行宏定义开始,以后的代码就就都认识这个宏了;也可以把任何东西定义成宏。因为编译器会在预编译的时候用真身替换替身,而在我们的代码里面却又用常常用替身来帮忙。#define PI 3.141592654在此后的代码中你尽可以使用PI 来代替3.141592654,而且你最好就这么做。不然的话,如果我要把PI 的精度再提高一些,你是否愿意一个一个的去修改这串数呢?你能保

2022-03-02 14:26:46 179

原创 运算符的优先级表

运算符的优先级表

2022-03-02 14:06:24 218

原创 volatile关键字---最易变的关键字

vloatile关键字(volatile 是易变的、不稳定的意思)volatile关键字和const 一样是一种类型修饰符,用它修饰的变量表示可以被某些编译器未知的因素更改,比如操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。先看看下面的例子:int i=10;int j = i;//(1)语句int k = i;//(2)语句这时候编译器对代码进行优化,因为在(1)、(2)两条语句中,i 没有被用作左值。这

2022-03-01 14:02:31 149

原创 void关键字

void关键字void a?void 的字面意思是“空类型”,void *则为“空类型指针”,void *可以指向任何类型的数据。void 几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void 变量,看看下面的例子:void a,Visual C++6.0 上,这行语句编译时会出错,提示“illegal use of type ‘void’”。不过,即使void a 的编译不会出错,它也没有任何实际意义。void 真正发挥的作用在于:(1) 对函数返回的限定;(2) 对函数参数

2022-02-28 19:19:55 123

原创 声明和定义的区别

声明和定义的区别什么是定义?什么是声明?它们有何区别?举个例子:A)int i;B)extern int i;什么是定义:所谓的定义就是(编译器)创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说的变量名或对象名。但注意,这个名字一旦和这块内存匹配起来,它们就同生共死,终生不离不弃。并且这块内存的位置也不能被改变。一个变量或对象在一定的区域内(比如函数内,全局等)只能被定义一次,如果定义多次,编译器会提示你重复定义同一个变量或对象。什么是声明:有两重含义,如下:第

2022-02-26 19:58:42 375

原创 Mysql(1)

Mysql(1)安装MysqlMysql服务端与数据库的关系,数据库与表的关系Mysql客户端和服务端的关系Mysql服务端的架构数据库的操作数据库表的操作安装Mysql现在使用的虚拟机时centos这样的一个linux操作系统,那么其实可以选择的安装的数据库的版本有两个版本,一个是mysql5.7,一个是mariadb,两个的区别在于mysql5.7其实是一个发行版本,然后mariadb其实相当于是一个分支,也可以理解成为是mysql的一个社区版本,两个的功能其实是一摸一样,但是安装ma

2021-07-17 22:39:19 185

原创 异常

异常C语言传统的处理错误的方式传统的错误处理机制终止程序,如assert,缺陷:用户难以接受。如发生内存错误,除0错误时就会终止程序。返回错误码,缺陷:需要程序员自己去查找对应的错误。如系统的很多库的接口函数都是通过把错误码放到errno中,表示错误C 标准库中setjmp和longjmp组合。这个不是很常用,了解一下实际中C语言基本都是使用返回错误码的方式处理错误,部分情况下使用终止程序处理非常严重的错误C++异常概念异常是一种处理错误的方式,当一个函数发现自己无法处理的错误时就

2021-04-22 23:26:22 133 2

原创 网络基础(五)

TCP可靠传输机制确认应答机制和超时重传机制是保证TCP可靠传输的基本滑动窗口机制和拥塞控制机制是保证TCP传输效率的前提:确认应答和超时重传机制其实最基本的都是TCP序号的维护(序号的维护其实也是再说序号的消耗和确认)确认应答机制确认应答机制其实确认的就是序号当发送方在进行数据发送的时候,不管是SYN数据包还是说是PSH数据包本质上其实都是带有序号的,并且是要消耗序号的,发送方在发送数据的时候,本质上其实是在发送数据的,只不过说是这些序号标识了一个一个的数据,接收方在进行确认的时候

2021-04-16 17:36:01 141

原创 string和vector常见面试题

string和vector常见面试题手撕string类主要就是实现构造函数,析构函数,拷贝构造函数,以及赋值运算符重载的函数,这四个函数#include<iostream>#include<string>using namespace std;namespace bite{ class string { public: string(const char* str="") { if (str == nullptr) { _str

2021-04-11 15:02:49 243

原创 智能指针

智能指针本节目标为什么需要智能指针?智能指针的使用及原理C++11和boost中智能指针的关系RAII扩展学习为什么需要智能指针但是如果像下面这样,出现了一场情况,以及代码可能以前终止掉的情况,你都需要对开辟的内存空间以及打开的文件指针进行释放以及关闭的操作,那么其实重复的操作就干了太多次了那么如果有这样一个指针可以替我们管理起来这些情况的话,我们就不用再去担心这些问题的发生了,也就是说我们写代码的时候不用考虑的那么复杂了,同时代码写起来也是比较舒服的#include<ios

2021-04-04 14:02:18 160

原创 海量数据处理

海量数据处理给一个超过100G大小的log file, log中存着IP地址, 设计算法找到出现次数最多的IP地址? 与上题条件相同,如何找到top K的IP?那么,我们能想到的方法首先有我们可以通过暴力遍历的方式,取一个ip地址,遍历文件检测该ip地址出现的次数对文件中的ip地址进行排序,遍历一遍文件就可以统计出所有的ip的次数用unordered_map来进行统计的方式但是上面的方式,我们都没有加上文件大小这样的一个限制的条件,如果我们考虑了文件的大小的话,首先就得把暴力遍历的方式不考虑了,

2021-03-31 13:14:28 258

原创 网络基础(四)

网络基础(四)传输层协议—TCP协议和UDP协议传输层负责**端与端(端可以理解为端口,进一步理解就是端口)**之间的传输(也就是说,传输层是负责端口与端口之间的传输的),不论是传输层中的UDP协议还是TCP协议,都是负责端口和端口之间的数据传输,也就是说传输层只负责端口,不负责ip(ip是网络层在负责的),传输层重视的是端口,一个是源端口,一个是目的端口端口的划分端口的范围:0~2^16知名端口: 0~1023,比如说http:80,https:443,ssh:22,ftp:21,teln

2021-03-30 14:46:32 643

原创 OJ

1.三数之和哈希解法class Solution {public: vector<vector<int>> threeSum(vector<int>& nums) { vector<vector<int>> ret; sort(nums.begin(),nums.end()); //可以把a看成一个循环,b也是一个循环,然后c是-(a+b),这样就可以找出想要的东西了

2021-03-26 21:08:49 223

原创 重建二叉树

重建二叉树题目描述解题思路我们用一个栈和一个指针辅助进行二叉树的构造。初始时栈中存放了根节点(前序遍历的第一个节点),指针指向中序遍历的第一个节点我们依次枚举前序遍历中除了第一个节点以外的每个节点。如果 index 恰好指向栈顶节点,那么我们不断地弹出栈顶节点并向右移index,并将当前节点作为最后一个弹出的节点的右儿子;如果 index 和栈顶节点不同,我们将当前节点作为栈顶节点的左儿子;无论是哪一种情况,我们最后都将当前的节点入栈。/** * Definition for a bin

2021-03-26 20:05:01 123

原创 C++11

C++11本节目标C++11简介列表初始化变量类型推导范围for循环final与override智能指针新增加容器—静态数组array、forward_list以及unordered系列默认成员函数控制右值引用lambda表达式线程库C++11简介在2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了C++98称为C++11之前的最新C++标准名称。不过由于TC1主要是对C++98标准中的漏洞进行修复,语言的核心部分则没有改动,

2021-03-26 17:07:09 304

原创 网络基础(三)

网络基础(三)1.应用层1.1 自定制协议1.2 HTTP协议2.传输层2.1 UDP协议2.2 TCP协议1.1 自定制协议首先需要知道的是,自定制协议是工作在应用层的,是被程序员所定义出来的协议,才被称之为自定制协议,我们在网络协议栈中其实已经听说过许多协议了,比如说在应用层的http协议,在传输层的UPD和TCP协议,在网络层的IP协议,在数据链路层的ARP协议,这些协议其实都是属于网络协议栈中的协议,而在有些情况下,网络协议栈中的协议不能满足我们的需求,所以说有可能在我们使用网络的

2021-03-25 14:26:01 324

原创 哈希

哈希本节目标unordered系列关联式容器底层结构模拟实现哈希的应用海量数据处理以下查找方式的共同点是元素和元素之间必须进行比较才可以得到一个有序的序列那么,在查找元素的时候,能否不用进行比较就可以查找到我希望查找元素那么,我其实就必须对元素的存储结构进行改造----如果能够通过某种方式,将元素与其存储结构之间建立一一对应的关系假设我们现在的序列是21,67,112,99,13,87,44这八个元素的话,那我现在要对他进行存储,首先我至少需要8个存储的空间,才能将这些元素存储起

2021-03-24 10:25:59 133

原创 网络基础(二)

网络基础(二)tcp编程的流程首先,客户端和服务端都会创建套接字针对于服务端来说,服务端还需要绑定地址信息,监听,接收新连接针对客户端来说他也可以去绑定地址信息,但是不建议客户端去绑定地址信息,然后客户端需要去链接我们的服务端相对于UDP来说,TCP新增的内容是客户端的连接服务端,以及服务端的监听和接收新连接,其实这里就体现了TCP的第一个特性,也就是说,是面向连接的特性,面向连接指的是客户端和服务端,也就是说收发双方在要发送数据之前,首先需要建立连接,建立连接的过程其实就是客户端调用连接的接口

2021-03-23 14:40:19 150

原创 map和set

map和set本节内容关联式容器键值对树形结构的关联式容器底层结构关联式容器在之前,我们已经接触过STL中的部分容器,比如:vector、list、deque、forward_list(C++11)等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元素本身。那什么是关联式容器?它与序列式容器有什么区别?关联式容器也是用来存储数据的,与序列式容器不同的是,其里面存储的是<key, value>结构的键值对,在数据检索时比序列式容器效率更高键值对

2021-03-22 08:37:58 157

原创 多态

多态本节目标多态的概念多态的定义及实现抽象类C++11中的 override 和 final多态的原理单继承和多继承关系中的虚函数表多态的常见面试题需要声明的,下列的代码以及代码中的解释都是在vs2019下的x86程序中,涉及的指针都是4bytes。如果要其他平台下,部分代码需要改动。比如:如果是x64程序,则需要考虑指针是8bytes问题多态的概念多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状

2021-03-18 09:40:34 179

原创 网络基础(一)

网络基础(一)本节重点了解网络发展背景, 对局域网/广域网的概念有基本认识;了解网络协议的意义, 重点理解TCP/IP五层结构模型;学习网络传输的基本流程, 理解封装和分用;网络发展背景协议协议是国家或者外交事务的一种规范(这种说法不好理解)协议是沟通双方约定采用同一种语言进行有效的沟通(这只是通俗的协议的理解)网络协议:指的是网络当中通信双方,采用同一种数据格式来进行有效的通信(在网络中其实是由很多网络协议的,下面引出网络协议簇)网络协议簇:在网络当中不止有一个协议,而是

2021-03-17 09:17:10 656

原创 多线程III(线程池)

多线程(3)线程池线程池本质其实就是一个线程安全的队列+一堆线程线程池中首先需要有一个队列,并且这个队列是线程安全的队列,不管这个线程安全的队列是使用信号量去实现的线程安全的队列还是说是使用互斥锁+条件变量去实现的线程安全的队列都是可以的第二个部分就是线程池中其实还有一大堆的线程,线程池中的线程都是从线程安全队列当中去获取的元素,并且对其进行处理的操作,因为他是从线程安全队列中去拿数据的,那么线程池中的数据从逻辑上讲其实就是消费线程;那线程池当中的线程运行的时候都是运行的同一个入口函数那么既然线

2021-03-15 18:09:39 123

原创 继承

C++中的继承本节目标继承的概念及定义基类和派生类对象赋值转换继承中的作用域派生类的默认成员函数继承与友元继承与静态成员复杂的菱形继承及菱形虚拟继承继承的总结和反思

2021-03-14 21:54:09 206

原创 多线程II

多线程(2)线程安全线程不安全的现象—抢票程序假设说现在从一个地方去到另一个地方的车票只有一张了,这个时候有很多人都要去抢这一张票,但是在这种情况下只有一个人可以抢到这张票,这个时候其实多个线程就扮演的一个角色其实就是“黄牛”的角色,他们都是用来抢这一张票的,但是当程序真正在运行起来的时候,多个线程是抢占式执行的,如果这个线程拿到了,那个线程也拿到了的话,那么就可能出现一定的问题#include <stdio.h>#include <unistd.h>#include

2021-03-13 11:48:47 207 1

原创 栈队列优先级队列容器适配器I/O流

栈和队列和优先级队列本节目标stack的介绍和使用queue的介绍和使用priority_queue的介绍和使用容器适配器stack的介绍和使用stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素,将特定类作为其底层的,元素特定容器的尾部(即栈顶)被压入和弹出。stack的底层容器可以是任何标准的容器类模板

2021-03-11 19:26:27 242

原创 文件压缩项目

文件压缩项目(模拟实现zip压缩算法)什么是文件压缩文件压缩是指在不丢失有用信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率,或按照一定的算法对文件中数据进行重新组织,减少数据的冗余和存储的空间的一种技术方法其实说白了,压缩的本质就是占用更少的存储空间,要能对压缩的结果进行还原,如果不能将压缩的结果进行还原的话,那么这种压缩其实是毫无意义的为什么要需要压缩紧缩数据存储容量,减少存储空间可以提高数据传输的速度,减少带宽占用量,提高通讯效率对数据的一种加密保护,增强数据在传

2021-03-09 17:22:19 342

原创 多线程

多线程本节重点:了解线程概念,理解线程与进程区别与联系。学会线程控制,线程创建,线程终止,线程等待。了解线程分离与线程安全概念。学会线程同步。学会使用互斥量,条件变量,posix信号量,以及读写锁。理解基于读写锁的读者写者问题。在接触多线程的时候,在考虑多线程问题的时候,需要有全局思维(需要从程序的角度去考虑多个线程在同一时间都可能做的事情)主要要涉及到的内容有:线程概念,线程控制,线程安全,互斥和同步,死锁,生产者和消费者模型,线程池线程概念线程的概念其实就类似于是在工厂中又开

2021-03-08 22:10:39 211

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除