网络远程复试
录取总成绩=初试成绩/5×0.65+复试成绩×0.35
复试总成绩=思想政治考核成绩*10%+专业外语水平考核成绩*20%+专业综合能力考核成绩*70
抽十道题,问完之后,如果时间没到25分钟,老师可能随机问问题
下述问题及答案仅供大家参考,题目来源【凤凰考研】
1、政治问的脱贫攻坚的看法
- 脱贫攻坚战的胜利是实现全民共同富裕的基础;
- 脱贫攻坚战的胜利,体现了中国人民不畏艰险、迎难而上的大无畏精神;
- 中国的脱贫攻坚战是尊重和保障人权的重要体现;
2、(英语)介绍一下你的家庭
3、(英语)文献翻译(机器学习相关)
4、基本分页管理与基本分段管理的区别?
- 页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。
- 页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。段的长度却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的性质来划分。
- 分页的作业地址空间是维一的,即单一的线性空间,程序员只须利用一个记忆符,即可表示一地址。分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。
5、栅栏和矢量图的联系与区别
矢量和栅格是地理信息系统中两种主要的空间数据结构。他们的数据来源、结构和格式都不同。我觉得最大不同是,栅格就是一个规则的阵列(matrix),其中各个像元(pix)互不影响;而矢量图是由一些个坐标和由这些坐标组成的线、面、体,他们之间有着密切的关系。
像.bmp图像就是最典型的栅格图形,.jpe等也属于栅格图形。CAD图形就是矢量图
6、HTTP协议两种方法的区别? get和post?
最简单的回答:GET/POST都是TCP链接,本质都是将请求按照键值对的形式发送给服务器,post比get更安全一些;对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据);
1)get参数通过url传递,post放在request body中。
2)get请求在URL中传递参数的长度有限制(根据浏览器不同长度限制也不同),而post没有
3)get比post更不安全,因为参数暴露在URL中
4)get请求只能进行url编码,post支持多种编码方式
5)get 请求会被浏览器主动cache (缓存),post 则不会,除非手动设置
6)get请求会完整保留在浏览历史记录里,而post中的参数不会被保留
7)get和post本质上是TCP连接,并无差别,但是由于http的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同
8)GET产生一个TCP数据包,post产生两个数据包。
7、系统的资源是非剥夺的好还是剥夺的好,为什么
可把系统中的资源分成两类,一类是可剥夺性资源,是指某进程在获得这类资源后,该资源可以再被其他进程或系统剥夺。例如,优先权高的进程可以剥夺优先权低的进程的处理机。又如,内存区可由存储器管理程序把一个进程从一个存储区移到另一个存储区,此即剥夺了该进程原来占有的存储区。甚至可将一个进程从内存调出到外存上。可见,CPU和主存均属于可剥夺性资源。另一类资源是不可剥夺性资源,当系统把这类资源分配给某进程后,再不能强行收回,只能在进程用完后自行释放,如磁带机、打印机等。
8、某个控制电路的控制原理、过程?
9、单精度浮点数与多精度浮点数的区别,你什么时候选单精度,什么时候选双精度?
单精度浮点数(float)与双精度浮点数(double)
(1)在内存中占有的字节数不同
- 单精度浮点数在机内占4个字节
- 双精度浮点数在机内占8个字节
(2)有效数字位数不同
- 单精度浮点数有效数字8位
- 双精度浮点数有效数字16位
(3)所能表示数的范围不同
- 单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38
- 双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308
(4)在程序中处理速度不同
- 一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快
没有说明时,实型常量是作为双精度处理的,若要使用单精度需在后面加上字母f或F,如123.45f;
10、计算机为什么要发展多核?
- 根据Moore定律,集成电路上可容纳的晶体管数量每18个月翻一番,因此CPU上的晶体管数量会越来越多
- 提高运行速度:频率无法无限提升,物理定律无法违背,温度,制程,功耗是制约条件之一
11、递归求斐波那契数列的复杂度、如何降为复杂度为o(n)
改成O(N)
12、调用函数的实现过程
压栈弹栈的问题;浅析函数的调用过程_xy294636185的博客-CSDN博客_函数调用
13、计算机如何实现乘除
14、设计减法器
15、TCP三次握手和四次挥手
TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中,TCP协议提供可靠的连接服务,连接是通过三次握手进行初始化的。三次握手的目的是建立可靠的通信信道,说到通讯,简单来说就是数据的发送与接收,而三次握手最主要的目的就是双方确认自己与对方的发送与接收是正常的。
第一次握手: 建立连接。客户端发送连接请求报文段,将SYN位置为1,Sequence Number为x;然后,客户端进入SYN_SEND状态,等待服务器的确认;
第二次握手: 服务器收到SYN报文段。服务器收到客户端的SYN报文段,需要对这个SYN报文段进行确认,设置Acknowledgment Number为x+1(Sequence Number+1);同时,自己自己还要发送SYN请求信息,将SYN位置为1,Sequence Number为y;服务器端将上述所有信息放到一个报文段(即SYN+ACK报文段)中,一并发送给客户端,此时服务器进入SYN_RECV状态;
第三次握手: 客户端收到服务器的SYN+ACK报文段。然后将Acknowledgment Number设置为y+1,向服务器发送ACK报文段,这个报文段发送完毕以后,客户端和服务器端都进入ESTABLISHED(已建立连接)状态,完成TCP三次握手。
当客户端和服务器通过三次握手建立了TCP连接以后,当数据传送完毕,肯定是要断开TCP连接的啊。那对于TCP的断开连接,这里就有了神秘的“四次分手”。
第一次分手: 主机1(可以是客户端,也可以是服务器端),设置Sequence Number,向主机2发送一个FIN报文段;此时,主机1进入FIN_WAIT_1状态;这表示主机1没有数据要发送给主机2了;
第二次分手: 主机2收到了主机1发送的FIN报文段,向主机1回一个ACK报文段,Acknowledgment Number为Sequence Number加1;主机1进入FIN_WAIT_2状态;主机2告诉主机1,我“同意”你的关闭请求;
第三次分手: 主机2向主机1发送FIN报文段,请求关闭连接,同时主机2进入LAST_ACK状态;
第四次分手: 主机1收到主机2发送的FIN报文段,向主机2发送ACK报文段,然后主机1进入TIME_WAIT状态;主机2收到主机1的ACK报文段以后,就关闭连接;此时,主机1等待2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,主机1也可以关闭连接了。
16、为什么要有激活函数,有哪些激活函数,一个什么算子,矩阵的秩
人工神经网络中为什么会有激活函数,主要的激活函数有哪些? - 知乎
17、死锁的条件
- 互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它进程请求资源,则请求者只能等待,直至占有资源的进程用毕释放
- 请求与保持条件:进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源已被其他进程占有,此时请求进程被阻塞,但对自己已获得的资源保持不放。
- 不可剥夺条件:进程所获得的资源在未使用完毕之前,不能被其他进程强行夺走,即只能 由获得该资源的进程自己来释放(只能是主动释放)。
- 循环等待条件:指在发生死锁时,必然存在一个进程——资源的环形链,即进程集合{P0,P1,P2,···,Pn}中的P0正在等待一个P1占用的资源;P1正在等待P2占用的资源,……,Pn正在等待已被P0占用的资源。若干个进程间形成了首尾相接循环等待资源的情况
政治:建党100周年,中国共产党的历史地位和历史贡献。
英语:
-
为什么选择nwpu
-
对西安这个城市有什么印象
-
文献翻译
专业:
1、二进制乘除法如何用硬件实现
2、词法分析的规则(语法)
- 词法分析阶段是编译过程的第一个阶段。这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构词规则识别单词(也称单词符号或符号)。词法分析程序实现这个任务。词法分析程序可以使用lex等工具自动生成。
- 语法分析是编译过程的一个逻辑阶段。语法分析的任务是在词法分析的基础上将单词序列组合成各类语法短语,如“程序”,“语句”,“表达式”等等.语法分析程序判断源程序在结构上是否正确.源程序的结构由上下文无关文法描述.
3、一段数量极大的数据如何找出出现次数最多的
提取出某日访问百度次数最多的那个IP
此题,在我之前的一篇文章算法里头有所提到,当时给出的方案是:IP的数目还是有限的,最多2^32个,所以可以考虑使用hash将ip直接存入内存,然后进行统计。
再详细介绍下此方案:首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个 IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最大的IP中,找出那个频率最大的IP,即为所求。
4、什么是图灵测试
- 图灵测试一词来源于计算机科学和密码学的先驱阿兰·麦席森·图灵写于1950年的一篇论文《计算机器与智能》。
指测试者与被测试者(一个人和一台机器)隔开的情况下,通过一些装置(如键盘)向被测试者随意提问。进行多次测试后,如果机器让平均每个参与者做出超过30%的误判,那么这台机器就通过了测试,并被认为具有人类智能。
5、寻址方式有哪些
七种寻址方式_u011587070的博客-CSDN博客_寻址方式
七种基本的寻址方式:立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址变址寻址,相对基址变址寻址。其中,后五种寻址方式(即直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址和相对基址变址寻址)属于存储器寻址,用于说明操作数或操作数地址所在存储单元的地址。
6、存储原理有哪些
7、本科有哪些项目,获得过什么奖
8、解释原语
原语是在操作系统中调用核心层子程序的指令。与一般广义指令的区别在于它是不可中断的,而且总是作为一个基本单位出现。它与一般过程的区别在于:它们是“原子操作(primitive or atomic action)”。所谓原子操作,是指一个操作中的所有动作要么全做,要么全不做。换言之,它是一个不可分割的基本单位,因此,在执行过程中不允许被中断。原子操作在管态下执行,常驻内存。原语的作用是为了实现进程的通信和控制,系统对进程的控制如不使用原语,就会造成其状态的不确定性,从而达不到进程控制的目的
9、如果原语的原子性被破坏,会发生什么
10、滑动窗口协议、后退N帧协议
- TCP 利用滑动窗口实现流量控制的机制。
- 滑动窗口(Sliding window)是一种流量控制技术。早期的网络通信中,通信双方不会考虑网络的拥挤情况直接发送数据。由于大家不知道网络拥塞状况,同时发送数据,导致中间节点阻塞掉包,谁也发不了数据,所以就有了滑动窗口机制来解决此问题。
- TCP 中采用滑动窗口来进行传输控制,滑动窗口的大小意味着接收方还有多大的缓冲区可以用于接收数据。发送方可以通过滑动窗口的大小来确定应该发送多少字节的数据。当滑动窗口为 0 时,发送方一般不能再发送数据报,但有两种情况除外,一种情况是可以发送紧急数据,例如,允许用户终止在远端机上的运行进程。另一种情况是发送方可以发送一个 1 字节的数据报来通知接收方重新声明它希望接收的下一字节及发送方的滑动窗口大小。
后退N帧协议(GBN)_你的代码没bug的博客-CSDN博客_后退n帧协议
人脸识别用什么技术
人脸识别是一种基于人的脸部特征信息进行身份认证的生物特征识别技术。它集成了人工智能、机器识别、机器学习、模型理论、视频图像处理等多种专业技术。人脸识别用摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别。
人脸识别主要分四步完成:人脸图像采集及检测、人脸图像预处理、人脸图像特征提取、匹配与识别
阐述大数定律
大数定律说如果统计数据足够大,那么事物出现的频率就能无限接近它的期望值。
拿我们最熟悉的投色子举例,游戏规则是投中1点获得1元,投中2点获得2元,以此类推。
那么,这个事件的期望是多少呢?
显然是:
这个期望3.5代表什么意思呢?
也就是说,只要你一直玩下去,你每次游戏的预期收益是3.5元。可能你某次赢了1元,某一次赢了6元,只要你长期投下去, 你平均下来每次就赢3.5元。
解释一下设备独立性
- 指应用程序中所使用的设备,不局限于使用某个具体的物理设备,也称为设备无关性。
- 为了实现设备独立性,在设备驱动程序之上设置一层软件,称为与 设备无关的I/O软件 或 设备独立性软件。
什么是上溢和下溢
- 上溢是当一个超长的数据进入到缓冲区时,超出部分被写入上级缓冲区
- 下溢是当一个超长的数据进入到缓冲区时,超出部分被写入下级缓冲区
冯诺依曼五大部件是什么?目前哪个最有发展空间
运算器、控制器、存储器、输入设备和输出设备。
冯·诺依曼计算机结构包含 3 条重要的设计思想,具体如下:
- 计算机应由运算器、控制器、存储器、输入设备和输出设备 5 大部分组成。
- 以二进制的形式表示数据和指令。
- 程序预先存入存储器中,计算机在工作中能够自动地从存储器中取出程序指令并加以执行。
运算器,相当于CPU。
神经网络中的激活函数是什么
神经网络中的激活函数_dzysunshine的博客-CSDN博客_神经网络中的激活函数是什么
激活函数: 就是在神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。
如果不用激活函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合。如果使用的话,激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。
常见的激活函数包括
- Sigmoid
- TanHyperbolic(tanh)
- ReLu
- softplus函数
- softmax
什么是信息隐藏(因为我是软件跨考所以问了)
过度拟合有什么解决办法
过拟合、欠拟合及其解决办法 - 深夜十二点三十三 - 博客园
过拟合(overfitting)是指在模型参数拟合过程中的问题,由于训练数据包含抽样误差,训练时,复杂的模型将抽样误差也考虑在内,将抽样误差也进行了很好的拟合。
具体表现就是最终模型在训练集上效果好;在测试集上效果差,模型泛化能力弱;
蒙特卡洛求不规则图形面积
解释一下什么是二叉树,如何遍历
每个节点最多只能有两个子节点的叫二叉树
- 前序遍历, 先输出父节点, 再遍历左子树和右子树
- 中序遍历, 先遍历左子树, 再输出父节点, 再遍历右子树
- 后序遍历, 先遍历左子树, 再遍历右子树, 最后输出父节点
项目相关
解释深拷贝和浅拷贝
浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。但深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象。
觉得手机可以替代电脑吗,为什么
政治是谈一下对脱贫攻坚的看法
英语课问了为啥考研和为啥考西工大
线程管程协程的区别
进程、线程、协程和管程_TABE_的博客-CSDN博客_进程线程管程
- 进程是操作系统进行资源分配和调度的一个基本单位。每个进程都有自己的独立内存空间,不同进程通过进程间通信来通信。进程上下文进程间的切换开销(栈、寄存器、虚拟内存、文件句柄等)比较大,但相对比较稳定安全。
- 线程是CPU调度和分派的基本单位,一个进程可以拥有多个线程。线程自己基本上不拥有系统资源,只拥有少部分的资源(如程序计数器,一组寄存器和栈)。线程间通信主要通过共享内存,上下文切换很快,资源开销较少,但相比进程不够稳定容易丢失数据。
- 协程是一种用户态的轻量级线程,一个线程也可以拥有多个协程。协程的调度完全由用户控制。协程拥有自己的寄存器上下文和栈。协程的上下文切换非常快。
- 管程是一种程序结构,结构内的多个子程序(对象或模块)形成的多个工作线程互斥访问共享资源。在一个时间点,最多只有一个工作线程在执行管程的某个子程序。管程实际上是定义的一种数据结构和控制进程的一些操作的集合。
数据库的完整性有哪些参照完整性是如何实现的(什么是数据库的数据完整性?有哪些数据完整性约束?)
- 数据库的数据完整性是一组完整性规则的集合。完整性规则是数据及其联系所具有的制约和依存规则,用以保证数据的正确、有效和相容,使数据系统值和现实系统状态一致。
- 完整性约束包括:实体完整性,参照完整性和用户定义的完整性
K均值的K指的是啥(回答了adaboost,问了adaboost的弱分类器,以及如何实现多分类)
K个质心
拥塞控制和流量控制的区别,举例说明这两种控制
- 流量控制是为了控制发送方发送速率,保证接收方来得及接收。
- 拥塞控制是防止过多的数据注入网络,使得网络中的路由器或者链路过载。流量控制是点对点的通信量控制,而拥塞控制是全局的网络流量整体性的控制。
偏序
设 A 是一个非空集,P 是 A 上的一个关系,若关系P是自反的、反对称的、和传递的,则称P是集合A上的偏序关系。
即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 上的一个偏序关系。
排序算法知道哪些
电商产品利润最大用哪种排序算法,如何实现
政治问的新疆棉花问题
英语问答 最喜欢的书 翻译专业课无关 关于传统节日的
数学 拉普拉斯,贝叶斯,两个集合3个元素,4个元素,并之后有几个元素
专业课
- 二叉树后序非递归遍历
- 先序遍历:使用栈实现,栈中先压入二叉树根节点,然后循环以下过程,先弹出一个节点,随后压入该节点的右孩子,再压入该节点的左孩子……(这样弹出时就是左孩子先弹出,右孩子再弹出,满足先序)
- 中序遍历:栈不为空时开始循环,先压入左边界,然后弹出,再处理右子树,右子树也是这样的逻辑,先压入右子树的左边界,再处理右子树的右子树……
- 后序遍历:中右左反过来,使用 help 栈;打印的时候不打印但是压入 help 栈,弹出即为后序。
/*
* 先序遍历
* 往栈中压入根结点
* 弹出栈中一个结点并打印
* 压入刚弹出结点的右结点和左结点
* 弹出栈中一个结点并打印
*/
public static void preOrderUnRecur(Node head){
System.out.print("preOrder: ");
if(head!=null){
Stack<Node> stack=new Stack<Node>();
stack.add(head); //往栈中压入根结点
while(!stack.isEmpty()){
head=stack.pop(); //弹出栈中一个结点并打印,复用了head
System.out.print(head.value+" ");
if(head.right!=null){
stack.push(head.right);
}
if(head.left!=null){
stack.push(head.left);
}
}
}
System.out.println();
}
/*
* 中序遍历
* 当前结点不为空时,压入当前结点,当前结点指针向它左结点移动
* 当前结点为空、栈不为空时,弹出栈结点并打印,当前结点指针向栈结点的右结点移动
*/
public static void inOrderUnrecur(Node head){
System.out.print("inOrder: ");
if(head!=null){
Stack<Node> stack=new Stack<Node>();
while(!stack.isEmpty() || head!=null){
if(head!=null){
stack.push(head);
head=head.left;
}
else{
head=stack.pop();
System.out.print(head.value+" ");
head=head.right;
}
}
}
System.out.println();
}
/*
* 后序遍历
* 由前面的先序遍历,中左右,改为中右左,然后放入栈中逆序,得到左右中,即后序遍历
*/
public static void posOrderUnRecur(Node head){
System.out.print("posOrder: ");
if(head!=null){
Stack<Node> s1=new Stack<Node>();
Stack<Node> s2=new Stack<Node>();
s1.push(head);
while(!s1.isEmpty()){
head=s1.pop();
. s2.push(head);
if(head.left!=null){
s1.push(head.left);
}
if(head.right!=null){
s1.push(head.right);
}
}
while(!s2.isEmpty()){
System.out.print(s2.pop().value+" ");
}
}
System.out.println();
}
存储器结构
第一层:通用寄存器堆
第二层:指令与数据缓冲栈
第三层:高速缓冲存储器
第四层:主储存器(DRAM)
第五层:联机外部储存器(硬磁盘机)
第六层:脱机外部储存器(磁带、光盘存储器等)
这就是存储器的层次结构~~~ 主要体现在访问速度~~~
优先级算法
- 非抢占式优先权调度算法:系统一旦把处理机分配给优先权最高的进程后,便一直执行下去,至完成。
- 抢占式优先权调度算法:只要系统中出现一个新的就绪进程,就进行优先权比较 。若出现优先权更高的进程,则立即停止当前执行,并将处理机分配给新到的优先权最高的进程。
cache的作用
1、Cache可以大大提高CPU访问主存的速度,中央处理器绝大多数存取主存储器的操作能为存取高速缓冲存储器所代替,能极大缓和中央处理器和主存储器之间速度不匹配的矛盾。
2、Cache可以显著提高计算机系统处理速度。
原理:当中央处理器存取主存储器某一单元时,计算机硬件就自动地将包括该单元在内的那一组单元内容调入高速缓冲存储器,中央处理器即将存取的主存储器单元很可能就在刚刚调入到高速缓冲存储器的那一组单元内。
效果:中央处理器绝大多数存取主存储器的操作能为存取高速缓冲存储器所代替,计算机系统处理速度就能显著提高。
cache组成结构:
1、Cache存储体:存放由主存调入的指令与数据块。
2、地址转换部件:建立目录表以实现主存地址到缓存地址的转换。
3、替换部件:在缓存已满时按一定策略进行数据块替换,并修改地址转换部件。
http和https?什么的区别
1、HTTPS 协议需要到 CA (Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用。(以前的网易官网是http,而网易邮箱是 https 。)
2、HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协议。
3、HTTP 和 HTTPS 使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、HTTP 的连接很简单,是无状态的。HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全。(无状态的意思是其数据包的发送、传输和接收都是相互独立的。无连接的意思是指通信双方都不长久的维持对方的任何信息。)
最后问了项目 问了本专业和计算机可以怎么结合?
参数估计和假设检验的联系与区别是什么?
1.矩阵秩几何意义
2.n维列向量和n维行向量乘机
3.n维列向量和m维行向量
银行家算法
银行家算法【在动态分配资源的过程中,银行家算法防止系统进入不安全状态,从而避免死锁】
当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。
当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申请资源数之和是否超过了该进程对资源的最大需求量。若超过则拒绝分配资源。若没超过则再测试系统现存的资源能否满足该进程尚需的最大资源量,若满足则按当前的申请量分配资源,否则也要推迟分配。
ipv4和ipv6的区别
- 地址空间不同,IPv4中规定IP地址长度为32,而IPv6中IP地址的长度为128。
- 路由表大小不同,IPv6的路由表相比IPv4的更小。
- IPv6的组播支持以及对流的支持要强于IPv4。
- 安全性不同,IPv6的安全性更高,在使用IPv6的网络时,用户可对网络层的数据进行加密。
- 协议扩充不同,IPv6允许协议进行扩充而IPv4不允许。
需求分析
需求分析也称为软件需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。
数据库的数据模型
- 层次模型:层次模型是数据库系统最早使用的一种模型,它的数据结构是一棵“有向树”。根结点在最上端,层次最高,子结点在下,逐层排列。
层次模型的特征是: 有且只有一个根结点其他结点有且仅有一个父结点
- 网状模型:网状模型以网状结构表示实体与实体之间的联系。网中的每一个结点代表一个记录类型,联系用链接指针来实现。网状模型可以表示多个从属关系的联系,也可以表示数据间的交叉关系,即数据间的横向关系与纵向关系,它是层次模型的扩展。网状模型可以方便地表示各种类型的联系,但结构复杂,实现的算法难以规范化;
其特征是:允许结点有多于一个父结点;可以有一个以上的结点没有父结点。
- 关系模型:关系模型以二维表结构来表示实体与实体之间的联系,它是以关系数学理论为基础的。关系模型的数据结构是一个“二维表框架”组成的集合。每个二维表又可称为关系。在关系模型中,操作的对象和结果都是二维表。是目前最流行的数据库模型。支持关系模型的数据库管理系统称为关系数据库管理系统,Access就是一种关系数据库管理系统。
- 描述的一致性,不仅用关系描述实体本身,而且也用关系描述实体之间的联系;
- 可直接表示多对多的联系;
- 关系必须是规范化的关系,即每个属性是不可分的数据项,不许表中有表;
- 关系模型是建立在数学概念基础上的,有较强的理论依据。
常见算法
递归、暴力、分治法、贪心、动态规划算法、回溯法、分支限界法
sql注入
SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编写时的疏忽,通过SQL语句,实现无账号登录,甚至篡改数据库。
递归优缺点
优点:代码简洁、易于理解;如在树的前/中/后序遍历中,递归的实现明显比循环简单。
缺点:
- 时间和空间的消耗比较大:递归由于是函数调用自身,而函数的调用时消耗时间和空间的,每一次函数调用,都需要在内存栈中分配空间以保存参数,返回值和临时变量,而往栈中压入和弹出数据也都需要时间,所以降低了效率。
- 重复计算:递归中又很多计算都是重复的,递归的本质时把一个问题分解成两个或多个小 问题,多个小问题存在重叠的部分,即存在重复计算,如斐波那契数列的递归实现。
- 调用栈溢出:递归可能时调用栈溢出,每次调用时都会在内存栈中分配空间,而栈空间的容量是有限的,当调用的次数太多,就可能会超出栈的容量,进而造成调用栈溢出。