欢迎来到天天文库
浏览记录
ID:39465448
大小:26.50 KB
页数:5页
时间:2019-07-04
《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环境中怎么来配置一条默认路由?答:
此文档下载收益归作者所有