97超级碰碰碰久久久_精品成年人在线观看_精品国内女人视频免费观_福利一区二区久久

計(jì)算機(jī)面試題

時(shí)間:2022-07-13 17:15:25 面試 我要投稿
  • 相關(guān)推薦

計(jì)算機(jī)面試題

一些面試準(zhǔn)備題(包括高質(zhì)量c++題)

計(jì)算機(jī)面試題

const char*, char const*, char*const的區(qū)別問(wèn)題幾乎是C++面試中每次都會(huì)有的題目。

事實(shí)上這個(gè)概念誰(shuí)都有只是三種聲明方式非常相似很容易記混。

Bjarne在他的The C++ programming Language里面給出過(guò)一個(gè)助記的方法:

把一個(gè)聲明從右向左讀。

char * const cp; ( * 讀成 pointer to )

cp is a const pointer to char

const char * p;

p is a pointer to const char;

char const * p;

同上因?yàn)镃++里面沒(méi)有const*的運(yùn)算符,所以const只能屬于前面的類型。

---------------------------------

下面這個(gè)程序執(zhí)行后會(huì)有什么錯(cuò)誤或者效果:

#define MAX 255

int main()

{

unsigned char A[MAX],i;

for (i=0;i<=max;i++)

A[i]=i;

}

解答:

MAX=255

數(shù)組A的下標(biāo)范圍為:0..MAX-1,這是其一..

其二.當(dāng)i循環(huán)到255時(shí),循環(huán)內(nèi)執(zhí)行:

A[255]=255;

這句本身沒(méi)有問(wèn)題..但是返回for (i=0;i<=max;i++)語(yǔ)句時(shí),

由于unsigned char的取值范圍在(0..255),i++以后i又為0了..無(wú)限循環(huán)下去.

注:char類型為一個(gè)字節(jié),取值范圍是[-128,127],unsigned char [0 ,255]

---------------------------------

編寫用C語(yǔ)言實(shí)現(xiàn)的求n階階乘問(wèn)題的遞歸算法:

long int fact(int n)

{

int x;

long int y;

if(n<0)

{

printf("error!");

}

if(n==0)

return 1;

x=n-1;

y=fact(x);

return (n*y);

}

--------------------------------

二分查找算法:

1、遞歸方法實(shí)現(xiàn):

int BSearch(elemtype a[],elemtype x,int low,int high)

/*在下屆為low,上界為high的數(shù)組a中折半查找數(shù)據(jù)元素x*/

{

int mid;

if(low>high) return -1;

mid=(low+high)/2;

if(x==a[mid]) return mid;

if(x

else return(BSearch(a,x,mid+1,high));

}

2、非遞歸方法實(shí)現(xiàn):

int BSearch(elemtype a[],keytype key,int n)

{

int low,high,mid;

low=0;high=n-1;

while(low<=high)

{

mid=(low+high)/2;

if(a[mid].key==key) return mid;

else if(a[mid].key

else high=mid-1;

}

return -1;

}

--------------------------------

非遞歸計(jì)算如下遞歸函數(shù)的值(斐波拉契):

f(1)=1

f(2)=1

f(n)=f(n-1)+f(n-2) n>2

解:

int f(int n)

{

int i,s,s1,s2;

s1=1;/*s1用于保存f(n-1)的值*/

s2=1;/*s2用于保存f(n-2)的值*/

s=1;

for(i=3;i<=n;i++)

{

s=s1+s2;

s2=s1;

s1=s;

}

return(s);

}

------------------------------

交換兩個(gè)數(shù),不用第三塊兒內(nèi)存:

int a = ……;

int b = ……;

a = a + b;

b = a - b;

a = a - b;

-------------------------------

Q1:請(qǐng)你分別劃劃OSI的七層網(wǎng)絡(luò)結(jié)構(gòu)圖,和TCp/Ip的五層結(jié)構(gòu)圖?

1、OSI每層功能及特點(diǎn)

a 物理層 為數(shù)據(jù)鏈路層提供物理連接,在其上串行傳送比特流,即所傳送數(shù)據(jù)的單位是比特。此外,該層中還具有確定連接設(shè)備的電氣特性和物理特性等功能。

b 數(shù)據(jù)鏈路層 負(fù)責(zé)在網(wǎng)絡(luò)節(jié)點(diǎn)間的線路上通過(guò)檢測(cè)、流量控制和重發(fā)等手段,無(wú)差錯(cuò)地傳送以幀為單位的數(shù)據(jù)。為做到這一點(diǎn),在每一幀中必須同時(shí)帶有同步、地址、差錯(cuò)控制及流量控制等控制信息。

c 網(wǎng)絡(luò)層 為了將數(shù)據(jù)分組從源(源端系統(tǒng))送到目的地(目標(biāo)端系統(tǒng)),網(wǎng)絡(luò)層的任務(wù)就是選擇合適的路由和交換節(jié)點(diǎn),使源的傳輸層傳下來(lái)的分組信息能夠正確無(wú)誤地按照地址找到目的地,并交付給相應(yīng)的傳輸層,即完成網(wǎng)絡(luò)的尋址功能。

d 傳輸層 傳輸層是高低層之間銜接的接口層。數(shù)據(jù)傳輸?shù)膯挝皇菆?bào)文,當(dāng)報(bào)文較長(zhǎng)時(shí)將它分割成若干分組,然后交給網(wǎng)絡(luò)層進(jìn)行傳輸。傳輸層是計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議分層中的最關(guān)鍵一層,該層以上各層將不再管理信息傳輸問(wèn)題。

