- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
常见的网络编程面试题2014-06-05 21:08 7685人阅读评论(0)收藏举报
网络通信(5) ▼|版权声明:本文为博主原创文章,未经博主允许不得转载。
目录给包
1 : tcp和udp的区别
TCP :是面向连接的流传输控制协议,具有高可靠性,确保传输数据的正确性,有验证重发机制,因此不 会出现丧失或乱序。
UDP :是无连接的数据报服务,不对数据报进行检查与修改,无须等待对方的应答,会出现分组丧失、重 复、乱序,但具有较好的实时性,UDP段结构比TCP的段结构简单,因此网络开销也小。
2:流量控制和拥塞控制
网络拥塞现象是指到达通信子网中某一局部的分组数量过多,使得该局部网络来不及处理以致引起这局部 乃至整个网络性能下降的现象严重时甚至会导致网络通信业务陷入停顿即出现死锁现象。拥塞控制是处理 网络拥塞现象的一种机制。
数据的传送与接收过程当中很可能出现收方来不及接收的情况这时就需要对发方进行控制以免数据丧失。
3:多线程如何同步
线程同步有四种方式:临界区、内核对象、互斥量、信号量。
线程同步有最常用的是:互后锁」
4 :进程间通讯的方式有哪些,各有什么优缺点
进程间通信
5 : tcp连接建立的时候3次握手, 断开连接的4次握手的具体过程 第一次握手是客户端connect连接到server, server accept client的请求之后,向client端发送一个消息,相当于说我都准备好 了,你连接上我了,这是第二次握手,第3次握手就是client向server发送的,就是对第二次握手消息确实认。之后client和 server就开始通讯了。
断开连接的4次握手,具体如下:
断开连接的一端发送close请求是第一次握手,另外一端接收到断开连接的请求之后需要对close进行确认,发送一个消息,这 是第二次握手,发送了确认消息之后还要向对端发送close消息,要关闭对对端的连接,这是第3次握手,而在最初发送断开 连接的一端接收到消息之后,进入到一个很重要的状态状态,这个状态也是面试官经常问道的问题,最后一次握手是 最初发送断开连接的一端接收到消息之后。对消息确实认。
: epoll 与 select 的区别select在一个进程中翻开的最大fd是有限制的,由FD_SETSIZE设置,默认值是2048。不过epoll贝IJ没 有这个限制,它所支持的fd上限是最大可以翻开文件的数目,这个数字一般远大于2048,一般来说内存 越大,fd上限越大,1G内存都能到达大约10w左右。
select的轮询机制是系统会去查找每个fd是否数据已准备好,当fd很多的时候,效率当然就直线下降了, epoll采用基于事件的通知方式,一旦某个fd数据就绪时,内核会采用类似callback的回调机制,迅速激 活这个文件描述符,而不需要不断的去轮询查找就绪的描述符,这就是ep。!!高效最本质的原因。
无论是select还是epoll都需要内核把FD消息通知给用户空间,如何防止不必要的内存拷贝就很重要,在 这点上,epoll是通过内核于用户空间m map同一块内存实现的,而select那么做了不必要的拷贝: epoll中et和止的区别与实现原理
LT:水平触发,效率会低于ET触发,尤其在大并发,大流量的情况下。但是LT对代码编写要求比拟低, 不容易出现问题。LT模式服务编写上的表现是:只要有数据没有被获取,内核就不断通知你,因此不用担 心事件丧失的情况。
ET:边缘触发,效率非常高,在并发,大流量的情况下,会比LT少很多epoll的系统调用,因此效率高。 但是对编程要求高,需要细致的处理每个请求,否那么容易发生丧失事件的情况。
原创力文档


文档评论(0)