思维导图
面试题整理:
数据结构中顺序表和链表的区别?
顺序表:
1、存储方式:顺序表是一系列连续的内存空间,每个元素的地址可以通过索引计算出;
2、访问速度:由于不需要遍历查找,访问速度较快;
3、插入和删除:插入和删除操作通常需要移动元素,在表较长时效率较低;
4、大小:一但分配内存空间,表的大小就固定了;
链表:
1、存储方式:链表由节点组成,元素的存储不连续;
2、访问速度:访问时需要从头逐个遍历,访问速度较慢;
3、插入和删除:只需改变相邻节点的指针,操作较简单;
4、大小:可以动态添加或删除节点,无需事先预估大小。
HTTP协议和TCP协议和UDP协议之间的关系?
HTTP基于TCP协议进行传输,HTTP使用TCP作为其底层传输协议。
指针和指针变量是什么?
指针是计算机编程中的一个核心概念,它是一个变量,存储了一个内存地址。
指针变量则是程序员创建的一种特殊类型的数据,它的用途就是存储指针。
共享内存和消息队列的优缺点?
共享内存的优点主要包括:
1、高效性:由于数据直接在内存中进行传输,共享内存的通信效率非常高。
2、简单性:相对于其他通信方式,共享内存的实现较为简单。
共享内存的缺点主要包括:
1、数据同步:多个进程同时访问共享内存时,需要考虑数据同步问题,否则可能出现数据一致性问题。
2、安全性:共享内存需要考虑进程之间的权限问题,否则可能导致安全性问题。
消息队列的优点主要包括:
1、数据传输安全:消息队列具有同步机制,可以避免数据竞争问题,确保数据传输的安全。
2、灵活性高:可以根据需要随时添加或删除发送和接收线程。
消息队列的缺点主要包括:
1、传输速度较慢:因为数据需要序列化和反序列化,消息队列的传输速度相对较慢。
2、传输数据量有限:受磁盘大小限制,消息队列的传输数据量有限。