最新的.Net面試題知多少???

  最新的.Net面試題及答案 收藏
1:a=10,b=15,在不用第三方變量的前提下,把a,b的值互換
   a=a+b;b=a-b;a=a-b;
2:已知數組int[] max={6,5,2,9,7,4,0};用快速排序算法按降序對其進行排列,並返回數組
 int count = 0;
            int[] array = { 3,2,5,1,7,9,1,3,0,22,44,222,11,12,13};
            for (int i = 0; i < array.Length;i++ )
            {
                for (int j =0; j < array.Length - 1;j++ )
                {
                    if (array[i] > array[j])
                    {
                        int tem = 0;
                        tem=array[i];
                        array[i]=array[j];
                        array[j]=tem;
                        count++;
                    }
                   
                }
            }

3:請簡述面向對象的多態的特性及意義!
在c#中多態性的定義是:同一操作作用於不同的類的實例、不同的類將進行不同的解釋、最後產生不同的執行結果。
c#支持兩種類型的多態性:
編譯時的多態性(靜態聯編)
編譯時的多態性是通過重載來實現的。方法重載和操作符重載、它們都實現了編譯時的多態性。
對於非虛的成員來說系統在編譯時根據傳遞的參數、返回的類型等信息決定實現何種操作。
運行時的多態性(動態聯編)
運行時的多態性就是指直到系統運行時才根據實際情況決定實現何種操作c#中運行時的多態性。
通過虛成員實現。
編譯時的多態性爲我們提供了運行速度快的特點而運行時的多態性則帶來了高度靈活和抽象的特點。

4:session喜歡丟值且佔內存,Cookis不安全,請問用什麼辦法代替這兩種原始的方法
    用VIEWSTATE /Profile/自己在服務器端實現個Cache
