常见的网络编程面试题

目录(?)[+]

1:tcp和udp的区别

TCP:是面向连接的流传输控制协议,具有高可靠性,确保传输数据的正确性,有验证重发机制,因此不会出现丢失或乱序。

UDP:是无连接的数据报服务,不对数据报进行检查与修改,无须等待对方的应答,会出现分组丢失、重复、乱序,但具有较好的实时性,UDP段结构比TCP的段结构简单,因此网络开销也小。 2:流量控制和拥塞控制

拥塞控制

网络拥塞现象是指到达通信子网中某一部分的分组数量过多,使得该部分网络来不及处理,以致引起这部分乃至整个网络性能下降的现象,严重时甚至会导致网络通信业务陷入停顿,即出现死锁现象。拥塞控制是处理网络拥塞现象的一种机制。

流量控制

数据的传送与接收过程当中很可能出现收方来不及接收的情况,这时就需要对发方进行控制,以免数据丢失。 3:多线程如何同步

windows

线程同步有四种方式:临界区、内核对象、互斥量、信号量。

Linux

线程同步有最常用的是:互斥锁、条件变量和信号量。

4:进程间通讯的方式有哪些,各有什么优缺点

进程间通信

5:tcp连接建立的时候3次握手,断开连接的4次握手的具体过程

建立连接采用的3次握手协议,具体是指:

第一次握手是客户端connect连接到server,server accept client的请求之后,向client端发送一个消息,相当于说我都准备好了,你连接上我了,这是第二次握手,第3次握手就是client向server发送的,就是对第二次握手消息的确认。之后client和server就开始通讯了。

断开连接的4次握手,具体如下:

断开连接的一端发送close请求是第一次握手,另外一端接收到断开连接的请求之后需要对close进行确认,发送一个消息,这是第二次握手,发送了确认消息之后还要向对端发送close消息,要关闭对对端的连接,这是第3次握手,而在最初发送断开连接的一端接收到消息之后,进入到一个很重要的状态time_wait状态,这个状态也是面试官经常问道的问题,最后一次握手是最初发送断开连接的一端接收到消息之后。对消息的确认。

6:epoll与select的区别

select在一个进程中打开的最大fd是有限制的,由FD_SETSIZE设置,默认值是2048。不过 epoll则没有这个限制,它所支持的fd上限是最大可以打开文件的数目,这个数字一般远大于2048,一般来说内存越大,fd上限越大,1G内存都能达到大约10w左右。

select的轮询机制是系统会去查找每个fd是否数据已准备好,当fd很多的时候,效率当然就直线下降了,epoll采用基于事件的通知方式,一旦某个fd数据就绪时,内核会采用类似callback的回调机制,迅速激活这个文件描述符,而不需要不断的去轮询查找就绪的描述符,这就是epoll高效最本质的原因。

无论是select还是epoll都需要内核把FD消息通知给用户空间,如何避免不必要的内存拷贝就很重要,在这点上,epoll是通过内核于用户空间mmap同一块内存实现的,而select则做了不必要的拷贝

7:epoll中et和lt的区别与实现原理

LT:水平触发,效率会低于ET触发,尤其在大并发,大流量的情况下。但是LT对代码编写要求比较低,不容易出现问题。LT模式服务编写上的表现是:只要有数据没有被获取,内核就不断通知你,因此不用担心事件丢失的情况。

ET:边缘触发,效率非常高,在并发,大流量的情况下,会比LT少很多epoll的系统调用,因此效率高。但是对编程要求高,需要细致的处理每个请求,否则容易发生丢失事件的情况。

目录(?)[+]

1:tcp和udp的区别

TCP:是面向连接的流传输控制协议,具有高可靠性,确保传输数据的正确性,有验证重发机制,因此不会出现丢失或乱序。

UDP:是无连接的数据报服务,不对数据报进行检查与修改,无须等待对方的应答,会出现分组丢失、重复、乱序,但具有较好的实时性,UDP段结构比TCP的段结构简单,因此网络开销也小。 2:流量控制和拥塞控制

拥塞控制

网络拥塞现象是指到达通信子网中某一部分的分组数量过多,使得该部分网络来不及处理,以致引起这部分乃至整个网络性能下降的现象,严重时甚至会导致网络通信业务陷入停顿,即出现死锁现象。拥塞控制是处理网络拥塞现象的一种机制。

流量控制

数据的传送与接收过程当中很可能出现收方来不及接收的情况,这时就需要对发方进行控制,以免数据丢失。 3:多线程如何同步

windows

线程同步有四种方式:临界区、内核对象、互斥量、信号量。

Linux

线程同步有最常用的是:互斥锁、条件变量和信号量。

4:进程间通讯的方式有哪些,各有什么优缺点

进程间通信

5:tcp连接建立的时候3次握手,断开连接的4次握手的具体过程

建立连接采用的3次握手协议,具体是指:

第一次握手是客户端connect连接到server,server accept client的请求之后,向client端发送一个消息,相当于说我都准备好了,你连接上我了,这是第二次握手,第3次握手就是client向server发送的,就是对第二次握手消息的确认。之后client和server就开始通讯了。

断开连接的4次握手,具体如下:

