之前写过一篇面试题
但是在春招面试、笔试问了很多计算机网络、数据结构、操作系统等相关知识点记点之前总结的还是不够参考的,再来一篇,顺序有点乱,但是每一个都是参考的,已备大家复习使用吧。
UDP(传输控制协议)和TCP(用户数据报协议)的协议的区别?
第一、安全方面的区别:TCP注重数据安全性,UDP数据传输快,因为不需要连接等待,少了许多操作,但是其安全性却一般。
第二、传播速度的区别:UDP的传播速度比TCP的快,因为TCP的传送的时候需要先建立连接,而建立连接的时候是比较耗时的,而且在传输速率的时候还要确认一些东西,而UDP无连接传输数据。
第三、连接对象数量的区别,TCP是一对一的连接,而UDP是一对多或者多对多的连接。
PS:UDP的无连接的意思是传输完数据后断开。
偷一张图(左边👈TCP、👉右边UDP)
方便大家记忆
TCP/IP的五层模型和OSI的七层模型
排序算法的时间复杂度、空间复杂度等
数组和链表的区别优缺点
数组的特点:
1.在内存中,数组是一块连续的区域
2.数组需要预留空间
3.在数组起始位置处,插入数据和删除数据效率低。
4.随机访问效率很高,时间复杂度可以达到O(1)
5.数组开辟的空间,在不够使用的时候需要扩容,扩容的话,就会涉及到需要把旧数组中的所有元素向新数组中搬移
6.数组的空间是从栈分配的
链表的特点:
1.在内存中,元素的空间可以在任意地方,空间是分散的,不需要连续
2.链表中的元素都会两个属性,一个是元素的值,另一个是指针,此指针标记了下一个元素的地址
3.查找数据时效率低,时间复杂度为O(N)
4.空间不需要提前指定大小,是动态申请的,根据需求动态的申请和删除内存空间,扩展方便,故空间的利用率较高
5.任意位置插入元素和删除元素效率较高,时间复杂度为O(1)
6.链表的空间是从堆中分配的