网络编程笔试面试题.doc

网络编程笔试面试题.doc

ID:59134789

大小:26.00 KB

页数:3页

时间:2020-09-12

网络编程笔试面试题.doc_第1页
网络编程笔试面试题.doc_第2页
网络编程笔试面试题.doc_第3页
资源描述:

《网络编程笔试面试题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.C语言中,系统自动打开的文件是(D)A. 二进制文件B.随机文件C.非缓冲文件 D.设备文件2.TCP使用____B___进行流量控制。A.3次握手法B.窗口控制机制C.自动重发机制D.端口机制3.TCP/IP层IP协议的服务是___C____A.可靠服务B.有确认的服务C.无连接数据报D.以上都不对4.对于一个没有设置任何套接口选项的阻塞套接口,调用recv接收对方的数据,对方发送数据前突然断电,下列哪种情况将会发生____A____A.recv永远不会返回B.recv立刻返回-1C.recv立刻返回

2、0D.recv在等待很长一段时间后返回-15.下列哪些关于套接口选项函数的说法是正确的___C_____A.SO_DONTLINGER选项是让TCP套接口不对数据进行缓存,调用send函数后立刻将数据发送出去;B.调用SO_RCVBUF和SO_SNDBUF调整TCP窗口的大小;C.SO_REUSEADDR选项允许套接口绑定在一个已经在使用的地址上;D.SO_MAX_MSG_SIZE选项获取每次调用TCP套接口send时,所能发送的最大字节数;假如子网掩码维255.255.255.245有多少个ip可用答:2

3、56-245-2=9个判断192.162.1.1是A、B、C类那种网络ip地址答:C类C类IP以110开头,从192.0.0.1到223.255.255.255IP通过什么协议转成域名和MAC地址答:通过DNS协议转换成域名。DNS是域名系统(DomainNameSystem)的缩写,它是由解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。通过ARP(地址转换协议)协议转换成MAC地址,反过来MAC到IP地址的转换是RARP(逆地址转

4、换协议)产生死锁的必要条件是什么?解决死锁有几种方法?答:产生死锁的必要条件:互斥条件:进程要求对所分配的资源进行排它性控制,即在一段时间内某资源仅为一进程所占用。请求和保持条件:当进程因请求资源而阻塞时,对已获得的资源保持不放。不剥夺条件:进程已获得的资源在未使用完之前,不能剥夺,只能在使用完时由自己释放。环路等待条件:在发生死锁时,必然存在一个进程--资源的环形链。解决死锁的基本方法:预防死锁:资源一次性分配:(破坏请求和保持条件)可剥夺资源:即当某进程新的资源未满足时,释放已占有的资源(破坏不可剥夺条

5、件)资源有序分配法:系统给每类资源赋予一个编号,每一个进程按编号递增的顺序请求资源,释放则相反(破坏环路等待条件) 避免死锁:预防死锁的几种策略,会严重地损害系统性能。因此在避免死锁时,要施加较弱的限制,从而获得较满意的系统性能。由于在避免死锁的策略中,允许进程动态地申请资源。因而,系统在进行资源分配之前预先计算资源分配的安全性。若此次分配不会导致系统进入不安全状态,则将资源分配给进程;否则,进程等待。其中最具有代表性的避免死锁算法是银行家算法。 检测死锁:首先为每个进程和每个资源指定一个唯一的号码;然后建

6、立资源分配表和进程等待表,例如:  解除死锁:当发现有进程死锁后,便应立即把它从死锁状态中解脱出来,常采用的方法有:剥夺资源:从其它进程剥夺足够数量的资源给死锁进程,以解除死锁状态;撤消进程:可以直接撤消死锁进程或撤消代价最小的进程,直至有足够的资源可用,死锁状态.消除为止;所谓代价是指优先级、运行代价、进程的重要性和价值等。解释可重入:若一个程序或子程序可以“安全的被并行执行(Parallelcomputing)”,则称其为可重入(reentrant或re-entrant)的。即当该子程序正在运行时,可以

7、再次进入并执行它(并行执行时,个别的执行结果,都符合设计时的预期)。若一个函数是可重入的,则该函数:l不能含有静态(全局)非常量数据。l不能返回静态(全局)非常量数据的地址。l只能处理由调用者提供的数据。l不能依赖于单实例模式资源的锁。l不能调用(call)不可重入的函数(有呼叫(call)到的函数需满足前述条件)。多“用户/对象/进程优先级”以及多进程,一般会使得对可重入代码的控制变得复杂。同时,IO代码通常不是可重入的,因为他们依赖于像磁盘这样共享的、单独的(类似编程中的静态(Static)、全域(Gl

8、obal))资源。例子:在以下的C语言代码中,函数f和函数g都不是可重入的。intg_var=1; intf() { g_var=g_var+2; returng_var; } intg() { returnf()+2; }以上代码中,f使用了全局变量 g_var,所以,如果两个线程同时执行它并访问g_var,则返回的结果取决于执行的时间。因此,f不可重入。而g调用了f,所以它也不可重入。稍作修改后,两个函数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。