e 會(huì)話層 該層對(duì)傳輸?shù)膱?bào)文提供同步管理服務(wù)。在兩個(gè)不同系統(tǒng)的互相通信的應(yīng)用進(jìn)程之間建立、組織和協(xié)調(diào)交互。例如,確定是雙工還是半雙工工作。

f 表示層 該層的主要任務(wù)是把所傳送的數(shù)據(jù)的抽象語(yǔ)法變換為傳送語(yǔ)法,即把不同計(jì)算機(jī)內(nèi)部的不同表示形式轉(zhuǎn)換成網(wǎng)絡(luò)通信中的標(biāo)準(zhǔn)表示形式。此外,對(duì)傳送的數(shù)據(jù)加密(或解密)、正文壓縮(或還原)也是表示層的任務(wù)。

g 應(yīng)用層 該層直接面向用戶,是OSI中的最高層。它的主要任務(wù)是為用戶提供應(yīng)用的接口,即提供不同計(jì)算機(jī)間的文件傳送、訪問(wèn)與管理,電子郵件的內(nèi)容處理,不同計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)交互訪問(wèn)的虛擬終端功能等。

2、TCp/Ip

a 網(wǎng)絡(luò)接口層 這是TCp/Ip協(xié)議的最低一層,包括有多種邏輯鏈路控制和媒體訪問(wèn)協(xié)議。網(wǎng)絡(luò)接口層的功能是接收Ip數(shù)據(jù)報(bào)并通過(guò)特定的網(wǎng)絡(luò)進(jìn)行傳輸,或從網(wǎng)絡(luò)上接收物理幀,抽取出Ip數(shù)據(jù)報(bào)并轉(zhuǎn)交給網(wǎng)際層。

b 網(wǎng)際網(wǎng)層(Ip層)  該層包括以下協(xié)議:Ip(網(wǎng)際協(xié)議)、ICMp(Internet Control Message protocol,因特網(wǎng)控制報(bào)文協(xié)議)、ARp(Address Resolution protocol,地址解析協(xié)議)、RARp(Reverse Address Resolution protocol,反向地址解析協(xié)議)。該層負(fù)責(zé)相同或不同網(wǎng)絡(luò)中計(jì)算機(jī)之間的通信,主要處理數(shù)據(jù)報(bào)和路由。在Ip層中,ARp協(xié)議用于將Ip地址轉(zhuǎn)換成 物理地址,RARp協(xié)議用于將物理地址轉(zhuǎn)換成Ip地址,ICMp協(xié)議用于報(bào)告差錯(cuò)和傳送控制信息。Ip協(xié)議在TCp/Ip協(xié)議組中處于核心地位。

c 傳輸層  該層提供TCp(傳輸控制協(xié)議)和UDp(User Datagram protocol,用戶數(shù)據(jù)報(bào)協(xié)議)兩個(gè)協(xié)議,它們都建立在Ip協(xié)議的基礎(chǔ)上,其中TCp提供可靠的面向連接服務(wù),UDp提供簡(jiǎn)單的無(wú)連接服務(wù)。傳輸層提 供端到端,即應(yīng)用程序之間的通信,主要功能是數(shù)據(jù)格式化、數(shù)據(jù)確認(rèn)和丟失重傳等。

d 應(yīng)用層  TCp/Ip協(xié)議的應(yīng)用層相當(dāng)于OSI模型的會(huì)話層、表示層和應(yīng)用層,它向用戶提供一組常用的應(yīng)用層協(xié)議,其中包括:Telnet、SMTp、DNS等。此外,在應(yīng)用層中還包含有用戶應(yīng)用程序,它們均是建立在TCp/Ip協(xié)議組之上的專用程序。

3、OSI參考模型和TCp/Ip參考模型的區(qū)別:

a OSI模型有7層,TCp/Ip只有4層;

b OSI先于協(xié)議出現(xiàn),因此不會(huì)偏向于任何一組特定的協(xié)議,通用性更強(qiáng),但有些功能不知該放哪一層上,因此不得不加入一些子層;TCp/Ip后于協(xié)議出現(xiàn),僅是將已有協(xié)議的一個(gè)描述,因此兩者配合的非常好;但他不適合其他的協(xié)議棧,不容易描述其他非TCp/Ip的網(wǎng)絡(luò);

c OSI中網(wǎng)絡(luò)層同時(shí)支持無(wú)連接和面向連接的通信,但在傳輸層上只支持面向連接的通信;TCp/Ip中網(wǎng)絡(luò)層只支持無(wú)連接通信,傳輸層同時(shí)支持兩種通信;

d 在技術(shù)發(fā)生變化時(shí),OSI模型比TCp/Ip模型中的協(xié)議更容易被替換。

