1、 a=999,b=333,在不用第三方變題的前提下,把它們的值互換?
a) 目的:考察對(duì)基礎(chǔ)知識(shí)的掌握。
b) 采用線性算法,a = a + b ;b = a – b ; a= a - b.
2、 簡(jiǎn)述 private、 protected、 public、 internal 修飾符的訪問(wèn)權(quán)限。
a) 目的:考察對(duì)基礎(chǔ)知識(shí)的掌握。
b) private : 私有成員, 在類的內(nèi)部才可以訪問(wèn)。
c) protected : 保護(hù)成員,該類內(nèi)部和繼承類中可以訪問(wèn)。
d) public : 公共成員,完全公開(kāi),沒(méi)有訪問(wèn)限制。
e) internal: 在同一命名空間內(nèi)可以訪問(wèn)。
3、 ASP.NET 頁(yè)面之間傳遞值的幾種方式。
a) 1.使用QueryString, 如....?id=1; response. Redirect()....
b) 2.使用Session變量
c) 3.使用Server.Transfer
4、 用.net做B/S結(jié)構(gòu)的系統(tǒng),您是用幾層結(jié)構(gòu)來(lái)開(kāi)發(fā),每一層之間的關(guān)系以及為什么要這樣分層?
a) 一般為3層
b) 數(shù)據(jù)訪問(wèn)層,業(yè)務(wù)層,表示層。
c) 數(shù)據(jù)訪問(wèn)層對(duì)數(shù)據(jù)庫(kù)進(jìn)行增刪查改。
d) 業(yè)務(wù)層一般分為二層,業(yè)務(wù)表觀層實(shí)現(xiàn)與表示層的溝通,業(yè)務(wù)規(guī)則層實(shí)現(xiàn)用戶密碼的安全等。
e) 表示層為了與用戶交互例如用戶添加表單。
f) 優(yōu)點(diǎn):分工明確,條理清晰,易于調(diào)試,而且具有可擴(kuò)展性。
g) 缺點(diǎn):增加成本。
5、 寫(xiě)出一條Sql語(yǔ)句:取出表A中第1000到第1099記錄(SQLServer,以自動(dòng)增長(zhǎng)的ID作為主鍵,注意:ID可能不是連續(xù)的。
a) 解1: select top 99 * from A where id not in (select top 1000 id from A) ,對(duì)SQL基本理論、語(yǔ)法是否熟悉!
6、 寫(xiě)出程序的輸出結(jié)果:
public class A
{
public virtual void Fun1(int i)
{
Console.WriteLine(i);
}
public void Fun2(A a)
{
a.Fun1(1);
Fun1(5);
}
}
public class B : A
{
public override void Fun1(int i)
{
base.Fun1 (i + 1);
}
public static void Main()
{
B b = new B();
A a = new A();
a.Fun2(b);
b.Fun2(a);
}
}
考查在繼承類中構(gòu)造函數(shù), 以及new 方法。2 、5 、 1 、6
7、 C#中,string str = null 與 string str ="",請(qǐng)盡量用文字說(shuō)明區(qū)別。
a) string str ="" 分配空間而string str = null不分配空間。
8、 Session有什么重大BUG,有什么方法加以解決?
a) 是iis中由于有進(jìn)程回收機(jī)制,系統(tǒng)繁忙的話Session會(huì)丟失,可以用Sate server或SQL Server數(shù)據(jù)庫(kù)的方式存儲(chǔ)Session不過(guò)這種方式比較慢,而且無(wú)法捕獲Session的END事件。
9、 簡(jiǎn)要談一下您對(duì).NET 構(gòu)架下remoting和webservice兩項(xiàng)技術(shù)的理解以及實(shí)際中的應(yīng)用。
a) WS主要是可利用HTTP,穿透防火墻。而Remoting可以利用TCP/IP,二進(jìn)制傳送提高效率。
10、 try {}里有一個(gè)return語(yǔ)句,那么緊跟在這個(gè)try后的finally {}里的代碼會(huì)不會(huì)被執(zhí)行,什么時(shí)候被執(zhí)行?
a) 會(huì)執(zhí)行,在return前執(zhí)行。
11、 abstract class和interface有什么區(qū)別?
a) 聲明方法的存在而不去實(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)這些方法。
接口(interface)是抽像類的變體。在接口中,所有方法都是抽像的。多繼承性可通過(guò)實(shí)現(xiàn)這樣的接口而獲得。接口中的所有方法都是抽像的,沒(méi)有一個(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)算符可以用來(lái)決定某對(duì)象的類是否實(shí)現(xiàn)了接口。
12、每次我們請(qǐng)求一個(gè)asp.net頁(yè)面時(shí),我們都經(jīng)歷著同樣的過(guò)程,我們稱它為asp.net頁(yè)面生命周期!每個(gè)頁(yè)面的生命周期為用戶的每一次訪問(wèn),也就是說(shuō)每一次客戶端與服務(wù)器之間的一個(gè)往返過(guò)程.請(qǐng)你說(shuō)一說(shuō)這個(gè)過(guò)程它們都發(fā)生了那些事件?
目的:是否從根本去了解頁(yè)面是如何來(lái)的。
1. Page_Init();
2. Load ViewState and Postback data;
3. Page_Load();
4. Handle control events;
5. Page_PreRender();
6. Page_Render();
7. Unload event;
8. Dispose method called;