国产精品一久久香蕉产线看-国产精品一区在线播放-国产精品自线在线播放-国产毛片久久国产-一级视频在线-一级视频在线观看免费

IT公司筆試面試題系列九

時間:2022-07-13 23:39:35 筆試 我要投稿
  • 相關推薦

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

1.一個類有基類、內部有一個其他類的成員對象,構造函數的執行順序是怎樣的。

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

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

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

答案:聚合關系更強,類似于pages 和book 的關系;組合關系要弱,類似于books和bookshelf 的關系。

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

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

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

4.ADO.net 和ADO 的區別?

答案:實際上除了“能夠讓應用程序處理存儲于DBMS 中的數據“這一基本相似點外,兩者沒有太多共同之處。但是ADO 使用OLE DB 接口并基于微軟的COM 技術,而ADO.NET 擁有自己的ADO.NET 接口并且基于微軟的.NET 體系架構。眾所周知.NET 體系不同于COM 體系,ADO.NET 接口也就完全不同于ADO和OLE DB 接口,這也就是說ADO.NET 和ADO是兩種數據訪問方式。ADO.net 提供對XML 的支持。

5.New 與malloc free 的區別

答案:用malloc 函數不能初始化對象,new 會調用對象的構造函數。Delete 會調用對象的destructor,而free 不會調用對象的destructor.

6.#define DOUBLE(x) x+x

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

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

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

答案:當類中含有const、reference 成員變量;基類的構造函數都需要參數;類中含有其他類的成員對象,而該類的構造函數都需要參數。

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

答案:不是。兩個不同類型的指針之間可以強制轉換。C#是類型安全的。

9.main 函數執行以前,還會執行什么代碼?

答案:全局對象的構造函數會在main 函數之前執行。

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

dynamic_casts在幫助你瀏覽繼承層次上是有限制的。它不能被用于缺乏虛函數的類型上,它被用于安全地沿著類的繼承關系向下進行類型轉換。如你想在沒有繼承關系的類型中進行轉換,你可能想到static_cast

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

答案:通用寄存器給出的地址,是段內偏移地址,相應段寄存器地址*10H+通用寄存器內地址,就得到了真正要訪問的地址。

12.類成員函數的重載、覆蓋和隱藏區別

答案:

成員函數被重載的特征:

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

(2)函數名字相同;

(3)參數不同;

(4)virtual 關鍵字可有可無。

覆蓋是指派生類函數覆蓋基類函數,特征是:

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

(2)函數名字相同;

(3)參數相同;

(4)基類函數必須有virtual 關鍵字。

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

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

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

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

答案:

#ifdef __cplusplus

cout<<"c++";

#else

cout<<"c";

#endif

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

答案:方法1:如果數就是1-N-1,那么求出a[N]的和,然后減去1-N-1就行了。(確定數字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[]數組的下標,元素a[i]存儲到對應數組下標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("多余的數字是%d\n",key);

}

15.一語句實現x是否為2的若干次冪的判斷

位運算

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

16.什么是預編譯?何時需要預編譯?

1、總是使用不經常改動的大型代碼體。

2、程序由多個模塊組成,所有模塊都使用一組標準的包含文件和相同的編譯選項。在這種情況下,可以將所有包含文件預編譯為一個預編譯頭。


【IT公司筆試面試題系列九】相關文章:

IT公司筆試面試題系列07-12

華為硬件筆試、面試題07-11

華為C/C++筆試題系列二07-11

面試筆試-南方企業常問的面試題07-11

華為經典面試題系列二(數據庫)07-11

專業公司的求職筆試題12-27

求助:勞煩各位前輩幫小弟回憶校園招聘筆試和面試題07-12

公司招聘筆試題目有哪些07-10

寶馬公司面試題07-11

世界最佳公司面試題07-11

主站蜘蛛池模板: 国产精品免费在线播放 | 一级黄色录像视频 | 久久久99精品免费观看精品 | 99视频免费播放 | 欧美les视频xxxx在线观看 | 男人把女人靠到爽痛视频 | 最近高清中文字幕大全1 | 欧美日韩v| 99视频九九精品视频在线观看 | 亚洲日韩中文字幕在线播放 | 免费看欧美日韩一区二区三区 | 国产成人在线看 | 91亚洲导航深夜福利 | 九九热在线精品视频 | 国产欧美精品 | 一极黄色大片 | 免费看大黄高清网站视频在线 | 中国国产一国产一级毛片视频 | 亚洲一成人毛片 | 福利网址在线 | 毛片网站网址 | 琪琪色网站 | 一级做a爰片久久毛片唾 | 动漫精品一区二区三区四区 | 深夜a级毛片免费视频 | 狠狠乱 | 一级性视频 | 欧美一级视频 | 欧美黑人巨大日本人又爽又色 | 免费在线观看a | 一级黄大片 | 任你躁在线精品免费视频网站 | 五月婷婷在线观看视频 | 中文字幕一区在线 | 六月丁香在线观看 | 波多野结衣一区在线 | 久久天天躁狠狠躁夜夜躁 | 天堂中文在线资源 | 青草草在线 | 国产精品七七在线播放 | 婷婷亚洲图片 |