5:對數據的併發採用什麼辦法進行處理較好。
   1、使用事務對象:
 1SqlConnection   conn   =   new   SqlConnection(ConnectionString);  
 2  SqlCommand   cmd   =   new   SqlCommand("delete   from   table_a   where   bh=1",conn);  
 3  SqlTransaction   Trans   ;   //事物對象  
 4   
 5  conn.Open();  
 6  Trans   =   conn.BeginTransaction(IsolationLevel.ReadCommitted,   "MyTrans");  
 7  cmd.Transaction   =   Trans;  
 8  try{  
 9  cmd.ExecuteNonQuery();  
10                    //如果成功,則提交數據  
11  Trans.Commit();  
12  }  
13  catch   (SqlException   Err){  
14                  //產生錯誤,則回滾事物對象  
15  Trans.Rollback("MyTrans");  
16  }  
17  finally{  
18  conn.Close();  
19  }  
2、 使用lock()  unlock()
3、使用時間戳,使用timetamp類型。
6:已知Oracle數據庫有GD和ZS兩個數據庫,GD數據庫v_s表有數據寫入時,從v_s表中提取最新數據到ZS數據庫的D_E表中。請問用什麼辦法解決這一問題?如果又碰到不能互訪的問題時,又用什麼辦法解決?
7:已知Oracle數據庫a,b
現在在a用戶權限下,訪問b數據庫sql語句爲select a.* From b a,請改正這一句Sql的寫法
8:當對數據庫進行海量級的數據插入時,數據庫出現報錯,錯誤原因可能有哪些,以你的經驗談談你的解決辦法
9:算法分析
AH 20060625 12 44 01 CAD001
AH 20060625 12 44 01 CAD001
AH 20060625 13 44 02 CAD001
AH 20060625 14 44 03 CAD001
說明:第二列表示日期,第三列表示溫度,第四列表示水位,第五列表示流量,第6列表示水位測站編碼,每一列表示一個字段
很明顯第一條數據和第二條數據重複,然數據表中有主鍵和外鍵的約束,是不允許有重複的數據存在的,請構造算法將重複的數據Del掉
select distinct * into #Tmp from tableName
drop table tableName
select * into tableName from #Tmp
drop table #Tmp
10:javascript算法
已知a,b,現在點鼠標a會向b遊動,鼠標停,a會停下來
請實現"跑步算法"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1, 請你說說.NET中類和結構的區別?
  答:結構和類具有大體的語法,但是結構受到的限制比類要多。結構不能申明有默認的構造函數,爲結構的副本是又編譯器創建和銷燬的,所以不需要默認的構造函數和析構函數。結構是值類型,所以對結構變量所做的改變不會影響其的原值,而類是應用類型,改變其變量的值會改變其原值。申明結構用Struck關鍵字,申明類用class關鍵字,向方法傳遞結構是時是通過值傳遞的,而不是通過引用。與類不同,結構的實例化可以不使用New關鍵字。類可以實現接口。
  2, 死鎖的必要條件?怎麼克服?
  答:系統的資源不足,進程的推進的順序不合適,資源分配不當,一個資源每次只能被一個進程使用,一個資源請求資源時,而此時這個資源已阻塞,對已獲得資源不放,進程獲得資源時,未使用完前,不能強行剝奪。
  3, 接口是否可以繼承接口?抽象類是否可以實現接口?抽象類是否可以繼承實體類?
  答:接口是可以繼承接口的,抽象類是可以實現接口的,抽象類可以繼承實體類,但是有個條件,條件是,實體類必須要有明確的構造函數。
  4, 構造器Constructor是否可以被繼承?是否可以被Override?
  答:Constructor不可以被繼承,因此不能被重寫(Overriding),但可以被重載(Overloading).
  5, 當一個線程進入一個對象的方法後,其它線程是否可以進入該對象的方法?
  答:不可以,一個對象的方法只能由一個線程訪問。
  6, 用最有效的方法算出等已8對於幾?
  答:2<<3.
  7, C#是否可以對內存直接進行操作?
  答:這個問題比較難回答,也是個很大的問題。但是可以這樣問答。C#是可以對內存進行直接操作的,雖然很少用到指針,但是C#是可以使用指針的,在用的時候需要在前邊加unsafe,,在.net中使用了垃圾回收機制(GC)功能,它替代了程序員,不過在C#中不可以直接使用finalize方法,而是在析構函數中調用基類的finalize()方法。
  8, Error和Exception有是區別?
  答:error表示恢復不是不可能,但是很困難,exception表示一種實際或實現問題,它表示程序運行正常不可以發生的。
  9, 談談final,finally,finallize的區別?
  答:final用於申明屬性,方法和類,表示屬性不可變,方法不可以被覆蓋,類不可以被繼承。
  Finally是異常處理語句結構中,表示總是執行的部分。
  Finallize表示是object類一個方法,在垃圾回收機制中執行的時候會被調用被回收對象的方法。
  10, HashMap和Hashtable區別?
  答:HashMap是Hashtable的輕量級實現,非線程安全的實現他們都實現了map接口,主要區別是HashMap鍵值可以爲空null,效率可以高於Hashtable。
  11,Collection和Collections的區別?
  答:Collection是集合類的上級接口,Collections是針對集合類的一個幫助類,它提供一系列靜態方法來實現對各種集合的搜索,排序,線程安全化操作。
  12,C#中委託是什麼?事件是不是一種委託?
  答:委託是一種安全的類似與函數指針,但是她比指針要安全的多,它可以把方法作爲一個參數傳遞給另一個方法,可以理解爲指向函數的引用。事件是一種消息機制,它是一種委託,委託不帶方法體。
  13,Override, Overload,的區別?
  答:Override是重寫的意思,它表示重寫基類的方法,而且方法的名稱,返回類型,參數類型,參數個數要與基類相同。
  Overload是重載是意思,它也表示重寫基類的方法,但是隻要方法名相同,別的可以不同。
  14,在一個BS結構中需要傳遞變量值時,不能使用session,coolke,application,你有幾中方法?
  答:this.server.Transfer,Querystring.
  15, C#種索引器實現過程,是否只能根據數字索引?
  答:不是的,可以是任意類型。
  16,New有種用法?
  答:有3種,第一種是,實例化如:New Class()
  第二種是,public new 隱藏基類的方法
  第三種是,在泛型類申明中的任何類型參數都必須有公共的無參構造函數。
  17,任何把一個Array複製到Arraylist中?
  答:Foreach (object o in Array), ArrayList.Add (0)
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/opou/archive/2009/07/27/4385590.aspx
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章