linux網(wǎng)絡(luò)編程面試題_第1頁
linux網(wǎng)絡(luò)編程面試題_第2頁
linux網(wǎng)絡(luò)編程面試題_第3頁
linux網(wǎng)絡(luò)編程面試題_第4頁
linux網(wǎng)絡(luò)編程面試題_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第第頁linux網(wǎng)絡(luò)編程面試題

func(char*str)

{

printf(%d,sizeof(str));

printf(%d,strlen(str));

}

main()

{

chara[]=123456789;

printf(%d,sizeof(a));

func(a);

}

答:1049

網(wǎng)絡(luò)/網(wǎng)絡(luò)編程部份:

1、connect方法會堵塞,請問有什么方法可以避開其長時間堵塞?

答:最通常的方法最有效的是加定時器;也可以采納非堵塞模式。

2、網(wǎng)絡(luò)中,假如客戶端突然掉線或者重啟,服務(wù)器端怎么樣才能立即知道?

答:假設(shè)客戶端掉線或者重新啟動,服務(wù)器端會收到復(fù)位信號,每一種tcp/ip得實現(xiàn)不一樣,掌握機制也不一樣。

3.在子網(wǎng)210.27.48.21/30種有多少個可用地址?分別是什么?

答:

簡:

30表示的是網(wǎng)絡(luò)號(networknumber)是30位,剩下2位中11是廣播(broadcast)地址,00是multicast地址,只有01和10可以作為hostaddress。

詳:

210.27.48.21/30

代表的子網(wǎng)的網(wǎng)絡(luò)號是30位,即網(wǎng)絡(luò)號是210.27.48.21

255.255.255.251=210.27.48.20,此子網(wǎng)的地址空間是2位,即可以有4個地址:210.27.48.20,

210.27.48.21,210.27.48.22,210.27.48.23。第一個地址的主機號(host

number/id)是0,而主機號0代表的是multicast地址。最末一個地址的最末兩位是11,主機號每一位都為1代表的是廣播

(broadcast)地址。所以只有中間兩個地址可以給host運用。其實那個問題本身不精確,廣播或multicast地止也是可以運用的`地址,所以

回答4也應(yīng)當(dāng)正確,當(dāng)然問的人也可能是想要你回答2。我個人覺得最好的回答是一個廣播地址,一個multicast地址,2個unicast地址。

4.TTL是什么?有什么用處,通常那些工具會用到它?(ping?traceroute?ifconfig?netstat?)

答:

簡:TTL是TimeToLive,一般是hupcount,每經(jīng)過一個路由就會被減去一,假如它變成0,包會被丟掉。它的主要目的是防止包在有回路的網(wǎng)絡(luò)上死轉(zhuǎn),糜費網(wǎng)絡(luò)資源。ping和traceroute用到它。

詳:

TTL是TimeToLive,目前是hup

count,當(dāng)包每經(jīng)過一個路由器它就會被減去一,假如它變成0,路由器就會把包丟掉。IP網(wǎng)絡(luò)往往帶有環(huán)(loop),比如子網(wǎng)A和子網(wǎng)B有兩個路由器

相連,它就是一個loop。TTL的主要目的是防止包在有回路的網(wǎng)絡(luò)上死轉(zhuǎn),由于包的TTL最終后變成0而使得此包從網(wǎng)上消逝(此時往往路由器會送一個

ICMP包回來,traceroute就是依據(jù)這個做的)。ping會送包出去,所以里面有它,但是ping不肯定非要不可它。traceroute那么是

完全由于有它才能成的。ifconfig是用來配置網(wǎng)卡的,netstat-rn是用來列路由表的,所以都用不著它

5.路由表示做什么用的?在linu*環(huán)境中怎么來配置一條默認(rèn)路由?

答:

簡:路由表是用來決斷如何將包從一個子網(wǎng)傳送到另一個子網(wǎng)的,換局話說就是用來決斷從一個網(wǎng)卡接收到的包應(yīng)當(dāng)送的哪一張網(wǎng)卡上的。在Linu*上可以用“routeadddefaultgw”來配置一條默認(rèn)路由。

詳:

路由表是用來決斷如何將包從一個子網(wǎng)傳送到另一個子網(wǎng)的,換局話說就是用來決斷從一個網(wǎng)卡接收到的包應(yīng)當(dāng)送的哪一張網(wǎng)卡上的。路由表的每一行至少有目標(biāo)網(wǎng)

絡(luò)號、netmask、到這個子網(wǎng)應(yīng)當(dāng)運用的網(wǎng)卡。當(dāng)路由器從一個網(wǎng)卡接收到一個包時,它掃描路由表的每一行,用里面的netmask和包里的目標(biāo)IP地

址做并規(guī)律運算()找出目標(biāo)網(wǎng)絡(luò)號,假如此網(wǎng)絡(luò)號和這一行里的網(wǎng)絡(luò)號相同就將這條路由保留下來做為備用路由,假如已經(jīng)有備用路由了就在這兩條路

由里將網(wǎng)絡(luò)號最長的留下來,另一條丟掉,如此接著掃描下一行直到結(jié)束。假如掃描結(jié)束任沒有找到任何路由,就用默認(rèn)路由。確定路由后,徑直將包送到對應(yīng)的網(wǎng)

卡上去。在詳細(xì)的實現(xiàn)中,路由表可能包含更多的信息為選路由算法的環(huán)節(jié)所用。題外話:路由算法其實效率很差,而且不scalable,解決方法是運用IP

交換機,比如MPLS。

在Linu*上可以用“routeadddefaultgw”來配置一條默認(rèn)路由。

6.在網(wǎng)絡(luò)中有兩臺主機A和B,并通過路由器和其他交換設(shè)備連接起來,已經(jīng)確認(rèn)物理連接正確無誤,怎么來測試這兩臺機器是否連通?假如不通,怎么來判斷故障點?怎么摒除故障?

答:測試這兩臺機器是否連通:從一臺機器ping另一臺機器

假如ping不通,用traceroute可以確定是哪個路由器不能連通,然后再找問題是在交換設(shè)備/hup/cable等。

7.網(wǎng)絡(luò)編程中設(shè)計并發(fā)服務(wù)器,運用多進程與多線程,請問有什么區(qū)分?

答案一:

1,進程:子進程是父進程的復(fù)制品。子進程獲得父進程數(shù)據(jù)空間、堆和棧的復(fù)制品。

2,線程:相對與進程而言,線程是一個更加接近與執(zhí)行體的概念,它可以與同進程的其他線程共享數(shù)據(jù),但擁有自己的??臻g,擁有獨立的執(zhí)行序列。

兩者都可以提高程序的并發(fā)度,提高程序運行效率和響應(yīng)時間。

線程和進程在運用上各有優(yōu)缺點:線程執(zhí)行開銷小,但不利于資源管理和愛護;而進程正相反。同時,線程適合于在SMP機器上運行,而進程那么可以跨機器遷移。

答案二:

根本區(qū)分就一點:用多進程每個進程有自己的地址空間(addressspace),線程那么共享地址空間。全部其它區(qū)分都是由此而來的:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論