6.2 筆試真題 & 詳解
1. 62-63=1 等式不成立,請(qǐng)移動(dòng)一個(gè)數(shù)字(不可以移動(dòng)減號(hào)和等于號(hào)),使得等式成立,如何移動(dòng)?
答:62移動(dòng)成2的6次方
2. C#中 property 與 attribute的區(qū)別,他們各有什么用處,這種機(jī)制的好處在哪里?
答:attribute:自定義屬性的基類;property :類中的屬性
3.C#可否對(duì)內(nèi)存進(jìn)行直接的操作?
答:在.net下,.net引用了垃圾回收(GC)功能,它替代了程序員 不過在C#中,不能直接實(shí)現(xiàn)Finalize方法,而是在析構(gòu)函數(shù)中調(diào)用基類的Finalize()方法
4.ADO。NET相對(duì)于ADO等主要有什么改進(jìn)?
答:1:ado.net不依賴于ole db提供程序,而是使用.net托管提供的程序,2:不使用com3:不在支持動(dòng)態(tài)游標(biāo)和服務(wù)器端游 4:,可以斷開connection而保留當(dāng)前數(shù)據(jù)集可用 5:強(qiáng)類型轉(zhuǎn)換 6ml支持
5.大概描述一下ASP。NET服務(wù)器控件的生命周期
答:初始化 加載視圖狀態(tài) 處理回發(fā)數(shù)據(jù) 加載 發(fā)送回發(fā)更改通知 處理回發(fā)事件預(yù)呈現(xiàn) 保存狀態(tài) 呈現(xiàn) 處置 卸載
6.Anonymous Inner Class (匿名內(nèi)部類) 是否可以extends(繼承)其它類,是否可以implements(實(shí)現(xiàn))intece(接口)?
答:不能,可以實(shí)現(xiàn)接口
7.Static Nested Class 和 Inner Class的不同,說得越多越好
答:Static Nested Class是被聲明為靜態(tài)(static)的內(nèi)部類,它可以不依賴于外部類實(shí)例被實(shí)例化。而通常的內(nèi)部類需要在外部類實(shí)例化后才能實(shí)例化。
8.&和&&的區(qū)別。
答:&是位運(yùn)算符,表示按位與運(yùn)算,&&是邏輯運(yùn)算符,表示邏輯與(and).
9.HashMap和Hashtable的區(qū)別。
答:HashMap是Hashtable的輕量級(jí)實(shí)現(xiàn)(非線程安全的實(shí)現(xiàn)),他們都完成了Map接口,主要區(qū)別在于HashMap允許空(null)鍵值(key),由于非線程安全,效率上可能高于Hashtable.
10.Overloaded的方法是否可以改變返回值的類型?
答:Overloaded的方法是可以改變返回值的類型。
11.error和exception有什么區(qū)別?
答:error 表示恢復(fù)不是不可能但很困難的情況下的一種嚴(yán)重問題。比如說內(nèi)存溢出。不可能指望程序能處理這樣的情況。exception 表示一種設(shè)計(jì)或?qū)崿F(xiàn)問題。也就是說,它表示如果程序運(yùn)行正常,從不會(huì)發(fā)生的情況。
12.你覺得ASP.NET 2.0(VS2005)和你以前使用的開發(fā)工具(.Net 1.0或其他)有什么最大的區(qū)別?你在以前的平臺(tái)上使用的哪些開發(fā)思想(pattern /architecture)可以移植到ASP.NET 2.0上 (或者已經(jīng)內(nèi)嵌在ASP.NET 2.0中)
答:1 ASP.NET 2.0 把一些代碼進(jìn)行了封裝打包,所以相比1.0相同功能減少了很多代碼.2 同時(shí)支持代碼分離和頁面嵌入服務(wù)器端代碼兩種模式,以前1.0版本,.NET提示幫助只有在分離的代碼文件,無 法 在頁面嵌入服務(wù)器端代碼獲得幫助提示,3 代碼和設(shè)計(jì)界面切換的時(shí)候,2.0支持光標(biāo)定位.這個(gè)我比較喜歡4 在綁定數(shù)據(jù),做表的分頁.Update,Delete,等操作都可以可視化操作,方便了初學(xué)者5 在ASP.NET中增加了40多個(gè)新的控件,減少了工作量
13.重載與覆蓋的區(qū)別?
答:1、方法的覆蓋是子類和父類之間的關(guān)系,是垂直關(guān)系;方法的重載是同一個(gè)類中方法之間的關(guān)系,是水平關(guān)系2、覆蓋只能由一個(gè)方法,或只能由一對(duì)方法產(chǎn)生關(guān)系;方法的重載是多個(gè)方法之間的關(guān)系。3、覆蓋要求參數(shù)列表相同;重載要求參數(shù)列表不同。4、覆蓋關(guān)系中,調(diào)用那個(gè)方法體,是根據(jù)對(duì)象的類型(對(duì)象對(duì)應(yīng)存儲(chǔ)空間類型)來決定;重載關(guān)系,是根據(jù)調(diào) 用時(shí)的實(shí)參表與形參表來選擇方法體的。
14.描述一下C#中索引器的實(shí)現(xiàn)過程,是否只能根據(jù)數(shù)字進(jìn)行索引?
答:不是?梢杂萌我忸愋汀
15.在C#中,string str = null 與 string str = " " 請(qǐng)盡量使用文字或圖象說明其中的區(qū)別。
答:null是沒有空間引用的;" " 是空間為0的字符串;
16.公司要求開發(fā)一個(gè)繼承System.Windows.Forms.ListView類的組件,要求達(dá)到以下的特殊功能:點(diǎn)擊ListView各列列頭時(shí),能按照點(diǎn)擊列的每行值進(jìn)行重排視圖中的所有行 (排序的方式如DataGrid相似)。根據(jù)您的知識(shí),請(qǐng)簡(jiǎn)要談一下您的思路:
答:根據(jù)點(diǎn)擊的列頭,包該列的ID取出,按照該ID排序后,在給綁定到ListView中
17.什么是WSE?目前最新的版本是多少?
答:WSE (Web Service Extension) 包來提供最新的WEB服務(wù)安全保證,目前最新版本2.0。
18.abstract class和intece有什么區(qū)別?
答:聲明方法的存在而不去實(shí)現(xiàn)它的類被叫做抽象類(abstract class),它用于要?jiǎng)?chuàng)建一個(gè)體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實(shí)現(xiàn)該類的情況。不能創(chuàng)建abstract 類的實(shí)例。然而可以創(chuàng)建一個(gè)變量,其類型是一個(gè)抽象類,并讓它指向具體子類的一個(gè)實(shí)例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。Abstract 類的子類為它們父類中的所有抽象方法提供實(shí)現(xiàn),否則它們也是抽象類為。取而代之,在子類中實(shí)現(xiàn)該方法。知道其行為的其它類可以在類中實(shí)現(xiàn)這些方法。接口(intece)是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過實(shí)現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個(gè)有程序體。接口只可以定義static final成員變量。接口的實(shí)現(xiàn)與子類相似,除了該實(shí)現(xiàn)類不能從接口定義中繼承行為。當(dāng)類實(shí)現(xiàn)特殊接口時(shí),它定義(即將程序體給予)所有這種接口的方法。然后,它可以在實(shí)現(xiàn)了該接口的類的任何對(duì)象上調(diào)用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。通常的動(dòng)態(tài)聯(lián)編將生效。引用可以轉(zhuǎn)換到接口類型或從接口類型轉(zhuǎn)換,instanceof 運(yùn)算符可以用來決定某對(duì)象的類是否實(shí)現(xiàn)了接口。
真題二:LG 電子(中國)研發(fā)中心手機(jī)硬件工程師筆試題1:執(zhí)行語句 printf( " |%9.4f|\n " ,12345.67);后的輸出結(jié)果是
A.|2345.6700|
B.|12345.6700|
C.|12345.670|
D.|12345.67|
2:對(duì)于如下定義的枚舉型 enum list1{x1,x2,x3,x4=6,x5,x6} ;
枚舉常數(shù) x2 和 x6 的值分別是
A.1,6
B.1,8
C.2,6
D.2,8
3:設(shè) double * p[6];則
A.p 是指向 double 型變量的指針
B.p 是 double 型數(shù)組
C.p 是指針數(shù)組,其元素是指向 double 型變量的指針
D.p 是數(shù)組指針,指向 double 型數(shù)組
4:若定義了 int m,n=0,*p1=&m;,則下列與 m=n;等價(jià)的正確語句是
A.m=*p1;
B.*p1=&*n;
C.*&p1=&*n;
D.*p1=*&n。
5:多層印制電路板(4 層或者 4 層以上)比雙面板更適合于高速 PCB 布線,最主要的原因是
A.通過電源平面供電,電壓更穩(wěn)定;
B.可以大大減小電路中信號(hào)回路的面積;
C.多層印制電路板工藝簡(jiǎn)單;
D.自動(dòng)布線更容易。
6:根據(jù)采樣定理,當(dāng)采樣器的采樣頻率至少高于或等于連續(xù)信號(hào)的最高頻率 _____倍時(shí),原信號(hào)才能通過采樣器而無失真地復(fù)現(xiàn)出來。
A.2;
B.3;
C.4;
D.5。
7:設(shè) int(*p)( );,則 p 是
A.一維數(shù)組的指針變量;
B.函數(shù)的指針變量;
C.二級(jí)指針變量;
D.字符串的指針變量。
8:電路板的設(shè)計(jì)主要分三個(gè)步驟,不包括_____這一步驟。
A.生成網(wǎng)絡(luò)表;
B.設(shè)計(jì)印制電路板;
C.設(shè)計(jì)電路原理圖;
D.自動(dòng)布線。
9:8031 單片機(jī)外部 ROM、RAM 和 I/O 的地址空間容量共為
A.16K;
B.32K;
C.64K;
D.128K。
10:8051 單片機(jī)為( )位單片機(jī)。
A.4 位;
B.8 位;
C.16 位;
D.32 位。
11:假如指針 p 已經(jīng)指向某個(gè)整型變量 x,則(*p)++相當(dāng)于
A.x++;
B.p++;
C.*(p++);
D.&x++。
12:執(zhí)行下述程序的輸出結(jié)果是( )。
#include
#define f(x) x*x
main()
{
int a=6,b=2,c;
c=f(a)/f(b);
printf("%d\n",c);
}
A.9;
B.6;
C.36;
D.18。
13:對(duì) do-whie 語言錯(cuò)誤的說法是
A.可構(gòu)成多重循環(huán)結(jié)構(gòu);
B.循環(huán)次數(shù)不可能為 0;
C.循環(huán)次數(shù)可能為 0;
D.先執(zhí)行后判斷。
14:設(shè) AL 寄存器的初值為 90H,指令“OR AL,09H”執(zhí)行后,AL 中的內(nèi)容是
A.09H;
B.90H;
C.99H;
D.0FFH。
15:90H 是用 8 位二進(jìn)制補(bǔ)碼表示的十六進(jìn)制數(shù),那么相應(yīng)的十進(jìn)制數(shù)是
A.144;
B.–112;
C.90;
D.-99。
簡(jiǎn)答題16:面向?qū)ο笫鞘裁匆馑,C++是如何實(shí)現(xiàn)的;
17:unsigned short A = 10;
printf("~A = %u\n", ~A);
char c=128;
printf("c=%d\n",c);
輸出多少?并分析過程
18:在分區(qū)式存儲(chǔ)管理中,什么是“地址重新定位”?動(dòng)態(tài)和靜態(tài)重新定位的區(qū)別是什么?
19:8259A 中斷控制器的功能是什么?
20:Write a function rightrot(x,n) that returns the value of the integer x rotated to the right by n bitpositions.
21:閱讀下列程序,回答問題。
# include
main ()
{
int a,b,m,n;
scanf ( “ %d%d \ n ” , %a, %b);
m=1;
n=1;
if (a>0) m=m+n;
if (a<0)
else if (a==b) n=5;
else n=m+n;
printf ( “ m=%d n=%d \ n ” , m, n);
}
當(dāng)輸入為 : -1 -2< 回車 > 時(shí),寫出程序的運(yùn)行結(jié)果。
22: Write a program to "fold" long input? lines into two or more shorter lines after the lastnon-blank characte that occurs? before the n -th column of input. Make sure your program doessomething intelligent with very long lines, and if there are no blanks or tabs before the specifiedcolumn.
23:何謂自動(dòng) EOI 方法?
24:請(qǐng)編寫一個(gè) C 函數(shù),該函數(shù)將給定的一個(gè)整數(shù)轉(zhuǎn)換成字符串。
25:鏈表排序(從小到大)
節(jié)點(diǎn)定義為:
struct Node{
int nValue;
struct Node* pNext;
};
最后一個(gè)節(jié)點(diǎn)的 pNext = NULL.
Node* SortChain( Node* pHead );
真題三: 1. C#中 property 與 attribute的區(qū)別,他們各有什么用處,這種機(jī)制的好處在哪里?
答:attribute:自定義屬性的基類;property :類中的屬性
2. 62-63=1 等式不成立,請(qǐng)移動(dòng)一個(gè)數(shù)字(不可以移動(dòng)減號(hào)和等于號(hào)),使得等式成立,如何移動(dòng)?
答:62移動(dòng)成2的6次方
3.C#可否對(duì)內(nèi)存進(jìn)行直接的操作?
答:在.net下,.net引用了垃圾回收(GC)功能,它替代了程序員 不過在C#中,不能直接實(shí)現(xiàn)Finalize方法,而是在析構(gòu)函數(shù)中調(diào)用基類的Finalize()方法
4.ADO。NET相對(duì)于ADO等主要有什么改進(jìn)?
答:1:ado.net不依賴于ole db提供程序,而是使用.net托管提供的程序,2:不使用com3:不在支持動(dòng)態(tài)游標(biāo)和服務(wù)器端游 4:,可以斷開connection而保留當(dāng)前數(shù)據(jù)集可用 5:強(qiáng)類型轉(zhuǎn)換 6ml支持
5.大概描述一下ASP。NET服務(wù)器控件的生命周期
答:初始化 加載視圖狀態(tài) 處理回發(fā)數(shù)據(jù) 加載 發(fā)送回發(fā)更改通知 處理回發(fā)事件預(yù)呈現(xiàn) 保存狀態(tài) 呈現(xiàn) 處置 卸載
6.Anonymous Inner Class (匿名內(nèi)部類) 是否可以extends(繼承)其它類,是否可以implements(實(shí)現(xiàn))intece(接口)?
答:不能,可以實(shí)現(xiàn)接口
7.Static Nested Class 和 Inner Class的不同,說得越多越好
答:Static Nested Class是被聲明為靜態(tài)(static)的內(nèi)部類,它可以不依賴于外部類實(shí)例被實(shí)例化。而通常的內(nèi)部類需要在外部類實(shí)例化后才能實(shí)例化。
8.&和&&的區(qū)別。
答:&是位運(yùn)算符,表示按位與運(yùn)算,&&是邏輯運(yùn)算符,表示邏輯與(and).
9.HashMap和Hashtable的區(qū)別。
答:HashMap是Hashtable的輕量級(jí)實(shí)現(xiàn)(非線程安全的實(shí)現(xiàn)),他們都完成了Map接口,主要區(qū)別在于HashMap允許空(null)鍵值(key),由于非線程安全,效率上可能高于Hashtable.
10.Overloaded的方法是否可以改變返回值的類型?
答:Overloaded的方法是可以改變返回值的類型。
11.error和exception有什么區(qū)別?
答:error 表示恢復(fù)不是不可能但很困難的情況下的一種嚴(yán)重問題。比如說內(nèi)存溢出。不可能指望程序能處理這樣的情況。exception 表示一種設(shè)計(jì)或?qū)崿F(xiàn)問題。也就是說,它表示如果程序運(yùn)行正常,從不會(huì)發(fā)生的情況。
12.你覺得ASP.NET 2.0(VS2005)和你以前使用的開發(fā)工具(.Net 1.0或其他)有什么最大的區(qū)別?你在以前的平臺(tái)上使用的哪些開發(fā)思想(pattern /architecture)可以移植到ASP.NET 2.0上 (或者已經(jīng)內(nèi)嵌在ASP.NET 2.0中)
答:1 ASP.NET 2.0 把一些代碼進(jìn)行了封裝打包,所以相比1.0相同功能減少了很多代碼.2 同時(shí)支持代碼分離和頁面嵌入服務(wù)器端代碼兩種模式,以前1.0版本,.NET提示幫助只有在分離的代碼文件,無 法 在頁面嵌入服務(wù)器端代碼獲得幫助提示,3 代碼和設(shè)計(jì)界面切換的時(shí)候,2.0支持光標(biāo)定位.這個(gè)我比較喜歡4 在綁定數(shù)據(jù),做表的分頁.Update,Delete,等操作都可以可視化操作,方便了初學(xué)者5 在ASP.NET中增加了40多個(gè)新的控件,減少了工作量
13.重載與覆蓋的區(qū)別?
答:1、方法的覆蓋是子類和父類之間的關(guān)系,是垂直關(guān)系;方法的重載是同一個(gè)類中方法之間的關(guān)系,是水平關(guān)系2、覆蓋只能由一個(gè)方法,或只能由一對(duì)方法產(chǎn)生關(guān)系;方法的重載是多個(gè)方法之間的關(guān)系。3、覆蓋要求參數(shù)列表相同;重載要求參數(shù)列表不同。4、覆蓋關(guān)系中,調(diào)用那個(gè)方法體,是根據(jù)對(duì)象的類型 (對(duì)象對(duì)應(yīng)存儲(chǔ)空間類型)來決定;重載關(guān)系,是根據(jù)調(diào) 用時(shí)的實(shí)參表與形參表來選擇方法體的。
14.描述一下C#中索引器的實(shí)現(xiàn)過程,是否只能根據(jù)數(shù)字進(jìn)行索引?
答:不是。可以用任意類型。
15.在C#中,string str = null 與 string str = " " 請(qǐng)盡量使用文字或圖象說明其中的區(qū)別。
答:null是沒有空間引用的;" " 是空間為0的字符串;
16.什么是WSE?目前最新的版本是多少?
答:WSE (Web Service Extension) 包來提供最新的WEB服務(wù)安全保證,目前最新版本2.0。
17.公司要求開發(fā)一個(gè)繼承System.Windows.Forms.ListView類的組件,要求達(dá)到以下的特殊功能:點(diǎn)擊ListView 各列列頭時(shí),能按照點(diǎn)擊列的每行值進(jìn)行重排視圖中的所有行 (排序的方式如DataGrid相似)。根據(jù)您的知識(shí),請(qǐng)簡(jiǎn)要談一下您的思路:
答:根據(jù)點(diǎn)擊的列頭,包該列的ID取出,按照該ID排序后,在給綁定到ListView中
1、英國人住在紅房子里。
2、瑞典人養(yǎng)狗。
3、丹麥人喝茶。
4、綠房子緊挨著白房子,在白房子的左邊。
5、綠房子的主人喝咖啡。
6、抽PALL MALL牌香煙的人養(yǎng)鳥。
7、黃房子里的人抽DUNHILL牌的煙。
8、住中間房子的人喝牛奶。
9、挪威人住在第一個(gè)房子里(最左邊)。
10、抽BLENDS香煙的人和養(yǎng)貓的人相鄰。
11、養(yǎng)馬的人和抽DUNHILL牌香煙的人相鄰。
12、抽BLUEMASTER牌香煙的人喝啤酒。
13、德國人抽PRINCE牌香煙。
14、挪威人和住藍(lán)房子的人相鄰。
15、抽BLENDS牌香煙和喝礦泉水的人相鄰。
問題:誰在養(yǎng)魚?
答案:
第一個(gè)房子是 黃房子,挪威人,礦泉水,貓,DUNHILL.
第二個(gè)房子是 藍(lán)房子,丹麥人,茶, 馬,BLENDS.
第三個(gè)房子是 紅房子,英國人,奶, 鳥,PALL MALL.
第四個(gè)房子是 綠房子,德國人,咖啡, 魚,PRINCE.
第五個(gè)房子是 白房子,瑞典人,酒, 狗,BLUEMASTER.
詳解:
1. 通讀后知道房子有順序,由條件9知道,第一個(gè)房子是挪威人。
2. 條件14,第二個(gè)房子是藍(lán)房子。
3. 由4,5知,綠白房子靠,綠房子喝coffee,再由中間房子喝牛奶,知道第三個(gè)是喝牛奶的,第四個(gè)是綠房子,第五個(gè)是白房子。
4. 由1知道,英國人住紅房子,所以3是一個(gè)紅房子,英國人住。
5. 由于房子顏色不一樣,1就是黃房子。由7,1抽的煙就知道啦。
6. 由11知,藍(lán)房子養(yǎng)馬。
7. Branch。藍(lán)白房子必然有一個(gè)是丹麥人,假設(shè)藍(lán)房子是丹麥人,由3,知道他喝茶。
8. 由條件12,所以必然5瑞典人抽BLUESMASTER,喝啤酒。
9. 由15, 1喝礦泉水,2抽BLENDS。
10. 由13, 4是德國人,抽prince。
11. 所以,由于國籍不同加上2, 5房子里瑞典人,養(yǎng)狗。
12. 由6, 紅房子的人抽PALLMALL,養(yǎng)鳥。
13. 所以 德國人養(yǎng)魚