----------------------------------------

Q2:請(qǐng)你詳細(xì)的解釋一下Ip協(xié)議的定義,在哪個(gè)層上面,主要有什么作用? TCp與UDp呢?

解:與Ip協(xié)議配套使用的還有三個(gè)協(xié)議:

ARp-地址解析協(xié)議

RARp-逆地址解析協(xié)議

ICMp-因特網(wǎng)控制報(bào)文協(xié)議ICMp

Ip協(xié)議-網(wǎng)際協(xié)議

Ip地址、Ip包頭

----------------------------------------

Q3:請(qǐng)問(wèn)交換機(jī)和路由器分別的實(shí)現(xiàn)原理是什么?分別在哪個(gè)層次上面實(shí)現(xiàn)的?

將網(wǎng)絡(luò)互相連接起來(lái)要使用一些中間設(shè)備(或中間系統(tǒng)),ISO的術(shù)語(yǔ)稱之為中繼(relay)系統(tǒng)。根據(jù)中繼系統(tǒng)所在的層次,可以有以下五種中繼系統(tǒng):

1.物理層(即常說(shuō)的第一層、層L1)中繼系統(tǒng),即轉(zhuǎn)發(fā)器(repeater)。

2.數(shù)據(jù)鏈路層(即第二層,層L2),即網(wǎng)橋或橋接器(bridge)。

3.網(wǎng)絡(luò)層(第三層,層L3)中繼系統(tǒng),即路由器(router)。

4.網(wǎng)橋和路由器的混合物橋路器(brouter)兼有網(wǎng)橋和路由器的功能。

5.在網(wǎng)絡(luò)層以上的中繼系統(tǒng),即網(wǎng)關(guān)(gateway).

當(dāng)中繼系統(tǒng)是轉(zhuǎn)發(fā)器時(shí),一般不稱之為網(wǎng)絡(luò)互聯(lián),因?yàn)檫@僅僅是把一個(gè)網(wǎng)絡(luò)擴(kuò)大了,而這仍然是一個(gè)網(wǎng)絡(luò)。高層網(wǎng)關(guān)由于比較復(fù)雜,目前使用得較少。因此一般討論網(wǎng)絡(luò)互連時(shí)都是指用交換機(jī)和路由器進(jìn)行互聯(lián)的網(wǎng)絡(luò)。本文主要闡述交換機(jī)和路由器及其區(qū)別。

第二層交換機(jī)和路由器的區(qū)別:

傳統(tǒng)交換機(jī)從網(wǎng)橋發(fā)展而來(lái),屬于OSI第二層即數(shù)據(jù)鏈路層設(shè)備。它根據(jù)MAC地址尋址,通過(guò)站表選擇路由,站表的建立和維護(hù)由交換機(jī)自動(dòng)進(jìn)行。路由器屬于 OSI第三層即網(wǎng)絡(luò)層設(shè)備,它根據(jù)IP地址進(jìn)行尋址,通過(guò)路由表路由協(xié)議產(chǎn)生。因特網(wǎng)的路由選擇協(xié)議:內(nèi)部網(wǎng)關(guān)協(xié)議IGp和外部網(wǎng)關(guān)協(xié)議EGp

第三層交換機(jī)和路由器的區(qū)別:

在第三層交換技術(shù)出現(xiàn)之前,幾乎沒(méi)有必要將路由功能器件和路由器區(qū)別開來(lái),他們完全是相同的:提供路由功能正在路由器的工作,然而,現(xiàn)在第三層交換機(jī)完全能夠執(zhí)行傳統(tǒng)路由器的大多數(shù)功能。

綜上所述,交換機(jī)一般用于LAN-WAN的連接,交換機(jī)歸于網(wǎng)橋,是數(shù)據(jù)鏈路層的設(shè)備,有些交換機(jī)也可實(shí)現(xiàn)第三層的交換。路由器用于WAN-WAN 之間的連接,可以解決異性網(wǎng)絡(luò)之間轉(zhuǎn)發(fā)分組,作用于網(wǎng)絡(luò)層。他們只是從一條線路上接受輸入分組,然后向另一條線路轉(zhuǎn)發(fā)。這兩條線路可能分屬于不同的網(wǎng)絡(luò), 并采用不同協(xié)議。相比較而言,路由器的功能較交換機(jī)要強(qiáng)大,但速度相對(duì)也慢,價(jià)格昂貴,第三層交換機(jī)既有交換機(jī)線速轉(zhuǎn)發(fā)報(bào)文能力,又有路由器良好的控制功 能,因此得以廣播應(yīng)用。

-----------------------------------------------

Q4:請(qǐng)問(wèn)C++的類和C里面的struct有什么區(qū)別?

c++中的類具有成員保護(hù)功

【計(jì)算機(jī)面試題】相關(guān)文章:

c面試題08-04

華為面試題07-11

「MySQL」經(jīng)典面試題07-11

采購(gòu)面試題07-11

面試題集錦07-11

Java面試題07-12

SQL面試題07-12

面試題與技巧07-12

華為面試題(四)07-11

華為Java面試題07-11