随笔分类 - 嵌入式100题
嵌入式100题,题目为网上搜索,答案来源为个人总结以及网上搜索。主要为了总结自己的知识点,以及增加自己对知识点的掌握。
摘要:插入排序 插入排序:插入排序是在一个已经有序的小序列的基础上,一次插入一个元素。当然,刚开始这个有序的小序列只有1个元素,就是第一个元素。比较是从有序序列的末尾开始,也就是想要插入的元素和已经有序的最大者开始比起,如果比它大则直接插入在其后面,否则一直往前找直到找到它该插入的位置。如果碰见一个和插入
阅读全文
摘要:选择排序 选择排序是一种简单直观的排序算法。它与冒泡排序很相似,都是比较 n-1 轮,每轮都是比较 n–1–i 次,每轮找出一个最大值或最小值。 只不过,冒泡排序是将每轮找出的最值放到最右边,而选择排序是将每轮找出的最值放到最左边。并且在算法上,冒泡排序是将相邻的数进行逐个比较,以从小到大排序为例,
阅读全文
摘要:冒泡排序 冒泡排序:冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,我想你是不会再无聊地把他们俩交换一下的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并
阅读全文
摘要:各种排序算法什么时候有最好情况、最坏情况(尤其是快排) 直接插入排序:最坏情况需要比较O(n^2)次(n(n - 1)/2次)(有争议)。 简单选择排序:无论是否最坏都需要O(n^2)次(n(n - 1)/2次)。 冒泡排序:需要比较O(n^2)次(n(n - 1)/2次),即序列逆序的情况。 堆排
阅读全文
摘要:各种排序算法的时间空间复杂度、稳定性 一、排序算法分类: 二、排序算法比较: 注: 1、归并排序可以通过手摇算法将空间复杂度降到O(1),但是时间复杂度会提高。 2、 基数排序时间复杂度为O(N*M),其中N为数据个数,M为数据位数。 三、 辅助记忆 1、时间复杂度记忆 冒泡、选择、直接 排序需要两
阅读全文
摘要:为什么建立连接是三次握手,关闭连接确是四次挥手呢? 建立连接的时候,服务器在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端。 而关闭连接时,服务器收到对方的FIN报文时,仅仅表示对方不再发送数据了但是还能接收数据,而自己也未必全部数据都发送给对方了,所
阅读全文
摘要:为什么客户端最后还要等待2MSL? MSL(Maximum Segment Lifetime),TCP允许不同的实现可以设置不同的MSL值。 第一,保证客户端发送的最后一个ACK报文能够到达服务器,因为这个ACK报文可能丢失,站在服务器的角度看来,我已经发送了FIN+ACK报文请求断开了,客户端还没
阅读全文
摘要:什么是四次挥手 在网络数据传输中,传输层协议断开连接的过程我们称为四次挥手; 第一次,Client将FIN置为1,发送一个序列号seq给Server;进入FIN_WAIT_1状态; 第二次,Server收到FIN之后,发送一个ACK=1,acknowledge number=收到的序列号+1;进入C
阅读全文
摘要:为什么服务端易受到SYN攻击? 服务端的资源分配是在二次握手时分配的,而客户端的资源是在三次握手时分配的。 SYN攻击,即客户端在短时间内伪造大量不存在的IP地址,并向SERVER端不断的发送SYN包,SERVER收到请求即回复确认,并等待客户端的确认,由于源地址不存在,因此SERVER需要不断的重
阅读全文
摘要:为什么三次握手中客户端还要发送一次确认呢?可以二次握手吗? 主要防止已经失效的连接请求报文突然又传送到了服务器,从而产生错误。 如果是两次握手,连接过程应该是这样的,当服务器收到对端的连接请求时,就认为连接建立好了,进入ESTABLISHED状态。客户端在收到服务器发来的同步确认报文后,就认为连接建
阅读全文
摘要:什么是三次握手 在网络数据传输中,传输层协议TCP(传输控制协议)是建立连接的可靠传输,TCP建立连接的过程,我们称为三次握手。 第一次,建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence
阅读全文
摘要:URI(统一资源标识符)和URL(统一资源定位符)之间的区别 URL: URL 统一资源定位符(Uniform Resource Locator):其实就是我们访问web页面时需要输入的”网页地址“”网址“,比如:https://www.google.com/ 就是URL。 完整定义如下: 协议
阅读全文
摘要:HTTPS与HTTP的一些区别 HTTPS协议需要到CA申请证书,一般免费证书很少,需要交费。 HTTP协议运行在TCP之上,所有传输的内容都是明文,HTTPS运行在SSL/TLS之上,SSL/TLS运行在TCP之上,所有传输的内容都经过加密的。 HTTP和HTTPS使用的是完全不同的连接方式,用的
阅读全文
摘要:Http1.1和Http1.0的区别 HTTP1.0最早在网页中使用是在1996年,那个时候只是使用一些较为简单的网页上和网络请求上,而HTTP1.1则在1999年才开始广泛应用于现在的各大浏览器网络请求中,同时HTTP1.1也是当前使用最为广泛的HTTP协议。 主要区别主要体现在: 缓存处理:在H
阅读全文
摘要:典型网络模型,简单说说有哪些 网络模型一般是指OSI七层参考模型和TCP/IP四层参考模型。 OSI分层(7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 TCP/IP分层(4层):网络接口层、网际层、运输层、应用层。 网络层:IP协议、ICMP协议、ARP协议、RARP协议。
阅读全文
摘要:TCP为什么是可靠连接 确认和重传机制:建立连接时三次握手同步双方的“序列号 + 确认号 + 窗口大小信息”,是确认重传、流控的基础传输过程中,如果Checksum校验失败、丢包或延时,发送端重传。 数据排序:TCP有专门的序列号SN字段,可提供数据re-order。 流量控制:窗口和计时器的使用。
阅读全文
摘要:TCP UDP适用场景 TCP的应用场景:适合通信质量要求较高的场景,http传输、文件传输、smtp等等,目前大部分的传输都是基于TCP协议传输; UDP的应用场景:相对于TCP传输,UDP传输速度更快,实时性更好,耗资源更少,但稳定性、可靠性比TCP差,适合对网络通讯质量要求不高、速度要求尽量快
阅读全文
摘要:TCP、UDP的优缺点 TCP的优点:可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。 TCP的缺点:慢,效率低,占用系统资源高,易被攻击 TCP在传递数据之前,要先建连接,这
阅读全文
摘要:TCP、UDP的区别 TCP 是面向连接的,UDP是面向无连接的; UDP 程序结构较简单; TCP 是面向字节流的,UDP是基于数据报的; TCP 保证数据正确性,UDP可能丢包; TCP 占用资源较多,UDP占用资源较少; TCP 保证传输数据顺序、无差错、不丢失、不重复、且按时序到达,UDP
阅读全文
摘要:c/c++中变量的作用域 作用域规则告诉我们一个变量的有效范围,它在哪儿创建,在哪儿销毁(也就是说超出了作用域)。变量的有效作用域从它的定义点开始,到和定义变量之前最邻近的开括号配对的第一个闭括号。也就是说,作用域由变量所在的最近一对括号确定。 全局变量: 全局变量是在所有函数体的外部定义的,程序的
阅读全文
浙公网安备 33010602011771号