成人福利av,电视剧全集在线观看免费高清,99热影院,视频一区二区精品,电影色戒未删完整版迅雷下载,激情欧美一区二区三区,亚洲热在线观看

IT公司筆試面試題系列九

時(shí)間:2024-10-03 19:08:03 學(xué)人智庫(kù) 我要投稿
  • 相關(guān)推薦

IT公司筆試面試題系列(九)

1.一個(gè)類有基類、內(nèi)部有一個(gè)其他類的成員對(duì)象,構(gòu)造函數(shù)的執(zhí)行順序是怎樣的。

IT公司筆試面試題系列(九)

答:先執(zhí)行基類的(如果基類當(dāng)中有虛基類,要先執(zhí)行虛基類的,其他基類則按照聲明派生類時(shí)的順序依次執(zhí)行),再執(zhí)行成員對(duì)象的,最后執(zhí)行自己的。

2.在UML 中,聚合(aggregation)和組合(composition)有什么區(qū)別

答案:聚合關(guān)系更強(qiáng),類似于pages 和book 的關(guān)系;組合關(guān)系要弱,類似于books和bookshelf 的關(guān)系。

3.C#和C++除了語(yǔ)法上的差別以外,有什么不同的地方?

答案:(C#我只是了解,不是很精通)

(1) c#有垃圾自動(dòng)回收機(jī)制,程序員不用擔(dān)心對(duì)象的回收。(2)c#嚴(yán)禁使用指針,只能處理對(duì)象。如果希望使用指針,則僅可在unsafe 程序塊中能使用指針。(3)c#只能單繼承。(4)必須通過(guò)類名訪問(wèn)靜態(tài)成員。不能像C++中那樣,通過(guò)對(duì)象訪問(wèn)靜態(tài)成員。(5)在子類中覆蓋父類的虛函數(shù)時(shí)必須用關(guān)鍵字override,覆蓋父類的方法要用關(guān)鍵字new

4.ADO.net 和ADO 的區(qū)別?

答案:實(shí)際上除了“能夠讓應(yīng)用程序處理存儲(chǔ)于DBMS 中的數(shù)據(jù)“這一基本相似點(diǎn)外,兩者沒(méi)有太多共同之處。但是ADO 使用OLE DB 接口并基于微軟的COM 技術(shù),而ADO.NET 擁有自己的ADO.NET 接口并且基于微軟的.NET 體系架構(gòu)。眾所周知.NET 體系不同于COM 體系,ADO.NET 接口也就完全不同于ADO和OLE DB 接口,這也就是說(shuō)ADO.NET 和ADO是兩種數(shù)據(jù)訪問(wèn)方式。ADO.net 提供對(duì)XML 的支持。

5.New 與malloc free 的區(qū)別

答案:用malloc 函數(shù)不能初始化對(duì)象,new 會(huì)調(diào)用對(duì)象的構(gòu)造函數(shù)。Delete 會(huì)調(diào)用對(duì)象的destructor,而free 不會(huì)調(diào)用對(duì)象的destructor.

6.#define DOUBLE(x) x+x

i = 5*DOUBLE(10); i 是多少?正確的聲明是什么?

答案:i 為60。正確的聲明是#define DOUBLE(x) (x+x)

7.有哪幾種情況只能用intialization list 而不能用assignment?

答案:當(dāng)類中含有const、reference 成員變量;基類的構(gòu)造函數(shù)都需要參數(shù);類中含有其他類的成員對(duì)象,而該類的構(gòu)造函數(shù)都需要參數(shù)。

8.C++是不是類型安全的?

答案:不是。兩個(gè)不同類型的指針之間可以強(qiáng)制轉(zhuǎn)換。C#是類型安全的。

9.main 函數(shù)執(zhí)行以前,還會(huì)執(zhí)行什么代碼?

答案:全局對(duì)象的構(gòu)造函數(shù)會(huì)在main 函數(shù)之前執(zhí)行。

10.比較一下C++中static_cast 和 dynamic_cast 的區(qū)別。

dynamic_casts在幫助你瀏覽繼承層次上是有限制的。它不能被用于缺乏虛函數(shù)的類型上,它被用于安全地沿著類的繼承關(guān)系向下進(jìn)行類型轉(zhuǎn)換。如你想在沒(méi)有繼承關(guān)系的類型中進(jìn)行轉(zhuǎn)換,你可能想到static_cast

11.在8086 匯編下,邏輯地址和物理地址是怎樣轉(zhuǎn)換的?

答案:通用寄存器給出的地址,是段內(nèi)偏移地址,相應(yīng)段寄存器地址*10H+通用寄存器內(nèi)地址,就得到了真正要訪問(wèn)的地址。

12.類成員函數(shù)的重載、覆蓋和隱藏區(qū)別

答案:

成員函數(shù)被重載的特征:

(1)相同的范圍(在同一個(gè)類中);

(2)函數(shù)名字相同;

(3)參數(shù)不同;

(4)virtual 關(guān)鍵字可有可無(wú)。

覆蓋是指派生類函數(shù)覆蓋基類函數(shù),特征是:

(1)不同的范圍(分別位于派生類與基類);

(2)函數(shù)名字相同;

(3)參數(shù)相同;

(4)基類函數(shù)必須有virtual 關(guān)鍵字。

“隱藏”是指派生類的函數(shù)屏蔽了與其同名的基類函數(shù),規(guī)則如下:

(1)如果派生類的函數(shù)與基類的函數(shù)同名,但是參數(shù)不同。此時(shí),不論有無(wú)virtual關(guān)鍵字,基類的函數(shù)將被隱藏(注意別與重載混淆)。

(2)如果派生類的函數(shù)與基類的函數(shù)同名,并且參數(shù)也相同,但是基類函數(shù)沒(méi)有virtual 關(guān)鍵字。此時(shí),基類的函數(shù)被隱藏(注意別與覆蓋混淆)

13.如何判斷一段程序是由C 編譯程序還是由C++編譯程序編譯的?

答案:

#ifdef __cplusplus

cout<<"c++";

#else

cout<<"c";

#endif

14.數(shù)組a[N],存放了1至N-1個(gè)數(shù),其中某個(gè)數(shù)重復(fù)一次。寫一個(gè)函數(shù),找出被重復(fù)的數(shù)字.時(shí)間復(fù)雜度必須為o(N)函數(shù)原型:int do_dup(int a[],int N)

答案:方法1:如果數(shù)就是1-N-1,那么求出a[N]的和,然后減去1-N-1就行了。(確定數(shù)字1-N)

S = N * (N-1) / 2;

int i;

int s = 0;

for(i=0;i{

s += a[i];

}

int res = s - S;

方法2.a[]中的某元素a[i]看做是pi[]數(shù)組的下標(biāo),元素a[i]存儲(chǔ)到對(duì)應(yīng)數(shù)組下標(biāo)pi[a[i]]的地址中

#include

#define N 10

void main()

{

int a[N]={1,2,3,4,5,6,7,7,8,9};

int pi[N]={0};

int key=0;

for(int i=0;i{ if(pi[a[i]]==0)

pi[a[i]]=a[i];

else

{ key=a[i];

break;

}

}

printf("多余的數(shù)字是%d\n",key);

}

15.一語(yǔ)句實(shí)現(xiàn)x是否為2的若干次冪的判斷

位運(yùn)算

int i = 512; cout << boolalpha << ((i & (i - 1)) ? false : true) << endl;

16.什么是預(yù)編譯?何時(shí)需要預(yù)編譯?

1、總是使用不經(jīng)常改動(dòng)的大型代碼體。

2、程序由多個(gè)模塊組成,所有模塊都使用一組標(biāo)準(zhǔn)的包含文件和相同的編譯選項(xiàng)。在這種情況下,可以將所有包含文件預(yù)編譯為一個(gè)預(yù)編譯頭。

[IT公司筆試面試題系列(九)]

【IT公司筆試面試題系列九】相關(guān)文章:

硬件巨頭Intel筆試面試題目10-03

常見(jiàn)的硬件筆試面試題目參考07-03

硬件巨頭Intel筆試面試題目08-16

公司面試題09-12

Google產(chǎn)品經(jīng)理筆試題&面試題10-26

應(yīng)聘微軟全程指導(dǎo)(筆試,面試,面試題)10-28

微軟10道筆試面試題目(2)06-30

常見(jiàn)面試題六之java系列(2)08-16

寶潔公司的筆試08-15

各大it公司面試題05-25