linux下的c语言-网络-网络编程面试题

linux下的c语言-网络-网络编程面试题

ID:39465448

大小:26.50 KB

页数:5页

时间:2019-07-04

linux下的c语言-网络-网络编程面试题_第1页
linux下的c语言-网络-网络编程面试题_第2页
linux下的c语言-网络-网络编程面试题_第3页
linux下的c语言-网络-网络编程面试题_第4页
linux下的c语言-网络-网络编程面试题_第5页
资源描述:

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

1、基础部份:1.下列程序在32位linux或unix中的结果是什么?func(char*str){   printf("%d",sizeof(str));   printf("%d",strlen(str));}main(){   chara[]="123456789";      printf("%d",sizeof(a));      func(a);}答:10  4  92.intdelete(node*head){                                          

2、                                                  free(head);          head=head-link;              return(0);                                                                }                                                                               

3、                                                                              指出程序的错误,并且写出正确的程序答:free指针head后,head->link指向“垃圾”内存,所以head此时也会指向“垃圾”内存。改正:intdelete(node*head){node*temp=head->link;free(head);        head=temp;            return(0);}3.#defineM

4、AX_NUM10和constintMAX_NUM=10区别答:c中const的意思是一个不能被改变的普通变量,编译器并不是把它看做一个常量。而define就是简单的值替换。网络/网络编程部份:1、connect方法会阻塞,请问有什么方法可以避免其长时间阻塞?答:最通常的方法最有效的是加定时器;也可以采用非阻塞模式。2、网络中,如果客户端突然掉线或者重启,服务器端怎么样才能立刻知道?答:若客户端掉线或者重新启动,服务器端会收到复位信号,每一种tcp/ip得实现不一样,控制机制也不一样。3.在子网210.2

5、7.48.21/30种有多少个可用地址?分别是什么?答:简:30表示的是网络号(networknumber)是30位,剩下2位中11是广播(broadcast)地址,00是multicast地址,只有01和10可以作为hostaddress。详:210.27.48.21/30代表的子网的网络号是30位,即网络号是210.27.48.21&255.255.255.251=210.27.48.20,此子网的地址空间是2位,即可以有4个地址:210.27.48.20,210.27.48.21,210.27.4

6、8.22,210.27.48.23。第一个地址的主机号(hostnumber/id)是0,而主机号0代表的是multicast地址。最后一个地址的最后两位是11,主机号每一位都为1代表的是广播(broadcast)地址。所以只有中间两个地址可以给host使用。其实那个问题本身不准确,广播或multicast地止也是可以使用的地址,所以回答4也应该正确,当然问的人也可能是想要你回答2。我个人觉得最好的回答是一个广播地址,一个multicast地址,2个unicast地址。4.TTL是什么?有什么用处,通常

7、那些工具会用到它?(ping?traceroute?ifconfig?netstat?)答:简:TTL是TimeToLive,一般是hupcount,每经过一个路由就会被减去一,如果它变成0,包会被丢掉。它的主要目的是防止包在有回路的网络上死转,浪费网络资源。ping和traceroute用到它。详:TTL是TimeToLive,目前是hupcount,当包每经过一个路由器它就会被减去一,如果它变成0,路由器就会把包丢掉。IP网络往往带有环(loop),比如子网A和子网B有两个路由器相连,它就是一个lo

8、op。TTL的主要目的是防止包在有回路的网络上死转,因为包的TTL最终后变成0而使得此包从网上消失(此时往往路由器会送一个ICMP包回来,traceroute就是根据这个做的)。ping会送包出去,所以里面有它,但是ping不一定非要不可它。traceroute则是完全因为有它才能成的。ifconfig是用来配置网卡的,netstat-rn是用来列路由表的,所以都用不着它5.路由表示做什么用的?在linux环境中怎么来配置一条默认路由?答:

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

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

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