5.23 Linux中超时检测方式+模拟面试

5.23 Linux中超时检测方式+模拟面试

码农世界 2024-05-28 前端 84 次浏览 0个评论

 

1.IO多路复用的原理?

IO多路复用使得一个或少量线程资源处理多个连接的IO事件的技术。对于要处理的多个阻塞的IO操作,建立集合并存储它们的文件描述符,利用单个阻塞函数去监控集合中文件描述符事件到达的情况,(如果到达,集合中会保留对应的文件描述符,阻塞函数变为非阻塞,向后执行统一处理的代码),从而实现将多个阻塞函数变为一个阻塞函数,实现IO多路的复用。

2.实现IO多路复用可以使用哪些函数完成?

select、poll、epoll

3.select和poll的区别

select支持的最大文件描述符是1024个,传参为最大文件描述符的+1,同时监控三个文件描述符集合:读fds、写fds、异常fds,超时时间传参是地址传递;poll支持无上限的文件描述符,传参为文件描述符的个数,监控一个文件描述符集合,常用结构体数组表示,超时时间是值传递

4.在UDP通信过程中,能否使用connect函数?为什么?有什么好处?

可以,使用connect函数能够建立端点之间唯一通信,断开之前,其余端点不接受通信,能够实现数据稳定传输,不至于再跟某个端点通信时被其他端点打断,还能提高传输效率,原因是使内核不再清空对端地址信息从而持续读取消息

5.OSI 7层网络体系结构有哪些?

物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

6. TCP/IP协议簇体系结构有哪些?

链路层、网络层、传输层、应用层

7.ARP、HTTP、TFTP、IP、UDP、TCP说出全称和所在层

ARP,地址解析协议,数据链路层

HTTP,超文本传输协议,应用层

TFTP,简单文件传输协议,应用层

IP,网际互联协议,网络层

UDP,用户数据报协议,传输层

TCP,传输控制协议,传输层

8.100.0.125.2的子网掩码是什么?

100.0.125.2是A类IP地址,8位网络号,故子网掩码为255.0.0.0

9.顺序表和链表的区别

顺序表逻辑结构是线性表,物理结构是顺序存储,常用数组实现,逻辑结构和物理结构均连续,内存使用效率低,查找和修改效率高,为O(1),增加和删除的效率低,为O(n);链表逻辑结构也是线性表,物理结构是链式存储,逻辑结构连续,物理结构不一定连续,内存使用效率高,增加和删除的效率高,为O(1),查找和修改的效率低,为O(n)

10.进程和线程的区别

内存管理:子进程创建后完全拷贝父进程内存空间(3GB),内存空间相互独立;创建子线程后额外开销为8KB用于存放线程属性、内存起始和终止位置、线程ID等数据,与主线程共享内存空间(如全局变量,相互传参)

角色不同:进程是获取资源的最小单位,线程是资源分配的最小单位

效率不同:多进程切换效率低于多线程

关联性不同:

多进程之间的运行不相互影响:父进程结束,不影响子进程运行。同理子进程结束,不影响父进程运行。

多线程之间的运行单向影响:主进程结束,所有子线程直接结束。其他线程之间相互不影响

转载请注明来自码农世界,本文标题:《5.23 Linux中超时检测方式+模拟面试》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,84人围观)参与讨论

还没有评论,来说两句吧...

Top