这些是我在复试时,自己搜集的一些资料,加自己的理解,有许多不足或有错误的地方,好像还有好多错别字,大家看看就好!!!
1、基本分页管理与基本分段管理的区别。
应该比较简单
但还是简单说一下
主要有
分段 :程序的逻辑单位,由用户控制,地址是二维的,每次交换信息是一个有意义的逻辑段,容易实现动态链接,容易实现共享,段长可以改变,
分页:程序的物理单位,用户不可见,由系统控制页长。地址是一维的,每次交换的都是以页为单位,不易实现动态链接,不易实现共享,页长不可变
大概是这些
2、栅栏和矢量图的联系与区别。
栅格就是一个规则的阵列,其中各个像元互不影响;栅格图又称为位图,是像素的集合,是由很多小方块像素组成的图形;
而矢量图是由一些个坐标和由这些坐标组成的线、面、体,它们之间有着密切的关系
位图由像素组成放大后失真,矢量图矢量图不以像素为单位,由线条组成放大后无影响。
3、HTTP协议两种方法的区别。
GET - 从指定的资源请求数据。
POST - 向指定的资源提交要被处理的数据
GET一般用于获取/查询 资源信息,安全性较低、传送的数据量较小<2kb、只允许ASCII字符、数据在 URL 中对所有人都是可见的
POST一般用于更新 资源信息,安全性较高、传送的数据量较大、对字符无限制、数据不会显示在 URL 中
4、系统的资源是非剥夺的好还是剥夺的好,为什么。
我认为是看情况而定叭,比如说外设资源就不能是可剥夺的,当一个进程使用打印机时,此时这个打印机资源如果被更高优先级的进程抢占,那么打印机的打印内容就是两个进程的了,应该是不可以这样的
但是对于CPU资源,就应该是可剥夺的,不然的话,紧急进程就会不能得到及时的响应。
5、某个控制电路的控制原理、过程。
当时这个题不全
6、单精度浮点数与多精度浮点数的区别,你什么时候选单精度,什么时候选双精度。
区别:
单精度(float)浮点数在机内占4个字节,有效数字8位、符号位1位、指数位8位、尾数23
双精度(double)浮点数在机内占8个字节、有效数字16位、符号位1位、指数位11位、尾数52,常用语科学计算,对小数点后精度要求较高的场合
7、计算机为什么要发展多核。
随着计算机的发展,对计算机的处理性能提出了更高的要求,提高处理器性能就两个途径,提高主频和提高每个时钟周期内执行的指令数,所以在单核处理器时代通过提高处理器的主频来提高性能就成了唯一的手段。给处理器提高主频是有限制的;单核处理器增加到双核处理器,如果主频不变的话,IPC理论上可以提高一倍,功耗理论上也就最多提高一倍,所以为了达到更高的性能,可以通过提高处理器内核数量维持较低的主频,提高ipc,可以提高计算机的性能;
8、递归求斐波那契数列的复杂度、如何降为复杂度为o(n)。
使用非递归算法:
l
long Fibonacci(int n) {if (n <= 2)return 1;else {long num1 = 1;long num2 = 1;for (int i = 2;i < n - 1;i++) {num2 = num1 + num2;num1 = num2 - num1;}return num1 + num2;}
9、调用函数的实现过程。
①函数参数代入,②函数栈帧开辟,③函数返回值,④函数栈帧回退
也就是说首先把函数的参数入栈,直接入在main函数的栈顶,参数入栈顺序从右往左入,栈顶向上移,将main函数的栈底压入栈,栈顶上移,然后将栈底指针移到当前栈顶指针位置,开辟被调用函数的函数空间,然后设置栈顶指针;
函数调用结束时,将栈顶指针移到被调用函数的栈底,取出当时存的main函数的栈底地址,然后就可以知道main函数的栈底,然后这只栈顶指针减去参数的位置,就可以知道main函数的栈顶;
对于printf函数调用
printf(“%d,%c”,a,b);
比如说这个类似这种的,首先栈的是参数b,a,“%d,%c”,所以在printf函数中,首先访问的参数肯定是”%d,%c”,通过分析这个字符串,就知道我传进来几个参数了,以及参数大小,这样就可以通过printf函数的栈底指针来访问参数了,大概是这个过程
不过这还有一个小疑问就是,在函数参数,main栈底入栈时,还会有一个下一条指令地址入栈,这个下一条指令地址入栈是指的函数调用结束后,要执行的下一条指令地址,但是我没搞明白这个下一条指令地址入栈是在参数入栈前入栈还是什么时候入栈,所以就没写,不过我复试已经结束了,所以没有搞明白的欲望了(抱歉)
10、计算机如何实现乘除
可以看王道的组成原理课本,课本说的很详细
一共有四种
原码乘
补码乘
原码除
补码除
至于怎么做的,看看课本吧还是
11、设计减法器
凑活看吧,希望能看懂,其实可以单独搜一下,都讲的听清楚的,自己理解一下就只到怎么做了,不要死记硬背
12、TCP三次握手和四次挥手
我觉得这个应该不用讲吧
三次握手
四次挥手
13、为什么要有激活函数,有哪些激活函数,
神经网络可以自动地从数据中学习到合适的权重参数,神经网络必须使用非线性激活函数
如果激活函数是线性函数,不管如何加深层数,总是存在与之等效的“无隐藏层的神经网络”因为只做了一个线性变化,加再多的隐藏层,其本质和加一个隐藏层的数据没有什么区别
激活函数是用来加入非线性因素的,提高神经网络对模型的表达能力,解决线性模型所不能解决的问题,其作用是决定如何来激活输入信号的总和;
阶跃函数:急剧变化,输出0和1,大于0输出1,小于0输出0;
Sigmoid函数:平滑变化,输出0到1,它能够把输入的连续实值变换为0和1之间的输出,特别的,如果是非常大的负数,那么输出就是0;如果是非常大的正数,输出就是1.
最大值最小值都相同
Relu函数:ReLU函数其实就是一个取最大值函数,计算速度快,收敛速度快
14、矩阵的秩
我强烈推荐这个up主的视频,他的线代讲的很棒,讲的主要是从几何空间去理解线性代数
时间紧急的可以考虑跳着看
15、死锁的条件
四个死锁条件
互斥
不可剥夺
请求保持
循环等待
16、二进制乘除法如何用硬件实现
应该同上面那个题一样
17、词法分析的规则(语法)
词法分析的主要任务:从左向右逐行扫描源程序的字符,识别出各个单词,确定单词的类型(关键字,标识符,常量,运算符,界限),将标识出的单词转换成统一的机内表示-词法单元(token)形式【<种别码,属性值>】
词法分析器的主要任务:字符流到记号流
语法分析就是从词法分析其中输出的token序列,识别出各类短语,并构造语法分析树
18、一段数量极大的数据如何找出出现次数最多的
海量日志数据,提取出某日访问百度次数最多的那个IP。首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法, 比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大 的几个)及相应的频率。然后再在这1000个最大的IP中,找出那个频率最大的IP,即为所求。
19、什么是图灵测试
判断机器是否能够思考的著名试验,测试某机器是否能表现出与人等价或无法区分的智能。
就是让测试者与被测试者(一个人和一台机器)隔开,通过一些装置(如键盘)向被测试者随意提问。进行多次测试后,如果有超过30%的测试者不能确定出被测试者是人还是机器,那么这台机器就通过了测试,并被认为具有人工智能。 它的发明者图灵被誉为计算机科学之父、人工智能之父。
20、寻址方式有哪些
直接寻址,间接寻址,寄存器寻址,寄存器间接寻址,立即寻址,隐含寻址
基址寻址,变址寻址,相对寻址
21、存储原理有哪些
DRAM:一般是主存从这个
SRAM:一般是cache
22、本科有哪些项目,获得过什么奖
23、解释原语
由若干条机器指令组成的,已完成特定功能的一段程序,为保证其正确性,其应当是原子操作,是一个不可分割的操作;
24、如果原语的原子性被破坏,会发生什么
借助原子操作可以实现互斥锁,如果原子性被破坏,如果多个CPU运行的多个进程在同时对同一块内存执行这个指令, 那情况是无法预测的.
25、滑动窗口协议、后退N帧协议
滑动窗口协议:后退N帧协议,以及选择重传
26、人脸识别用什么技术
人脸检测
人脸配准是定位出人脸上五官关键点坐标的一项技术
人脸属性识别(Face Attribute):是识别出人脸的性别、年龄、姿态、表情等属性值的一项技术
人脸提特征(Face Feature Extraction):是将一张人脸图像转化为一串固定长度的数值的过程
人脸比对(Face Compare):是衡量两个人脸之间相似度的算法
人脸验证(Face Verification):是判定两个人脸图是否为同一人的算法
人脸识别(Face Recognition):是识别出输入人脸图对应身份的算法
人脸检索:是查找和输入人脸相似的人脸序列的算法
人脸聚类(Face Cluster):是将一个集合内的人脸根据身份进行分组的算法
人脸活体(Face Liveness):是判断人脸图像是来自真人还是来自攻击假体(照片、视频等)的方法
27、阐述大数定律
大数定理简单来说,指得是某个随机事件在单次试验中可能发生也可能不发生,但在大量重复实验中往往呈现出明显的规律性,即该随机事件发生的频率会向某个常数值收敛,该常数值即为该事件发生的概率。
另一种表达方式为当样本数据无限大时,样本均值趋于总体均值。
因为现实生活中,我们无法进行无穷多次试验,也很难估计出总体的参数。
大数定律告诉我们能用频率近似代替概率;能用样本均值近似代替总体均值。
28、解释一下设备独立性
就是用户编程时指定的是逻辑上的设备,不是实际的物理设备
29、什么是上溢和下溢
正加正是负数产生上溢,负数加负数是正数产生下溢,
30、冯诺依曼五大部件是什么?目前哪个最有发展空间
31、神经网络中的激活函数是什么
32、什么是信息隐藏(因为我是软件跨考所以问了)
信息隐藏:确保宿主信息中隐藏的秘密信息不被改变或消除,从而在必要的时候提供有效的证明信息;信息伪装掩盖通信的存在。
信息隐藏是指将秘密信息隐藏于可公开的媒体信息中,使人们凭直观的视觉和听觉难以察觉其存在的技术。
33、过度拟合有什么解决办法
增加数据量
运用正规化
减少特征数
34、蒙特卡洛求不规则图形面积
计算落在不规则图形中的点数,就是这个不规则图形的面积
35、解释一下什么是二叉树,如何遍历
36、解释深拷贝和浅拷贝
浅拷贝:只是拷贝了源对象的地址,所以源对象的任何值发生改变时,拷贝对象的值也会随之而发生变化
深拷贝:则是拷贝了源对象的所有值而不是地址,所以即使源对象的值发生任何变化时,拷贝对象的值也不会改变
37、觉得手机可以替代电脑吗,为什么
38、线程管程协程的区别
线程一定是在进程内部进行活动的,并且每一个线程都拥有一个独立的计数器、进程栈和一组进程寄存器。强调一点,进程调度的对象是线程,而不是进程。
协程协程是一种用户态的轻量级线程。协程的调度由用户控制,**拥有自己独立的寄存器上下文和栈。**协程的切换效率比线程还要高!
- 线程程是由CPU调度,而协程是由用户调度
- 线程存在安全问题,协程比线程较安全
- 线程使用同步机制,协程使用异步机制
管程:利用共享数据结构抽象的表示系统中的共享数据资源,以及对该数据结构进行的一系列过程,共同组成资源管理程序,叫做管程;
!!!管程实际上是定义的一种数据结构和控制进程的一些操作的集合。
39、数据库的完整性有哪些参照完整性是如何实现的(什么是数据库的数据完整性?有哪些数据完整性约束?)
数据完整性 - 知乎 (zhihu.com)
数据完整性是指保护数据的正确性、有效性和相容性,防止错误(不符合语义)的数据进入数据库造成无效操作。
实体完整性规则:关系 R的所有元组在主码上的值必须唯一,且主码上的任何属性不能为空值,删除操作不会破坏实体完整性,插入新元组和修改某个(些)元组的主码可能破坏实体完整性
参照完整性规则:如果属性集 FK是关系 R的外码,且参照关系 S的主码 Ks,则 R的任何元组在 FK上的值或者等于 S的某个元组在主码 Ks上的值,或者为空值
用户定义的完整性:每个属性都必须在一个值域上取值
40、K均值的K指的是啥(回答了adaboost,问了adaboost的弱分类器,以及如何实现多分类)
k-means算法:K是能够分为几类
1)先定义总共有多少个簇/类,这里K是指的种子点,即有多少簇
K值很重要,K-Means++算法原理就是将K的值 ++ 一个一个试K的值
2)将每个簇心随机的定在一个点上
3)将每个数据点关联到距离最近的簇心所属的簇上
4)对于每一个簇找到其所关联点的中心位置(取每一个点坐标的平均值)
5)将上述中心变为新的簇心
6)不通重复,直到每个簇所拥有的点不在变化
41、拥塞控制和流量控制的区别,举例说明这两种控制
42、偏序
小于等于关系
偏序是在集合 P 上的二元关系 ≤,它是自反的、反对称的、和传递的,就是说,对于所有 P 中的 a, b 和 c
• a ≤ a (自反性);
• 如果 a ≤ b 且 b ≤ a 则 a = b (反对称性);
• 如果 a ≤ b 且 b ≤ c 则 a ≤ c (传递性)。
设A是一个非空集,P是A上的一个关系,若关系P是自反的、反对称的、和传递的,则称P是集合A上的偏序关系。(#add和等价的区别在于反对称)
即P适合下列条件:
(1)对任意的a∈A,(a,a)∈P;
(2)若(a,b)∈P且(b,a)∈P,则a=b;
(3)若(a,b)∈P,(b,c)∈P,则(a,c)∈P,则称P是A上的一个偏序关系。带偏序关系的集合A称为偏序集或半序集。
43、右线性文法
44、排序算法知道哪些
45、电商产品利润最大用哪种排序算法,如何实现
可以使用快速排序,数据量越大性能优越性更加明显
46、拉普拉斯,贝叶斯
贝叶斯:首先发生Ai(i=1,2,3….)事件,再发生B事件,全概率公式是指的通过Ai事件发生B事件,即发生B事件概率的总和,
发生Ai事件后在发生B事件概率为P(Ai)*P(B|Ai),
所以P(B)= P(A1)*P(B|A1)+ P(A2)*P(B|A2)+……
而贝叶斯公式是指的B事件是由Ai事件引发的概率!!
即已知B事件发生,但是求是通过Ai发生的概率,所以
贝叶斯公式即:P(Ai|B)=[P(B|Ai)*P(Ai)]/P(B);
其中Ai是类别,P(Ai)表示的是每种类别的概率,而P(B|Ai)表示条件概率,表示在某类的前提下发生某事的概率,P(Ai|B)表示后验概率,表示某事B已经发生,它属于哪一类的概率,后验概率越大,属于某一类的概率越大
通过Ai事件发生B的概率,除以通过所有事件发生B的概率,就是B事件是由Ai引发的概率;使用贝叶斯分类时,看哪一个P(Ai|B)最高,那一个高,属于那一类的可能性越大
贝叶斯定理:给定X的情况下出现H的概率p(H|X)=[P(X|H)*P(H)]/P(X);
朴素贝叶斯分类法:就是确定事情是属于哪一类,就计算事情在X类下出现的概率,在Y类下出现的概率,哪一个最高,就属于那一类
47、两个集合3个元素,4个元素,并之后有几个元素
48、二叉树后序非递归遍历
void PostOrder(BiTree){ // 全篇❤
InitStack(s);
BiTree *p=T,*r=NULL; // r标记最近访问过的结点
while(p!=NULL || !IsEmpty(s)){
if(p!=NULL){
push(s,p); // 一直向左走,左孩子入栈
p=p->lchild;
}
else{
GetTop(s,p);
// 获取s的栈顶元素赋值给p
// GetTop(s,p)意思就是判断栈顶元素的情况
//❤case one❤
if(p->rchild && p->rchild!=r){
// 若右孩子存在且未被访问
p=p->rchild; // 就让右孩子
push(s,p) // 入栈
p=p->lchild; // 让右孩子向左
//上面三句意思就是让右孩子的左孩子一直入栈,一直向左走
}
// ❤case two❤
else{
pop(s,p); // 右孩子为空或未被访问过,就出栈
visit(p->data);
r=p; // r标记最近访问结点
p=NULL; // r置空
// 置空原因:因为这个结点已经出栈了
//继续指向就没必要了,置空后r不标记任何结点
}
}
}
}
49、存储器结构
存储矩阵:由大量相同的存储单元组成;(存储单元:一个字长:可能是8个DRAM也可能是SRAM)
译码驱动器:将地址总线的信号翻译成对应存储单元的选通信号
50、优先级算法
51、cache的作用
Cache是介于CPU与主内存之间、或者主内存与磁盘之间的高速缓冲器,其作用是解决系统中数据读写速度不匹配的问题。
52、http和https?什么的区别
为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL/TLS协议,SSL/TLS依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。HTTPS协议可以理解为HTTP协议的升级,就是在HTTP的基础上增加了数据加密。在数据进行传输之前,对数据进行加密,然后再发送到服务器。这样,就算数据被第三者所截获,但是由于数据是加密的,所以你的个人信息仍然是安全的。这就是HTTP和HTTPS的最大区别。
53、本专业和计算机可以怎么结合。
54、参数估计和假设检验的联系与区别是什么?
参数估计就是用样本统计量去估计总体的参数的真值,它的方法有点估计和区间估计两种。
点估计就是直接以样本统计量直接作为相应总体参数的估计值。点估计的缺陷是没法给出估计的可靠性,也没法说出点估计值与总体参数真实值接近的程度。
区间估计是在点估计的基础上给出总体参数估计的一个估计区间,该区间是由样本统计量加减允许误差(极限误差)得到的。在区间估计中,由样本统计量构造出的总体参数在一定置信水平下的估计区间称为置信区间。
假设检验假是根据样本统计量来检验对总体参数的先验假设是否成立,是推断统计的另一项重要内容,它与参数估计类似,但角度不同,参数估计是利用样本信息推断未知的总体参数,而假设检验则是先对总体参数提出一个假设值,然后利用样本信息判断这一假设是否成立。
55、矩阵秩几何意义
56、n维列向量和n维行向量乘机
57、n维列向量和m维行向量
58、银行家算法
59、ipv4和ipv6的区别
60、两种混合储存需求分析
61、数据库的数据模型
1.数据模型的基本概念
(1)数据模型就是对现实世界事物的抽象。
(2)数据库中的模型要满足三个条件:
①能比较真实的模拟出现实世界
②容易被人所理解
③在计算机系统上容易实现
(3)数据模型是数据库的核心和基础
2.分类
(1)概念模型
概念模型也被称作信息模型,它是按照用户的观点来对数据和信息建模,用于数据库的设计。(现实世界到概念模型这部分工作由数据库设计人员来进行完成)
(2)逻辑模型
逻辑模型主要包括层次模型,网状模型,关系模型,面向对象数据模型。它是按照计算机系统的观点来对数据建模,用于DBMS实现(概念模型到逻辑模型这部分也是由数据库设计人员完成,可能会用到一些数据库设计工具)
(3)物理模型
物理模型是对数据最底层的抽象,描述数据在磁盘上的存取和表示方式(逻辑模型到物理模型这部分是由DBMS完成)
62、常见算法
63、sql注入
简而言之,SQL 注入就是在用户输入的字符串中加入 SQL 语句,如果在设计不良的程序中忽略了检查,那么这些注入进去的 SQL 语句就会被数据库服务器误认为是正常的 SQL 语句而运行,攻击者就可以执行计划外的命令或访问未被授权的数据。
主要原因是程序对用户输入数据的合法性没有判断和处理,导致攻击者可以在 Web 应用程序中事先定义好的 SQL 语句中添加额外的 SQL 语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步获取到数据信息。
64、递归优缺点
优点:
- 简洁
2.在树的前序,中序,后序遍历算法中,递归的实现明显要比循环简单得多。
缺点:
1.递归由于是函数调用自身,而函数调用是有时间和空间的消耗的:每一次函数调用,都需要在内存栈中分配空间以保存参数、返回地址以及临时变量,而往栈中压入数据和弹出数据都需要时间。->效率
2.递归中很多计算都是重复的,由于其本质是把一个问题分解成两个或者多个小问题,多个小问题存在相互重叠的部分,则存在重复计算,如fibonacci斐波那契数列的递归实现。->效率
3.调用栈可能会溢出,其实每一次函数调用会在内存栈中分配空间,而每个进程的栈的容量是有限的,当调用的层次太多时,就会超出栈的容量,从而导致栈溢出。->性能
65.模拟退火算法?以及与梯度下降算法的区别?
模拟退火算法:
通过多次迭代,逼近函数上的一个最值(是近似值)
过程也是类似梯度下降:
1)给定初值
2)每次循环趋近一次,会有一个降温系数
3)直到温度到达给定值,最小或最大只,就可以退出了
可以对比 梯度下降算法 去理解模拟退火算法(这里引入的梯度下降博客文章介绍不是太生动,有问题的话可以直接问百度~~ )。梯度下降法和模拟退火算法都是求最优解的方法,但它们也有所不同。利用一阶导数去求极值的梯度下降法,可以求得局部最优解,但不能直接搜索到全局最优解;由于退火算法加入候选解,候选解由一定的概率密度分布从解空间随机采样获得,故可以取到全局最优解。
梯度下降法可能会根据初值的不同求得的解不是最优的而是局部最优,而且特征值随着变化率(对特征值求导,向下降的方向走)下降,特征值每次都比上一次的好,是不会像退火算法一样,根据概率选择是否更新降温后得到的比我还差的值,这样式为了避免局部最优;也就是说当退火算法到达局部最优解时,再次更新时发现得到的值不如原来的值,(在梯度下降中,是不会在继续了),会以一定的概率选择更新,即跳出这个坑
更新概率:
退火步长即降温系数,太大->退火太快,达到局部最优值就会结束迭代
太小->迭代次数增多,时间开销大
一般是初期较大,随着退火进行,变小
初始温度的选择上,温度选择的越高,那么高质量的解就越多
66.蚁群算法
算法步骤:正反馈机制
1)随机产生蚂蚁位置;
2)蚂蚁释放信息素
3)蚂蚁向信息素浓度高的的位置移动
4)信息素浓度衰减
5)返回步骤2
如果迭代次数过少,可能还没有选择到最优路径,容易陷到局部最优解
如果迭代次数过多,计算时间就会过长
蚂蚁数量如果过多,每条路径上的信息素都趋于平均,正反馈作用得到减弱,收敛速度会减慢
如果蚂蚁数量过少,可能会导致一些没有搜索过的信息素浓度为0,导致过早收敛,解可能不是全局最优解;
如果信息素浓度过大,可能会是蚁群的搜索范围减小,导致过早的收敛,会致使一群陷入局部最优解
如果信息素浓度过小,导致每条路上的信息素浓度都差别较小,容易陷入混沌状态;
67.遗传算法:
假设针对当前问题的最优解是由多个要素组成的,种群中的个体包含一些最优解所需要的要素,不断地选择交叉突变,将这些要素传递给下一个解,可能会将它们与其它最优解的要素结合起来,不断地迭代,越来越多的个体包含构成最优解的要素,
选择,交叉,变异
每次都要计算每个个体的适应度,要定义适应度函数,以及染色体函数,染色体上面的基因;
选择:确定种群中那些个体用于繁衍下一代,一般具有适应度较高值的个体可能被选中,适应度较低的个体也有可能被选中,只是概率比较低
交叉:产生新的解时,这个解是从父母的基因重组得到的,一般是,交换部分染色体
突变:对个体的基因进行随机的变化,要定义变异算子
可以设置迭代次数结束循环,也可以通过过去几代,个体没有较大改进,这可以通过存储每一代获得的最佳适应度值,然后将当前的最佳值与预定的几代之前获得的最佳值进行比较来实现。如果差异小于某个阈值,则算法可以停止。包含最优解要素非常少的个体,即适应度最低的个体,会进行淘汰出繁衍池,不断地留下适应度高的个体,然后进行选择交叉变异,然后淘汰,最后个体包含的最优解的要素会越来越多;
与梯度下降的区别:
1)遗传搜索是针对一组候选解决方案(individuals)而不是单个候选方案进行的。在搜索过程中,算法会保留当前一代的一组个体。遗传算法的每次迭代都会创建下一代个体。
相反,大多数其他搜索算法都维持单个解决方案,并迭代地修改它以寻找最佳解决方案。例如,梯度下降算法沿当前最陡下降方向迭代移动当前解,梯度方向为给定函数的梯度的负数
2)尽管许多传统算法本质上是确定性的,但是遗传算法用来从一代产生下一代的规则是概率性的。例如,选择的个体将被用来创建下一代,选择个体的概率随着个体的适应度得分增加,但仍有可能选择一个得分较低的个体。尽管此过程具有概率性,但基于遗传算法的搜索并不是随机的;取而代之的是,它利用随机将搜索引向搜索空间中有更好机会改善结果的区域。
优点
无法保证全局最优,但全局最优的可能性大
在许多情况下,优化问题具有局部最大值和最小值。这些值代表的解比周围的解要好,但并不是最佳的解。遗传算法更有可能找到全局最大值。这是由于使用了一组候选解,而不是一个候选解,而且在许多情况下,交叉和变异操作将导致候选解与之前的解有所不同。只要设法维持种群的多样性并避免过早趋同(premature convergence),就可能产生全局最优解
67、行列混合存储数据库,需求分析
有两个存储模式,在存储时指定表是按照什么存储的,在读取时,根据其选择的方法进行读取,在传统行式关系数据库系统的存储层加一个列式,构成混合存储引擎存储模块,数据过多,列式存储行式存储无法满足
基于行式存储的数据库中, 数据是按照行数据为基础逻辑存储单元进行存储的, 一行中的数据在存储介质中以连续存储形式存在。数据的完整性可以确定(正确性,有效性,相容性),写入上占很大优势(因为列存储需要把一行一行记录拆成单列保存,即一个元祖。列存储要很多次,航存储只一次就好),数据修改占优势,但在读取时特定列数据时,会存在冗余
基于列式存储的数据库中, 数据是按照列为基础的逻辑存储单元进行存储的,一列中的数据在存储介质中以连续存储形式存在。读取过程中不存在冗余,便于数据压缩
列存储的每一列数据类型是同质的,不存在二义性问题。比如说某列数据类型为整型(int),那么它的数据集合一定是整型数据。这种情况使数据解析变得十分容易。
行存储则要复杂得多,因为在一行记录中保存了多种类型的数据,数据解析需要在多种数据类型之间频繁转换,这个操作很消耗CPU,增加了解析的时间。所以,列存储的解析过程更有利于分析大数据。
68、存储的方式有几种,各自的优劣性,三种常见存储方式DAS\NAS\SAN
DAS:直连存储,与服务器主机之间的连通采用scsi,但是scsi ID资源有限,建立的SCSI通道连接有限,
NAS:网络附加存储,即插即用支持多平台,但是备份过程中的宽带消耗
SAN:存储区域网络,将存储和服务器隔离,简化了存储管理,能够统一的管理各种资源,降低了文件冗余,存储更高效,屏蔽系统的硬件,可以采用不同厂商的存储设备;但是跨平台性不如NAS,价格偏高,搭建SAN比在服务器后端安装NAS要复杂的多。
大块连续IO密集的环境:SAN
高并发随机小块IO或共享访问文件的环境:NAS
CPU密集的环境:NAS
总结:DAS存储一般应用在中小企业,与计算机采用直连方式,SAN存储使用FC接口,供性能更佳的存储,NAS存储则通过以太网添加到计算机上,SAN和NAS的区别主要体现在操作系统在什么位置。
69、物理文件是什么、其存储结构
主要数据文件
次要数据文件
日志文件:
1. 错误日志文件(error log):记录的是MySQL异常,或则MySQL链接有误
2. 二进制日志(binarg log):用于数据恢复、数据库的主从配置3. 事务日志(rado undo log):事务的开启会存储到rado log日志以及撤销日志 undo log,稍后会刷入磁盘中4. 慢查询日志(slow query log):可用于查询项目中的哪些sql语句查询较慢。5. 查询日志(query log):用于查询缓慢的语句日志
70、什么是DDOS、怎么防范DDOS攻击
DDoS攻击,英文全称Distributed Denial of Service,也叫分布式拒绝服务攻击。
指处于不同位置的攻击者同时向一个或多个目标发起网络攻击。让被攻击目标无法提供正常的网络服务,甚至是直接从互联网消失。由于攻击的发出点是分布在不同位置的,所以这类攻击称为分布式拒绝服务攻击。
攻击方式:流量攻击,针对服务器主机进行攻击(大量攻击包占用主机内存,CPU被内核及应用程序占满,无法提供正常服务)
判别:许多待建立的TCP请求连接,流量异常,源地址为假,ping超时,丢包严重,网络中大量无用数据包
防范措施:
扩充服务器带宽、使用硬件防火墙、选用高性能设备、负载均衡、CND流量清洗、筛查系统漏洞、限定特定流量、选购高防服务器
71、数据挖掘有什么应用
数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的实际数据中,提取出蕴涵在其中的,人们事先不知道的,但是具有潜在有用性的信息和知识的过程。数据挖掘的结果并不要求是完全准确的知识,而是发现一种大的趋势。
功能:分类、聚类(对这些类里面有大概整合)、关联规则、预测、偏差的检测
应用:金融行业(客户划分,欺诈发现,客户信用计分,客户流失性分析,背景分析),零售业(促销活动的有效性分析,顾客保持力,产品推销和产品交叉推动)、电信业的数据挖掘、生物学数据分析
72、机器人的定义是什么?人工智能是什么?
机器人是一种自动化的机器,所不同的是这种机器具备一些与人或生物相似的智能能力,如 感知能力、规划能力、动作能力和协同能力,是一种具有高度灵活性的自动化机器。
人工智能(Artificial Intelligence):它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
73、人工智能的避障算法是什么?
人工势场法避障控制法:建立机器人工作空间中的虚拟势场,按照虚拟势场力方向,实现局部路 径规划
模糊逻辑控制避障控制法:在模糊逻辑控制避障法中,模糊控制规则是模糊控制的核心。
人工神经网络避障控制法:是由许多单元(又称神经元),按照一定的拓扑结构相互连接而成的 一种具有并行计算能力的网络系统,它具有较强的非线性拟合能力和多 输入 多输出同时处理的能力。
栅格法避障控制法:赋予每个栅格一个通行因子后,路径规划问题就变成在栅格网上寻求两个栅 格节点间的最优路径问题
声波避障控制法:声波避障行为能够实时监测长距离超声波传感器,为机器人搜索开阔路径。
74、解释机器学习?
机器学习本质就是调整机器学习中神经网络中各层的神经元的各种参数和偏置(这个参数是指的,比如说第一层收到的图片转化为各个像素点,第二层的神经元通过不同的参数和偏置,对不同的像素点有不同的比重,来识别自己要识别的位置,可以写成Aa+b=B这个A是该层各神经元的参数,b是偏置,x是上一层的数据,B是提供给下一层的数据),不断调整参数,使得检测的结果更加准确,所以需要大量的数据,来不断地调整每一层的参数,而不是人为的去调整
机器学习的三要素
数据、算法、模型
机器学习研究的是从数据中通过选取合适的算法,自动的归纳逻辑或规则,并根据这个归纳的结果(模型)与新数据来进行预测。
通过对大量的数据进行训练(通过各种算法技术),然后对这些数据进行分类,得到一个模型,然后新数据根据这个模型就可以进行一定的分类
人工智能>机器学习>深度学习
人工智能:是研究、开发用于模拟、延伸和扩展人的智能的理论、方法及应用系统的一门新的技术科学。
机器学习:专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。是人工智能的核心研究领域之一。
深度学习:源于人工神经网络的研究,多层感知器就是一种深度学习结构。深度学习是机器学习研究中的一个新的领域,它模仿人脑的机制来解释数据,例如图像,声音和文本。
75、人脸识别用什么技术?
76、为什么要有泰勒展开公式?对计算机科学的意义是什么?
当对一个不是多项式的函数,例如sin cos tan这些函数,想要求解一些值时,很困难,所以用多项式来等效替换这些非多项式,通过图片可知,两个图像若要相等,必须一阶导,二阶导、三阶导……都要相等…….
两条曲线想要一样,那么在某一点的一阶导数,二阶导数,三阶导数,四阶导数…n阶导数也相同,就说这两条曲线是相同的。也就是泰勒展开式的核心思想
计算机无法对三角函数,对数函数,直接计算,而泰勒公式可以将所有的复杂函数转化为简单的加减乘除的近似运算,从而利用计算机进行计算,减少了人工计算的复杂度,进而在物理,化学,材料,航天…等工程领域广泛应用。
77、复变函数中的卷积公式?
78、特征值是什么?
79、双聚类启发式搜索K均值聚类
80、人脸对比的时候,对比的是哪些信息?图像处理的项目里你觉得有哪些模块?
人脸检测:识别人脸,获取图片中的人脸,找到人脸·后将人脸提取出来,在人脸检测过程中,需要将人脸的重要特征点提取出来
人脸对齐:会根据上一步检测到的特征点进行旋转,平移等操作,将人脸旋转到正面,左右对称便于计算;
人脸特征向量提取:将对齐后的特征进行人脸特征提取,转化后的数字就叫做人脸特征向量,
人脸匹配:在人脸数据库中进行匹配,可以看成一个二维平面,当检测到的人脸与某一人脸距离很近且小于某一特征值时,就是匹配成功,这种对比的就是
提取的人脸图像的特征数据与数据库中存储的特征模板进行搜索匹配,通过设定一个阈值,当相似度超过这一阈值,则把匹配得到的结果输出。即待识别人脸的特征值与已得到的人脸特征末班进行比较
81、计算机视觉得看法?
计算机视觉是一门研究如何使机器"看"的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。
计算机视觉一般涉及到图像分类、物体检测、图像分割和视频分类。
比如人脸识别,智能汽车(检测交通信号,灯光等),对象检测(对图片中的对象进行分辨,划分,并标记)
82、单片机为啥叫单片机?
单片机芯片把CPU、数据存储器(RAM)、程序存储器(ROM)、(并行I/O,串行I/O,定时器/计时器、中断系统,系统时钟电路,系统总线)总线系统都集成到了一个芯片上。单片微型计算机,无操作系统
其中系统总线分为:
地址总线:
控制总线:
数据总线:
看门狗:当单片机应用系统受到干扰时,可能会引起程序死循环,跑飞,这样可以通过人为的rest复位,使程序从头执行,但如果操作人员不在场时,就可以使用看门狗技术。看门狗技术是通过设置一个定时器,不断地计数,来监视程序的运行,当启动运行后,为了防止不必要的溢出(当程序不断地执行,超过定时器设置的数量限制),引起程序非正常复位,那么就要定期的给定时器清0(喂狗),当程序出现死循环或者跑飞时,程序就无法正常的运行程序使定时器清0,那么当看门狗定时器计满时,会溢出,然后给单片机上的rst引脚发送一个正脉冲信号,使得单片机复位,摆脱跑飞状态,从而恢复正常状态;
83、单片机的引导过程
单片机的启动过程是加电后,先运行芯片内部固有程序(这个程序是用户访问不到也改写不了的),即启动代码。启动代码程序建立完运行环境后,会去读串口状态,就是用户下载程序用到的各个端口,判断用户是否正在使用端口准备下载程序,如果是,就按用户要求,把用户程序下载到指定地址上。如果不是,就跳转到已经下载过的用户程序入口,从而把芯片控制权交给用户程序。如果是新的芯片还没有下载过,那么就停留在读取串口状态的循环中。
启动时:
初始化8051硬件堆栈的大小和堆栈指针;
初始化中断向量表,分配每个中断的入口地址和中断服务函数;
初始化内部RAM空间,即DATA/IDATA,将内容清零;
初始化外部RAM空间,即XDATA/PDATA,将内容清零;
初始化SMALL/COMPACT/LARGE模式下reentrant函数使用的堆栈指针;
调用main()函数,去执行我们编写的代码。
84、PLC与FPGA的中文名称?
PLC:可编程逻辑控制器,用于自动化控制的数字逻辑控制器,可以将控制指令随时加载存储器内存储与运行,可接收(输入)及发送(输出)多种类型的电气或电子信号,并使用他们来控制或监督几乎所有种类的机械与电气系统。
组成:输入,输出,CPU,指令及数据存储器等
FPGA:现场可编程逻辑门阵列,可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。
85、模电有关电压的考察
86、模电分析法应该先分析直流还是交流,为什么?如何进行分析?
87、RFID?
物联网的三层架构:
应用层,网络层,感知层(传感器,RFID,多媒体信息,二维条码)
RFID:无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。
有两部分组成:Reader,Transponder
Reader:向Transponder发送特定频率的无线电波,驱动Transponder将内部的IDCode发送出来,然后Reader接受此ID(阅读器)
Transponder:免电池,面接触,安全性高,寿命长;(电子标签)
RFID中间件:位于硬件操作系统与应用程序之间;独立于RFID读写器与应用程序之间,减轻架构与维护的复杂性,将搜集到的数据整合过滤,将正确的信息传递给后端应用系统
88、三八编译器的设计原理
3为输入,三位二进制数,最大111–8
8为输出,输入为1时,输出为00000001
输入为5时,输出为00010000
89、放大器的设计原理
有两个输入端口(同相输入端+,反向输出端-),一个输出端口,以及两个电源(为器件供电),产生的输出电压范围在这两个供电端电压范围之间;(电流流向只有从一个供电端流向输出端,或从一个输出端流向另一个供电端,但输入端只能输入信号)
放大器将两个输入端的信号相减(同相输入端-反向输出端),放大器会将这个差值乘以一个非常大的数值,输出这个值,即如果同相输入端小于同向输入端时,输出端会输出他能产生的最大负电压,反之,输出电压等于他能产生的最大正电压;
虚短:是指在分析运算放大器处于线性状态时,可把两输入端视为等电位(两端电压不为0,但电压相等),这一特性称为虚假短路,简称虚短。显然不能将两输入端真正短路。
“虚断”是指在分析运放处于线性状态时,可以把两输入端视为等效开路(两端电压都为0),这一特性 称为虚假开路,简称虚断。显然不能将两输入端真正断路。
反相放大器
此时加一个反馈电路,同相输入端接地,反向输入端接input。输出端连接到反向输入端(提供负反馈机制),当同相输入端的电压小于反向输入端的电压时,输出端会输出一个很大的负电压,此时这个负电压会通过反馈电路加到反向输入端口上,然后这个反向输入端口的电压值就会降低,而此时的同相输入端口小于反向输入端口的电压值,所以反向输入端口的电压值一直降低到与同相输入端口的电压值相等时,即同相输入与反向输入差为0,输出端的电压为0;但是!!!!从input端数过来的电压,就不经过放大器output了,而经过反馈电路到output;
当同相输入为0时,即v-也会为0,所以电流不会经过放大器
I1=I2 (Vi-V-)/R1=I1;
(V- -Vout)/R2=I1=I2 ; Vout=(-R2/R1)*Vi
V-=0;
同相放大器:
Vi = IR2 ……c 由abc式得Vout=Vi(R1+R2)/R2 这就是传说中的同向放大器的公式了。
电流可以
输入阻抗无穷大,输出阻抗几乎为0
放大输入信号
90、嵌入式系统的计数器/定时器如何使用
规范来讲:从某一时刻开始,经过一段指定时间,触发一个中断或者超时回调事件,可以再中断或者超时回调函数中处理数据
在嵌入式中,定时器的实现原理是,他从某个数开始数,一直数到上限(如65535),到65536的时候定时器溢出,进行一次操作,而我们给的0x4bfc是定时器的起始值,也就是说定时器将从这个值开始数,一直数到65535,中间所耗费的时间就是50ms。
每当计时器溢出时,就会执行特定的函数(可以自己指定),但是溢出后如果不重新设定值的话,会重新开始从0开始计数;
每一个机器周期计时一次
硬件计时器(SysTick,RTC)+软件计时器
硬件计时器:不占用CPU,精度高,反应速度快,不会被其他线程打断,但是要协调好中断之间的优先级,需要硬件资源支撑,外部晶振提供芯片输入时钟,到达设定时间值以后,会产生时钟中断。
软件延时器:利用指令执行的时间达到定时的目的,一般是利用循环执行一段指令占用CPU的资源实现延时, 不需占用硬件资源,代码实现比较简单,但是占用CPU, 其他程序不能同时执行,大量使用软件延时会导致系统实时性变差,精度低,实时性低,
软件定时器:是在建立硬件定时器基础之上,使用SysTick作为基础时钟,系统能够提供不受数目限制的定时器服务;使用线程实现,不是中断实现,会被高线程打断,精度低,不收硬件资源的限制
硬件定时器是触发中断,软件定时器是触发用户定义的超时函数;
硬件定时器的上下文环境是中断,软件定时器的上下文环境是线程;
硬件定时器需要硬件支持,且不同的硬件定时器之前资源互相独立,适用于精度要求高的场景,但是一般定时器数量有限制,比如有多个定时任务时可能需要多个硬件定时器资源;
软件定时器基于硬件定时器构建,但是只是需要硬件定时器提供基础时钟,一般软件定时器的数量不受硬件资源限制,但是软件定时器线程可能会被高优先级线程打断导致精度不高;
无论硬件定时器还是软件定时器,中断或超时回调函数都需要快进快出,超时函数中不能出现阻塞线程的情况
91、小信号与大信号的区别
自己理解的,可能会有错,但大概应该是这样吧
大信号与小信号,其实是大信号图解分析法,以及小信号图解分析法
其中大信号是当输入幅值变化很大时,就会导致放大器可能会工作在饱和区,产生失真,这个时候就要用大信号图解分析法,即区别管理工作在哪个区域
小信号是当输入幅值变化很小时,使用大信号图解分析法就会不太精确,这时使用小信号图解分析法,即小信号是确定放大器工作在某个区域的微小变化
92、8255如何使用
3个八位并行I/O口,具有3个通道3种工作方式的可编程并行接口芯片(40引脚),作为主机与外设连接芯片,有三个总线接口:数据线,地址线,控制线
组成:数据总线缓冲、读写控制逻辑部件、A/B两组逻辑控制电路、数据端口A/B/C
数据总线D0—D7与CPU相连
地址总线A0,A1用于选择输出的ABC口
控制总线RD,WR,CS,RESET
RESET:复位,高电平时,所有内部寄存器状态被清除,所有i/o(A/B/C)都设置为输入方式
CS:芯片选择先,为0时,允许与CPU进行通讯,为1时不允许通信
RD:读信号,输入引脚为低跳变沿时,且CS为0时,允许CPU读数据;8255CPU
WR:写信号,输入引脚为低跳变沿时,且CS为0时,允许CPU写数据;CPU8255
A1,A0:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.
三种工作方式:基本的输入输出、选通输入输出、双向传送方式
93、cpu工作模式
实模式:程序直接访问物理地址,无论是系统程序还是用户程序,不太安全,可能出现用户更改系统程序
保护模式:物理地址不再被应用程序直接访问,使用程序内部地址,即虚地址,然后经过操作系统转化为物理地址再去访问内存
长模式:比保护模式增加了一些寄存器,并且通用寄存器扩展为64位,但是还可以单独使用低32位
94、嵌入式系统和普通的系统区别在哪?
单片机:嵌入式微控制器MCU
嵌入式系统:凡是系统中嵌入了嵌入式微处理器的系统,都叫嵌入式系统,以应用为中心,以计算机技术为基础,软件硬件可裁剪,其针对的用户应用对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
主要包括:嵌入式微处理器+外围硬件设备+嵌入式操作系统+用户应用软件+等
通用操作系统:组成上是通用处理器,标准总线和外设,软硬件相对独立。系统资源丰富,丰富的编译器等开发工具。开发和运行平台都是计算机
嵌入式:组成上是面向特定应用的处理器,总线,外设一般都集成在处理器内部,软硬件紧结合。系统资源紧缺,没有编译器等相关开发工具;开发平台一般是计算机,运行平台一般是嵌入式系统
和单片机相比:
嵌入式系统像是一个完整的计算机,而单片机更像是一个没有外设的计算机,嵌入式是一个大类,单片机是一个重要的子类,单片机越来越接近嵌入式系统,
在软件上:芯片中不带MMU(内存管理单元)从而不支持虚拟地址的叫单片机,带MMU,支持虚拟地址,可以跑高级系统的叫嵌入式;
95、嵌入式系统用什么语言写?什么是嵌入式?
C写
96、会做网线吗?怎么做?网线有几根线组成?那几根不能用?
双绞线:八个芯,两两一组,互相缠绕,一般采用T568A/T568B的标准,但是每个线规定的都是一样的
1、2、3、6就可以实现数据的接受和发送,其中1、2用于发送,3、6用于接收,另外四根4、5、7、8是双向线,消除干扰辅助作用,还有替补
97、嵌入式课程学习了什么?能不能做CPU?
98、组合逻辑电路和时序电路的区别?
组合逻辑电路:输入输出没有延迟,输出只取决于此时的输入,与电路原来状态无关,电路不包括存储记忆单元
时序逻辑电路:输出不仅取决于此时刻的输入,还取决于原来的电路状态(这个状态是通过存储电路又加到输入端的,即反馈电路),电路包括存储记忆单元,由组合逻辑电路+存储电路组成!!!
触发器:RS触发器,JD触发器
RS触发器:R:1 S:0置位Q:1
R:0 S:1复位Q:0
R:1 S:1Q保持(触发器实现电路状态记忆的原因)
R:0 S:0不稳定
时序逻辑电路:同步时序逻辑电路:所有触发器的时钟使用统一的CLK,即状态变化发生在同一 时刻
异步时序逻辑电路:触发器的反转不是同一时刻,有先有后;
99、DMA控制器是主设备还是从设备,什么时候做主设备,8259中断过程
对总线有控制的为主设备
无控制的为从设备,从设备只能相应从主设备发来的各种信号控制命令
当DMA获得主线控制权时
当外设需要进行数据传输时,通过DMA控制器向CPU发出DMA传送请求,CPU相应之后,让出系统总线,DMA接管系统总线(此时DMA成为主设备)
DMA控制器的功能:
1)接受外设的DMA请求,并向CPU发出总线请求
2)CPU相应请求,然后DMA接管总线
3)DMA确定数组在主存中的位置,以及数据大小,然后再数据传送过 程中,自动修改主存地址计数以及数据长度计数
4)规定外设和主存的数据传送方向,发出读写等控制信号
5),向CPU报告DMA操作结束
一般访问主存方式有:停止CPU访存(向CPU发出请求,CPU直接让出)、周期挪用(当I/O,CPU同时请求访问时,I/O优先),DMA、CPU交替访存
100、区块链是什么?
去中心化的一个数据库
去中心化:类似于每个人都有一个副本,是一个共享的不可篡改的账本,
101、蠕虫的定义?蠕虫病毒?
是一种通过网络传播的恶性病毒,不利用文件计生,对网络造成拒绝服务,可以自我复制,完全入侵一台电脑后,会把这台电脑作为宿主,进而扫描感染其他机器
独立程序,不需要宿主程序
传播速度较快
利用漏洞主动攻击
更好的伪装和隐藏方式
技术更加先进
追踪很困难
102、分组密码工作模式?
密码算法可分为两个:分组密码、流密码
分组密码:每次只能处理特定长度的一块数据的一类密码算法,处理完一个分组就结束了,不需要通过内部状态记录加密得进度
流密码:对数据流进行连续处理的一类密码算法,需要保持内部状态
分组密码只能加密固定长度的密码,所以党要加密的明文长度超过分组密码长度时,就需要对分组密码算法进行迭代,从而对一段很长的明文全部加密。迭代方法就叫做分组密码的模式
工作模式有:
ECB:电子密码本
CBC:密码块链接
CFB:密码反馈
OFB:输出反馈
CTR:计数器模式
103、僵尸网络?
采用一种或多种传播方式,是大量主机感染僵尸程序病毒,从而在控制者和被感染主机之间形成一个可以一对多的控制网络;
僵尸物联网:就是通过物联网硬件,向互联网展开大量的DDos攻击
104、物联网安全?
物联网安全主要有几个方面:数据的安全,网络的安全,节点的安全
威胁主要有:
终端面临的威胁:隐私泄露,RFID、二维码的嵌入,使的物联网用户不受控制的被扫描,感知设备暴露在户外,容易遭到物理攻击,篡改仿冒,操作系统或者软件过时,系统漏洞无法及时修复,终端节点介入时需要认证
网络面临的威胁:DOos攻击,网络通信过程中信息劫持、篡改、重放,要保证数据的机密性、完整性、可用性(任何时候都能将信息提供给合法用户),DDos攻击检测
平台面临的威胁:DDos攻击,所管理的设备分散、容易造成设备丢失难以维护,越权访问导致隐私泄露,在系统受到攻击时能够及时处理,恢复,提高环境安全和设备的可靠性,加强数据安全
应用层面临的威胁:数据保护和验证,信息泄露,根据不同的权限对数据进行筛选和处理
总之就是要保证终端设备的安全,比如说标签嵌入,设备破坏,设备假冒、篡改,终端设备被攻击到的时候读到了设备的隐私数据,所以要设备验证,设备被攻击时能够将信息涂抹掉,及时的更新系统和软件,能够识别的敏感错误数据,不进行上传,在信息传输过程中容易被拦截、篡改,所以要保证数据在传输过程中的安全性,
同时,在数据传输过程中,又要保证用户的合法性,把信息提供给合法的用户,防范DDos的攻击,
同时平台管理的谁被分散,范围大,可能会使谁被难以维护,同时要根据用户的不同权限,访问合适的数据,防止越权访问,保护数据的安全性,在系统受到攻击的能够及时的处理恢复,要阻断异常设备的接入,
在应用层方面,要保证用户权限的正确,验证用户的合法性,防止假冒非法用户进行非法访问,对合法用户,要检测权限,防止越权访问;保护用户的隐私,防止隐私泄露,在特殊情况时能够及时的销毁数据
对RFID的攻击:
对路由器的攻击:分布式拒绝服务攻击
对无线传感器网络的攻击:通过截获传感器产生的数据
对通信线路的攻击
对用户及服务器的攻击
105、防止重放攻击的方法?
攻击者利用网络监听或其它方式盗取认证凭据,之后再把它重新发送给认证服务器
可以加随机数(双方记住是通过的随机数,若报文出现过以前使用的随机数,那么就是重放攻击)、加时间戳(双方需要精准同步)、加流水号(只要收到不连续或者重复的流水号,那么就是重复)
106、物联网技术架构?
感知层:识别物体,采集信息
传感器、RFID、多媒体信息采集、,二维码、实时定位技术
网络层:实现信息的传递,分为接入层,汇聚层,核心层
接入层:无线接入和有线接入,无线局域网,M2M通信,–电力线接入,电话线等
汇聚层:也分为无线和有线,技术也是无线局域网,移动通信,MAM通信,有线则为局域 网,现场总线
核心层:IP网,非IP网,虚拟专网
传感器网络、移动通信技术、互联网技术相融合
应用层:提供丰富的基于物联网的应用
中间件技术,海量数据存储和挖掘技术,云计算平台支持
107、对称机密和非对称加密的定义和区别?
密码也叫做密钥,对称是指的加密和解密用的是同一个密码
对称加密:加密和解密都是用的同一个密码,或者同一套逻辑加密方式
过程:发送方使用密钥对明文数据进行加密,接收方使用同一个密钥对密文解密成明文,也就是说服务器向客户机发送数据时,还要将对应的密钥发送给客户机,因为客户机不能直接存储密钥,容易被反编译,就会被泄露,且发送的密钥不能加密
非对称加密:加密和解密使用的是两个不同的密钥,公开密钥,私有秘钥
过称:A将自己的公钥发给服务器,私钥保密,当服务器向A发送消息时,使用A的公钥加密数据,将加密后的密文发送给A,A收到收到数据后,使用自己的私钥进行解密,其他人收到数据以后没有办法解密,因为没有A的私钥
所以相比来说,对称加密中,加密与解密的密钥相同,所以速度快,但是密钥在网络上传输过程中不太安全,非对称加密,使用公有密钥,私有秘钥,安全性搞,但是加密与解密速度较慢
折中的办法是,使用对称密钥进行加密,但是发送对称密钥时使用非对称加密!!
108、its系统有哪些算法?
its:智能交通系统
路径规划,旅行商问题,K-means(当数据量过多,没有办法事先标定类别的训练样本,可以使用该算法进行分析,设定多个数据指标:事故地点,性别,年龄受伤程度,可以发现哪些地区容易发生事故,受伤程度是否与性别有关等),SVM(对收集到的数据进行分类),决策树,图像处理,目标检测算法
109、网络安全中的攻击方式?
SQL注入,DDos,CSRF(使用合法用户身份进行非法操作,主要是盗取用户身份),XSS(在网站漏洞注入一段代码,然后网站访客执行这段代码,代码就会入侵用户账户等)
110、加密算法,解密算法?
111、行列式几何意义?矩阵秩的几何意义
行列式就是行列式中的行向量或者列向量组成的超平面多面体的想想面积或体积
行列式就是线性变化下的图形面积或者体积的伸缩因子
矩阵的秩:极大线性无关组的个数,极大线性无关组,就比如二维空间中有两个线性无关向量,那么这两个向量不共线,组成的四边形面积不为零,三维空间中的有三个线性无关组,那么他们三个向量组成的六面体体积不为0,就同理n个线性无关向量,那么n维空间中的体积不为0;求解秩一般可以进行矩阵初等行变化,非零行数就是矩阵的秩!!变化空间后的维数!!
记住:一般矩阵A是可以表示一个线性变化,对一个空间进行几何变化,但是当|A|为0时,就相当于是把一个二维空间压成一条线,三维空间压成一个面
矩阵的特征值和特征向量:求解特征值的公式是Ax=λx,其中n维列向量x是A的特征向量,λ是A的特征值,其中对于Ax就是相对于对向量x进行了一个线性变化,而变化后的n维列向量的方向和原来一样,只是长度变为原来的λ倍,对于这样的向量x就成为A的特征向量,λ就是对应特征向量的特征值
矩阵的逆
BA=E,那么A,B互为逆矩阵 A^-1=1/(|A|) * A*,
几何上理解,就是A是进行了一个空间上的几何变化,但是A逆就是将这个空间再变回来,所以A*A^-1,就相当于对这个几何空间没有做任何变化
112、傅里叶变换、拉普拉斯变化
傅里叶级数:任何周期函数都可分解成一堆正弦函数与一堆余弦函数
傅里叶级数中将1,sinx、cosx、sin2x、cos2x ………看成空间中的基,且这些基在周期内相互正交,所以可以通过这个原理,求出a0,an,bn
傅里叶级数:在时域是一个周期且连续的函数,在频域是一个非周期离散函数
傅里叶变化:是将一个时域非周期的连续信号,转化为在频域非周期的连续函数,即将一个图形从时域变到频域,如果我们有一个信号是F和G的叠加,可以用傅里叶变化,将这个信号分解为组成他的频率,即F和G,傅里叶变换首先是进行频率分析,讲一个不好分析的信号变为正弦信号
拉普拉斯变换是将函数分解到频率不同,幅值随时间变化的圆上
傅里叶变化就是将函数分解到频率不同,幅值为1的圆的上
离散谱的叠加成了连续谱的累积
113、高斯滤波、采样定理、极大似然估计’
高斯滤波就是可以将低频能量(噪声)过滤掉,起到图像平滑的作用
高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值都是由其本身和周围其他像素点的值经过加权平均后得到的,具体操作就是用一个模板扫描图中的每一个像素,用模板确定领域内像素的加权平均灰度值来代替模板中心的像素点的值的作用
采样定理又称为:香农采样定理、奈奎斯特采样定理
采样频率要大于或等于有效信号最高频率的两倍,采样值就可以包含原始信号的所有信息,被采样信号就可以不失真的还原成原始信号
极大似然函数:根据目前已知结果,反推出来最大概率导致这样结果的参数值,也就是说目前已出的结果,是能出现结果中概率最大的假设为L,而L又是有每一个小事件的概率组成的,所以我们就可以转换成求解L的极大值,即最大概率导致这样结果的参数值
最大似然估计中,估计的参数是一个固定的定值,我们根据目前已知的结果/真实数据,来求解这个固定值
贝叶斯决策中关键在于知道后验概率,问题就集中在求解类条件概率,可以把类条件概率(P(B|Ai))转化为参数进行求解,求解类条件概率难度较低,转化为参数以后只需要对参数进行求解,贝叶斯中的这个类条件概率参数是不固定的未知数,
114、正态分布的要素
正态分布也叫常态分布,又称高斯分布
随机变量X,满足期望为μ,方差为a^2,期望决定位置,方差决定幅度;
三要素:独立、随机、相加
115、梯度
多元函数中,在各个方向上最大的导数值,以及所沿最大导数值方向的矢量就是梯度,梯度的本意是一个向量,表示某一函数在该点处的方向导数沿着该方向取最大值,即函数在该点处沿着该方向变化最快,变化率最大
再补充一点模电知识
不过我还是推荐一个知乎博主
https://zhuanlan.zhihu.com/p/473179412
这上面汇集了模电以及数电的知识点
可以速成一下
大家凑活看叭,我实在是不想整理了
复试完以后实在是不想再整理学过的东西了T_T
差不多就这些了
这是我复试时,准备的所有内容,可以参考一下T-T
各位加油!!!!