断开连接的一端发送close请求是第一次握手,另外一端接收到断开连接的请求之后需要对close进行确认,发送一个消息,这是第二次握手,发送了确认消息之后还要向对端发送close消息,要关闭对对端的连接,这是第3次握手,而在最初发送断开连接的一端接收到消息之后,进入到一个很重要的状态time_wait状态,这个状态也是面试官经常问道的问题,最后一次握手是最初发送断开连接的一端接收到消息之后。对消息的确认。

6:epoll与select的区别

select在一个进程中打开的最大fd是有限制的,由FD_SETSIZE设置,默认值是2048。不过 epoll则没有这个限制,它所支持的fd上限是最大可以打开文件的数目,这个数字一般远大于2048,一般来说内存越大,fd上限越大,1G内存都能达到大约10w左右。

select的轮询机制是系统会去查找每个fd是否数据已准备好,当fd很多的时候,效率当然就直线下降了,epoll采用基于事件的通知方式,一旦某个fd数据就绪时,内核会采用类似callback的回调机制,迅速激活这个文件描述符,而不需要不断的去轮询查找就绪的描述符,这就是epoll高效最本质的原因。

无论是select还是epoll都需要内核把FD消息通知给用户空间,如何避免不必要的内存拷贝就很重要,在这点上,epoll是通过内核于用户空间mmap同一块内存实现的,而select则做了不必要的拷贝

7:epoll中et和lt的区别与实现原理

LT:水平触发,效率会低于ET触发,尤其在大并发,大流量的情况下。但是LT对代码编写要求比较低,不容易出现问题。LT模式服务编写上的表现是:只要有数据没有被获取,内核就不断通知你,因此不用担心事件丢失的情况。

ET:边缘触发,效率非常高,在并发,大流量的情况下,会比LT少很多epoll的系统调用,因此效率高。但是对编程要求高,需要细致的处理每个请求,否则容易发生丢失事件的情况。


相关文章

  • 网络编辑面试常见问题及最妙回答技巧
  • 网络编辑面试常见问题及最妙回答技巧! 内容简介:网络编辑是近些年才比较流行的职业,但是很多求职应聘者对网络编辑工作却知之甚少,有时候对网络编辑的工作内容等还仅仅停留在比较肤浅的层面上. 1.你对编辑这份职业了解多少? 网络编辑面试常见问题之 ...查看


  • 最常见软件测试面试题
  • 1. 软件测试流程 2. 简述一下软件测试活动的生命周期 3. 网络协议 4. TCP/IP分几层 5. TCP/UDP位于哪一层,有什么区别 6. 交换机.无线路由器分别的实现原理是什么,位于工作 在哪一层 一般来说交换机是工作在数据链路 ...查看


  • 2015年优秀军校及国防生面试问题有哪些?精选3篇
  • 2015年优秀军校及国防生面试问题有哪些?精选1篇 面试分指挥类和非指挥类专业面试组,报考国防生的考生参加非指挥类专业面试,采取目测和与考生本人交谈方式进行. 面试内容主要有六项: 一是问报考动机,看考生入伍动机是否端正; 二是听语言表达 ...查看


  • 2015年广西事业单位事业单位面试备考:面试真题解析(十三)
  • 2015年广西事业单位事业单位面试备考:面试真题解析(十三) 某城市有十几个志愿者组织,但很多人反映这些组织管理松散.志愿者服务水平不高,领导要你去做一个调研,你打算怎么开展?你认为重点是什么? [中公教育解析] 第一问: 一个城市拥有十几 ...查看


  • 日本语言学校面试常见问题
  • 日本语言学校面试常见问题 日本语言学校的面试一般都是按校方安排的顺序进行,形式一般是通过网络视频面试或者是电话面试,在面试过程中,用日语问的问题一般就几个,目的只是想了解一下你是否真的学过日语,所以日语的问题不会多.也不会太难,剩下的老师会 ...查看


  • 建筑设计院电气专业面试常见题目
  • 1. 简述电气负荷计算的目的.内容和主要计算方法. 2. 简述供配电系统设计的基本要求. 3. 变压器的工作原理是什么? 4. 简述室内照明方式. 5. 接地的含义与接地方式的种类是什么? 6. 低压计系统短路电流计算条件是什么? 7. 简 ...查看


  • 面试技巧及常见问题
  • 本文由Iry20102012贡献 doc文档可能在WAP端浏览体验不佳.建议您优先选择TXT,或下载源文件到本机查看. 一.经典面试常见问题 希望各位能打印出来,认真地回答,每个问题准备多个例子,多个答案,最好能写出来,反复练习. 如果能够 ...查看


  • 市场推广职责
  • 市场推广岗位职责 一.职责概述: 熟悉网络广告操作规范.流程.发布渠道,认识博客推广.论坛推广.邮件推广等常见网络推广方式,认识搜索引擎优化,有一定的美工基础和写作策划能力,有良好的沟通.组织.协调能力,有一定的市场信息收集.分析能力. 二 ...查看


  • 2011年安徽省公务员招考面试备考
  • 2011年安徽省公务员招考面试备考策略 安徽省考的大幕已经拉开,对于众多想要通过此次考试来实现自己理想的考生来说,怎样能够在短短的备考时间内得到较快的提升,无疑是要面对的最重要问题.明确的目标.正确的方法再加上努力的态度,才能使自己能够最大 ...查看


热门内容