欧美日韩在线免费观看,久久精品合集精品视频,每日更新在线观看AV_手机,这里是精品中文字幕

<mark id="47rz2"><center id="47rz2"><dd id="47rz2"></dd></center></mark>

    <legend id="47rz2"><u id="47rz2"><blockquote id="47rz2"></blockquote></u></legend>

      當(dāng)前位置:好文網(wǎng)>職場(chǎng)指南>筆試>net筆試題

      net筆試題

      時(shí)間:2023-01-20 07:02:18 筆試 我要投稿
      • 相關(guān)推薦

      net筆試題

      1. 填空: (1)面向?qū)ο蟮恼Z(yǔ)言具有________性、_________性、________性。
      (2)能用foreach遍歷訪(fǎng)問(wèn)的對(duì)象需要實(shí)現(xiàn) ________________接口或聲明________________方法的類(lèi)型。
      (3)列舉ADO.net中的五個(gè)主要對(duì)象_______________、_____________、_______________、_______________、_________________。

      2. 不定項(xiàng)選擇:
      (1) 以下敘述正確的是:
      A. 接口中可以有虛方法。 B. 一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口。
      C. 接口不能被實(shí)例化。 D. 接口中可以包含已實(shí)現(xiàn)的方法。
      (2) 從數(shù)據(jù)庫(kù)讀取記錄,你可能用到的方法有:
      A. ExecuteNonQuery B. ExecuteScalar
      C. Fill D. ExecuteReader
      3. 簡(jiǎn)述 private、 protected、 public、 internal 修飾符的訪(fǎng)問(wèn)權(quán)限。

      4. 寫(xiě)出一條Sql語(yǔ)句: 取出表A中第31到第40記錄(SQLServer, 以自動(dòng)增長(zhǎng)的ID作為主鍵,注意:ID可能不是連續(xù)的。)

      5 .列舉ASp.NET 頁(yè)面之間傳遞值的幾種方式。

      6. 寫(xiě)出程序的輸出結(jié)果
      class Class1{
      private string str = \"Class1.str\";
      private int i = 0;
      static void StringConvert(string str){
      str = \"string being converted.\";
      }
      static void StringConvert(Class1 c){
      c.str = \"string being converted.\";
      }
      static void Add(int i){
      i++;
      }
      static void AddWithRef(ref int i){
      i++;
      }
      static void Main(){
      int i1 = 10;
      int i2 = 20;
      string str = \"str\";
      Class1 c = new Class1();
      Add(i1);
      AddWithRef(ref i2);
      Add(c.i);
      StringConvert(str);
      StringConvert(c);
      Console.WriteLine(i1);
      Console.WriteLine(i2);
      Console.WriteLine(c.i);
      Console.WriteLine(str);
      Console.WriteLine(c.str);
      }
      }

      7.寫(xiě)出程序的輸出結(jié)果
      public abstract class A
      {
      public A()
      {
      Console.WriteLine(\A\);
      }
      public virtual void Fun()
      {
      Console.WriteLine(\"A.Fun()\");
      }
      }
      public class B: A
      {
      public B()
      {
      Console.WriteLine(\B\);
      }
      public new void Fun()
      {
      Console.WriteLine(\"B.Fun()\");
      }
      public static void Main()
      {
      A a = new B();
      a.Fun();
      }
      }

      8. 寫(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);
      }
      }

      9. 一列數(shù)的規(guī)則如下: 1、1、2、3、5、8、13、21、34......
      求第30位數(shù)是多少, 用遞歸算法實(shí)現(xiàn)。(C#語(yǔ)言)

      10.程序設(shè)計(jì): 貓大叫一聲,所有的老鼠都開(kāi)始逃跑,主人被驚醒。(C#語(yǔ)言)
      要求:1.要有聯(lián)動(dòng)性,老鼠和主人的行為是被動(dòng)的。
      2.考慮可擴(kuò)展性,貓的叫聲可能引起其他聯(lián)動(dòng)效應(yīng)。

      參考答案:
      1. (1)繼承性、封裝性、多態(tài)性。(考基本概念)
      (2)IEnumerable 、 GetEnumerator (對(duì)foreach機(jī)制的理解,本來(lái)不想出這題的,湊分)
      (3)... (送分題, 對(duì)ADO.net的了解)
      評(píng)分標(biāo)準(zhǔn):一空1分,滿(mǎn)分10分。

      2. (1) B、C (考對(duì)接口的理解)(2)B、C、D (考查對(duì)ADO.net的熟練程度)
      評(píng)分標(biāo)準(zhǔn): 一題5分,不選或者錯(cuò)選均不得分。漏選得2分。滿(mǎn)分10分。

      3. . private : 私有成員, 在類(lèi)的內(nèi)部才可以訪(fǎng)問(wèn)。
      protected : 保護(hù)成員,該類(lèi)內(nèi)部和繼承類(lèi)中可以訪(fǎng)問(wèn)。
      public : 公共成員,完全公開(kāi),沒(méi)有訪(fǎng)問(wèn)限制。
      internal: 在同一命名空間內(nèi)可以訪(fǎng)問(wèn)。
      評(píng)分標(biāo)準(zhǔn):答對(duì)1題2分,2題5分,3題7分。全對(duì)10分。 (送分題)

      4.解1:select top 10 * from A where id not in (select top 30 id from A)
      解2:select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A)
      評(píng)分標(biāo)準(zhǔn): 寫(xiě)對(duì)即10分。(答案不唯一,datagrid 分頁(yè)可能需要用到)

      5.1.使用QueryString,如....?id=1; response. Redirect()....
      2.使用Session變量
      3.使用Server.Transfer
      ....等等
      評(píng)分標(biāo)準(zhǔn): 答對(duì)1點(diǎn)得3分, 兩點(diǎn)7分, 3點(diǎn)10分。

      6.(考查值引用和對(duì)象引用)
      10
      21
      0
      str
      string being converted.
      評(píng)分標(biāo)準(zhǔn):答對(duì)一點(diǎn)得2分,滿(mǎn)分10分。

      7.A
      B
      A.Fun()
      評(píng)分標(biāo)準(zhǔn): 寫(xiě)出A.B 得5分,寫(xiě)出A.Fun()得5分,滿(mǎn)分10分。
      (考查在繼承類(lèi)中構(gòu)造函數(shù), 以及new 方法, )


      8.2
      5
      1
      6
      評(píng)分標(biāo)準(zhǔn): 答對(duì)一點(diǎn)得2分,兩點(diǎn)得5分,3點(diǎn)得7分。全對(duì)得10分。
      (一些人做這題,頭都暈了.... ^_^ )

      9.
      public class MainClass
      {
      public static void Main()
      {
      Console.WriteLine(Foo(30));
      }
      public static int Foo(int i)
      {
      if (i <= 0)
      return 0;
      else if(i > 0 && i <= 2)
      return 1;
      else return Foo(i -1) + Foo(i - 2);
      }
      }
      評(píng)分標(biāo)準(zhǔn): 寫(xiě)出return Foo(i -1) + Foo(i - 2); 得5分。
      寫(xiě)出if(i > 0 && i <= 2) return 1; 得5分。
      方法參數(shù)過(guò)多需要扣分(扣除分?jǐn)?shù) = 參數(shù)個(gè)數(shù) - 1)
      不用遞歸算法扣5分
      (遞歸算法在樹(shù)結(jié)構(gòu)建立等方面比較常用)

      10
      要點(diǎn):1. 聯(lián)動(dòng)效果,運(yùn)行代碼只要執(zhí)行Cat.Cryed()方法。2. 對(duì)老鼠和主人進(jìn)行抽象
      評(píng)分標(biāo)準(zhǔn): <1>.構(gòu)造出Cat、Mouse、Master三個(gè)類(lèi),并能使程序運(yùn)行(2分)
      <2>從Mouse和Master中提取抽象(5分)
      <3>聯(lián)動(dòng)效應(yīng),只要執(zhí)行Cat.Cryed()就可以使老鼠逃跑,主人驚醒。(3分)

      public interface Observer
      {
      void Response(); //觀察者的響應(yīng),如是老鼠見(jiàn)到貓的反映
      }
      public interface Subject
      {
      void AimAt(Observer obs);//針對(duì)哪些觀察者,這里指貓的要撲捉的對(duì)象---老鼠
      }
      public class Mouse : Observer
      {
      private string name;
      public Mouse(string name, Subject subj)
      {
      this.name = name;
      subj.AimAt(this);
      }

      public void Response()
      {
      Console.WriteLine(name + \" attempt to escape!\");
      }
      }
      public class Master : Observer
      {
      public Master(Subject subj)
      {
      subj.AimAt(this);
      }

      public void Response()
      {
      Console.WriteLine(\"Host waken!\");
      }
      }

      public class Cat : Subject
      {
      private ArrayList observers;
      public Cat()
      {
      this.observers = new ArrayList();
      }
      public void AimAt(Observer obs)
      {
      this.observers.Add(obs);
      }
      public void Cry()
      {
      Console.WriteLine(\"Cat cryed!\");
      foreach (Observer obs in this.observers)
      {
      obs.Response();
      }
      }
      }
      class MainClass
      {
      static void Main(string[] args)
      {
      Cat cat = new Cat();
      Mouse mouse1 = new Mouse(\"mouse1\", cat);
      Mouse mouse2 = new Mouse(\"mouse2\", cat);
      Master master = new Master(cat);
      cat.Cry();
      }
      }

      //---------------------------------------------------------------------------------------------
      設(shè)計(jì)方法二: 使用event -- delegate設(shè)計(jì)..
      public delegate void SubEventHandler();
      public abstract class Subject
      {
      public event SubEventHandler SubEvent;
      protected void FireAway()
      {
      if (this.SubEvent != null)
      this.SubEvent();
      }
      }
      public class Cat : Subject
      {
      public void Cry()
      {
      Console.WriteLine(\"cat cryed.\");
      this.FireAway();
      }
      }
      public abstract class Observer
      {
      public Observer(Subject sub)
      {
      sub.SubEvent += new SubEventHandler(Response);
      }
      public abstract void Response();
      }
      public class Mouse : Observer
      {
      private string name;
      public Mouse(string name, Subject sub) : base(sub)
      {
      this.name = name;
      }
      public override void Response()
      {
      Console.WriteLine(name + \" attempt to escape!\");
      }
      }
      public class Master : Observer
      {
      public Master(Subject sub) : base(sub){}
      public override void Response()
      {
      Console.WriteLine(\"host waken\");
      }
      }
      class Class1
      {
      static void Main(string[] args)
      {
      Cat cat = new Cat();
      Mouse mouse1 = new Mouse(\"mouse1\", cat);
      Mouse mouse2 = new Mouse(\"mouse2\", cat);
      Master master = new Master(cat);
      cat.Cry();
      }
      }

      1. C#中 property 與 attribute的區(qū)別,他們各有什么用處,這種機(jī)制的好處在哪里?
      2. 講一講你理解的web service,在dot net framework中,怎么很好的結(jié)合x(chóng)ml?(講概念就行了)
      3. C#, Java 和 c++的特點(diǎn),有什么相同的地方,不同的地方,C#分別從c++和java中吸取了他們那些優(yōu)點(diǎn)?
      4. C#可否對(duì)內(nèi)存進(jìn)行直接的操作?(這可是個(gè)難點(diǎn)哦?要注意。
      5. 用Visual C++ 6.0編寫(xiě)的代碼(unmanaged code),如何在CLR下和其他dot net component結(jié)合?
      6. 以前作過(guò)的一些項(xiàng)目?介紹一下自己的編程經(jīng)驗(yàn)。(這是蒙混不過(guò)去的,基本一問(wèn)就知道是真是假)
      7. 你對(duì)公司有什么期望?你的薪水期望值?為什么學(xué)計(jì)算機(jī)?以前的工作經(jīng)驗(yàn)(這非常重要)?


      Q3: 維護(hù)數(shù)據(jù)庫(kù)的完整性、一致性、你喜歡用觸發(fā)器還是自寫(xiě)業(yè)務(wù)邏輯?為什么
      Q4:ADO。NET相對(duì)于ADO等主要有什么改進(jìn)?
      Q5:ASp。NET與ASp相比,主要有哪些進(jìn)步?
      Q6:C#中的委托是什么?事件是不是一種委托?
      Q7:描述一下C#中索引器的實(shí)現(xiàn)過(guò)程,是否只能根據(jù)數(shù)字進(jìn)行索引?
      Q8:C#中要使一個(gè)類(lèi)支持FOREACH遍歷,實(shí)現(xiàn)過(guò)程怎樣?
      Q10:寫(xiě)一個(gè)HTML頁(yè)面,實(shí)現(xiàn)以下功能,左鍵點(diǎn)擊頁(yè)面時(shí)顯示“您好”,右鍵點(diǎn)擊時(shí)顯示“禁止右鍵”。并在2分鐘后自動(dòng)關(guān)閉頁(yè)面。
      Q11:你對(duì)XMLHTTp、WEBSERVICE 了解嗎?簡(jiǎn)單描述其特點(diǎn)、作用
      Q12:接口和抽象類(lèi)有什么區(qū)別?你選擇使用接口和抽象類(lèi)的依據(jù)是什么?
      Q13:自定義控件和一般用戶(hù)控件的異同?如果要用這兩者之一,你會(huì)選擇哪種?為什么
      Q14:大概描述一下ASp。NET服務(wù)器控件的生命周期
      Q15:UML
      Q16:面向?qū)ο蟮母拍,主要特點(diǎn)
      Q17:類(lèi)劃分的依據(jù)。類(lèi)粒度問(wèn)題
      Q18:事物管理問(wèn)題


      第一,談?wù)刦inal, finally, finalize的區(qū)別。
      第二,Anonymous Inner Class (匿名內(nèi)部類(lèi)) 是否可以extends(繼承)其它類(lèi),是否可以implements(實(shí)現(xiàn))interface(接口)?
      第三,Static Nested Class 和 Inner Class的不同,說(shuō)得越多越好(面試題有的很籠統(tǒng))。
      第四,&和&&的區(qū)別。
      第五,HashMap和Hashtable的區(qū)別。
      第六,Collection 和 Collections的區(qū)別。
      第七,什么時(shí)候用assert。
      第八,GC是什么? 為什么要有GC?
      第九,String s = new String(\"xyz\");創(chuàng)建了幾個(gè)String Object?
      第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
      第十一,short s1 = 1; s1 = s1 + 1;有什么錯(cuò)? short s1 = 1; s1 += 1;有什么錯(cuò)?
      第十二,sleep() 和 wait() 有什么區(qū)別?
      第十三,Java有沒(méi)有g(shù)oto?
      第十四,數(shù)組有沒(méi)有l(wèi)ength()這個(gè)方法? String有沒(méi)有l(wèi)ength()這個(gè)方法?
      第十五,Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類(lèi)型?
      第十六,Set里的元素是不能重復(fù)的,那么用什么方法來(lái)區(qū)分重復(fù)與否呢? 是用==還是equals()? 它們有何區(qū)別?
      第十七,給我一個(gè)你最常見(jiàn)到的runtime exception。
      第十八,error和exception有什么區(qū)別?
      第十九,List, Set, Map是否繼承自Collection接口?
      第二十,abstract class和interface有什么區(qū)別?
      第二十一,abstract的method是否可同時(shí)是static,是否可同時(shí)是native,是否可同時(shí)是synchronized?
      第二十二,接口是否可繼承接口? 抽象類(lèi)是否可實(shí)現(xiàn)(implements)接口? 抽象類(lèi)是否可繼承實(shí)體類(lèi)(concrete class)?
      第二十三,啟動(dòng)一個(gè)線(xiàn)程是用run()還是start()?
      第二十四,構(gòu)造器Constructor是否可被override?
      第二十五,是否可以繼承String類(lèi)?
      第二十六,當(dāng)一個(gè)線(xiàn)程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線(xiàn)程是否可進(jìn)入此對(duì)象的其它方法?
      第二十七,try {}里有一個(gè)return語(yǔ)句,那么緊跟在這個(gè)try后的finally {}里的code會(huì)不會(huì)被執(zhí)行,什么時(shí)候被執(zhí)行,在return前還是后?
      第二十八,編程題: 用最有效率的方法算出2乘以8等於幾?
      第二十九,兩個(gè)對(duì)象值相同(x.equals(y) == true),但卻可有不同的hash code,這句話(huà)對(duì)不對(duì)?
      第三十,當(dāng)一個(gè)對(duì)象被當(dāng)作參數(shù)傳遞到一個(gè)方法后,此方法可改變這個(gè)對(duì)象的屬性,并可返回變化后的結(jié)果,那么這里到底是值傳遞還是引用傳遞?
      第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
      第三十二,編程題: 寫(xiě)一個(gè)Singleton出來(lái)。


      數(shù)據(jù)庫(kù)方面:


      1.存儲(chǔ)過(guò)程和函數(shù)的區(qū)別
      2.事務(wù)是什么?
      3.游標(biāo)的作用?如何知道游標(biāo)已經(jīng)到了最后?
      4.觸發(fā)器分為事前觸發(fā)和事后觸發(fā),這兩種觸發(fā)有和區(qū)別。語(yǔ)句級(jí)觸發(fā)和行級(jí)觸發(fā)有何區(qū)別。


      1。用C#實(shí)現(xiàn)以下功能

      a 產(chǎn)生一個(gè)int數(shù)組,長(zhǎng)度為100,并向其中隨機(jī)插入1-100,并且不能重復(fù)。

      b 對(duì)上面生成的數(shù)組排序,需要支持升序、降序兩種順序
      2。請(qǐng)說(shuō)明在.net中常用的幾種頁(yè)面間傳遞參數(shù)的方法,并說(shuō)出他們的優(yōu)缺點(diǎn)。
      3。請(qǐng)說(shuō)明.net中的錯(cuò)誤處理機(jī)制,并舉例
      4。請(qǐng)說(shuō)出強(qiáng)名的含義
      5。請(qǐng)列出c#中幾種循環(huán)的方法,并指出他們的不同
      6。請(qǐng)指出.net中所有類(lèi)型的基類(lèi)
      7。請(qǐng)指出GAC的含義
      8。SQL SREVER中,向一個(gè)表中插入了新數(shù)據(jù),如何快捷的得到自增量字段的當(dāng)前值


      您在什么情況下會(huì)用到虛方法?它與接口有什么不同?
      Q:Override與重載有什么區(qū)別?
      Q:值類(lèi)型與引用類(lèi)型有什么區(qū)別?
      Q:怎樣理解靜態(tài)變量?
      Q:向服務(wù)器發(fā)送請(qǐng)求有幾種方式?
      Q:DataReader與Dataset有什么區(qū)別?
      Q:如果在一個(gè)B/S結(jié)構(gòu)的系統(tǒng)中需要傳遞變量值,但是又不能使用Session、Cookie、Application,您有幾種方法進(jìn)行處理?
      Q:用.net做B/S結(jié)構(gòu)的系統(tǒng),您是用幾層結(jié)構(gòu)來(lái)開(kāi)發(fā),每一層之間的關(guān)系以及為什么要這樣分層?
      Q:軟件開(kāi)發(fā)過(guò)程一般有幾個(gè)階段?每個(gè)階段的作用?
      Q:微軟推出了一系列的Application Block,請(qǐng)舉出您所知道的Application Block并說(shuō)明其作用?
      Q:請(qǐng)列舉一些您用到過(guò)的設(shè)計(jì)模式以及在什么情況下使用該模式?
      Q:您對(duì)WebService的體會(huì)?
      Q:您對(duì)編程的興趣如何?工作中遇到不懂的問(wèn)題是怎樣去解決的?您一般怎樣去提高自己的編程水平?
      Q:您離職的原因是什么?
      Q:通過(guò)超鏈接怎樣傳遞中文參數(shù)?
      Q:請(qǐng)編程遍歷頁(yè)面上所有TextBox控件并給它賦值為string.Empty?
      Q:請(qǐng)編程實(shí)現(xiàn)一個(gè)冒泡排序算法?


      1、override與重載的區(qū)別
      2、.net的錯(cuò)誤處理機(jī)制是什么
      3、C#中接口和類(lèi)的異同
      4、DataReader和DataSet的異同


      1.有哪幾種方法可以實(shí)現(xiàn)一個(gè)類(lèi)存取另外一個(gè)類(lèi)的成員函數(shù)及屬性,并請(qǐng)舉列來(lái)加以說(shuō)明和分析.
      2.如果需記錄類(lèi)的實(shí)例個(gè)數(shù),該如何實(shí)現(xiàn),請(qǐng)寫(xiě)一個(gè)簡(jiǎn)單的類(lèi)于以證明.
      3.A類(lèi)是B類(lèi)的基類(lèi),并且都有自己的構(gòu)造,析構(gòu)函數(shù),請(qǐng)舉例證明B類(lèi)從實(shí)例化到消亡過(guò)程中構(gòu)造,析構(gòu)函數(shù)的執(zhí)行過(guò)程.
      4.需要實(shí)現(xiàn)對(duì)一個(gè)字符串的處理,首先將該字符串首尾的空格去掉,如果字符串中間還有連續(xù)空格的話(huà),僅保留一個(gè)空格,即允許字符串中間有多個(gè)空格,但連續(xù)的空格數(shù)不可超過(guò)一個(gè).


      一.填空題
      1.c#中的三元運(yùn)算符是__?:___?
      2.當(dāng)整數(shù)a賦值給一個(gè)object對(duì)象時(shí),整數(shù)a將會(huì)被__裝箱(封裝)___?
      3.類(lèi)成員有_____種可訪(fǎng)問(wèn)形式?
      this.;new Class().Method;
      4.public static const int A=1;這段代碼有錯(cuò)誤么?是什么?
      const不能用static修飾
      5.float f=-123.567F;

      int i=(int)f;
      i的值現(xiàn)在是_____?
      123

      6.利用operator聲明且僅聲明了“==”,有什么錯(cuò)誤么?

      7.委托聲明的關(guān)鍵字是______? delagete
      8.用sealed修飾的類(lèi)有什么特點(diǎn)?密封,不能繼承
      9.在Asp.net中所有的自定義用戶(hù)控件都必須繼承自________?Control
      10.在.Net中所有可序列化的類(lèi)都被標(biāo)記為_(kāi)____?

      11.在.Net托管代碼中我們不用擔(dān)心內(nèi)存漏洞,這是因?yàn)橛辛薩_____?gc
      12.下面的代碼中有什么錯(cuò)誤嗎?_______

      using System;

      class A

      {

      public virtual void F(){

      Console.WriteLine(\"A.F\");

      }

      }

      abstract class B:A

      {

      public abstract override void F(); // new public abstract void F();



      }


      13.當(dāng)類(lèi)T只聲明了私有實(shí)例構(gòu)造函數(shù)時(shí),則在T的程序文本外部,___可以___(可以 or 不可以)從T派生出新的類(lèi),不可以____(可以 or 不可以)直接創(chuàng)建T的任何實(shí)例。
      14.下面這段代碼有錯(cuò)誤么?

      switch (i){

      case():

      CaseZero();

      break;

      case 1:

      CaseOne();

      break;

      case 2:

      dufau<
      //wrong


      CaseTwo();

      break;

      }
      15.在.Net中,類(lèi)System.Web.UI.page 可以被繼承么?可以


      二.簡(jiǎn)答題
      1.在c#中using和new這兩個(gè)關(guān)鍵字有什么意義,請(qǐng)寫(xiě)出你所知道的意義?using 指令 和語(yǔ)句 new 創(chuàng)建實(shí)例 new 隱藏基類(lèi)中方法
      4.談?wù)勵(lì)惡徒Y(jié)構(gòu)的區(qū)別?類(lèi)是引用類(lèi)型、結(jié)構(gòu)是值類(lèi)型
      5.一個(gè)長(zhǎng)度為10000的字符串,通過(guò)隨機(jī)從a-z中抽取10000個(gè)字符組成。請(qǐng)用c#語(yǔ)言編寫(xiě)主要程序來(lái)實(shí)現(xiàn)。
      6.對(duì)于這樣的一個(gè)枚舉類(lèi)型:

      enum Color:byte{

      Red,

      Green,

      Blue,

      Orange

      }

      string[] ss=Enum.GetNames(typeof(Color));

      byte[]
      bb=Enum.GetValues(typeof(Color));
      試寫(xiě)一段程序顯示出枚舉類(lèi)型中定義的所有符號(hào)名稱(chēng)以及它們對(duì)應(yīng)的數(shù)值。
      7.您了解設(shè)計(jì)模式么?請(qǐng)列出您所知道的設(shè)計(jì)模式的名稱(chēng)。 //
      8.請(qǐng)?jiān)赟QL Server中設(shè)計(jì)表來(lái)保存一個(gè)樹(shù)狀結(jié)構(gòu)的組織結(jié)構(gòu)圖(假設(shè)結(jié)構(gòu)圖中只有名稱(chēng)這一項(xiàng)內(nèi)容需要保存),如果我想查詢(xún)某一職位下的所有職位,用一個(gè)存儲(chǔ)過(guò)程來(lái)實(shí)現(xiàn),你有什么思路?
      9.什么叫做SQL注入,如何防止?請(qǐng)舉例說(shuō)明。
      10.下面這段代碼輸出什么?為什么?

      int i=5;

      int j=5;

      if (Object.ReferenceEquals(i,j))

      Console.WriteLine(\"Equal\");

      else


      Console.WriteLine(\"Not Equal\");
      //不相等,因?yàn)楸容^的是對(duì)象


      1.寫(xiě)一個(gè)實(shí)現(xiàn)對(duì)一段字符串翻轉(zhuǎn)的方法,附加一些條件,如其中包括“,”、“.”,對(duì)其設(shè)計(jì)測(cè)試用 例 。
      2.對(duì)一支紙杯設(shè)計(jì)測(cè)試用例(可以是廣義的杯,不一定是某一支特定功能的杯)
      開(kāi)發(fā)語(yǔ)言概念題
      3.什么是反射?
      4.用Singleton如何寫(xiě)設(shè)計(jì)模式
      5.C#中的垃圾回收機(jī)制是怎樣的?
      6.什么是Application pool?
      7.鏈表和數(shù)組的區(qū)別,各有什么優(yōu)缺點(diǎn).
      8.Remoting在客戶(hù)端服務(wù)器怎么實(shí)現(xiàn) ?
      9.什么是友元函數(shù)?
      10.用標(biāo)準(zhǔn)C如何實(shí)現(xiàn)多態(tài)?
      11.什么是虛函數(shù)?
      12.什么是抽象函數(shù)?
      13.什么是內(nèi)存泄漏,怎樣最簡(jiǎn)單的方法判斷被存泄漏 ?


      英語(yǔ)題
      14.用英文介紹一下使用C#/C++做的項(xiàng)目,主要功能
      15.如果要與美國(guó)開(kāi)電話(huà)會(huì)議,會(huì)如何與美國(guó)的工程師溝通
      16.如果老板認(rèn)為你的技術(shù)落后,你會(huì)怎么回答

      數(shù)據(jù)庫(kù)知識(shí)題
      17.使用什么工具來(lái)調(diào)用存儲(chǔ)過(guò)程
      18.SQL Server的兩種索引是何形式?索引的作用?索引的優(yōu)缺點(diǎn)?
      19.觸發(fā)器的作用

      其它知識(shí)題及問(wèn)題
      20.什么是Web Service?
      21.什么是XML?
      22.Socket怎么實(shí)現(xiàn)?


      原文地址:【.NET面試題】C#系列2

      【.NET面試題】C#系列2 (轉(zhuǎn)載)
      2008-07-13 11:23

      值類(lèi)型和引用類(lèi)型的區(qū)別?

      net筆試題

      答:基于值類(lèi)型的變量直接包含值。將一個(gè)值類(lèi)型變量賦給另一個(gè)值類(lèi)型變量時(shí),將復(fù)制包含的值。這與引用類(lèi)型變量的賦值不同,引用類(lèi)型變量的賦值只復(fù)制對(duì)對(duì)象的引用,而不復(fù)制對(duì)象本身。所有的值類(lèi)型均隱式派生自 System.ValueType。與引用類(lèi)型不同,從值類(lèi)型不可能派生出新的類(lèi)型。但與引用類(lèi)型相同的是,結(jié)構(gòu)也可以實(shí)現(xiàn)接口。與引用類(lèi)型不同,值類(lèi)型不可能包含 null 值。然而,可空類(lèi)型功能允許將 null 賦給值類(lèi)型。 每種值類(lèi)型均有一個(gè)隱式的默認(rèn)構(gòu)造函數(shù)來(lái)初始化該類(lèi)型的默認(rèn)值。

      值類(lèi)型主要由兩類(lèi)組成:結(jié)構(gòu)、枚舉

      結(jié)構(gòu)分為以下幾類(lèi):Numeric(數(shù)值)類(lèi)型、整型、浮點(diǎn)型、decimal、bool、用戶(hù)定義的結(jié)構(gòu)。

      引用類(lèi)型的變量又稱(chēng)為對(duì)象,可存儲(chǔ)對(duì)實(shí)際數(shù)據(jù)的引用。聲明引用類(lèi)型的關(guān)鍵字:class、interface、delegate、內(nèi)置引用類(lèi)型: object、string

      如何理解委托

      答:委托類(lèi)似于 C++ 函數(shù)指針,但它是類(lèi)型安全的。委托允許將方法作為參數(shù)進(jìn)行傳遞。委托可用于定義回調(diào)方法。委托可以鏈接在一起;例如,可以對(duì)一個(gè)事件調(diào)用多個(gè)方法。方法不需要與委托簽名精確匹配。有關(guān)更多信息,請(qǐng)參見(jiàn)協(xié)變和逆變。C# 2.0 版引入了匿名方法的概念,此類(lèi)方法允許將代碼塊作為參數(shù)傳遞,以代替單獨(dú)定義的方法。

      C#中的接口和類(lèi)有什么異同。

      答:異:不能直接實(shí)例化接口。接口不包含方法的實(shí)現(xiàn)。接口、類(lèi)和結(jié)構(gòu)可從多個(gè)接口繼承。但是C# 只支持單繼承:類(lèi)只能從一個(gè)基類(lèi)繼承實(shí)現(xiàn)。類(lèi)定義可在不同的源文件之間進(jìn)行拆分。

      同:接口、類(lèi)和結(jié)構(gòu)可從多個(gè)接口繼承。接口類(lèi)似于抽象基類(lèi):繼承接口的任何非抽象類(lèi)型都必須實(shí)現(xiàn)接口的所有成員。接口可以包含事件、索引器、方法和屬性。一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口。

      ASp.net的身份驗(yàn)證方式有哪些

      答:Windows 身份驗(yàn)證提供程序:

      提供有關(guān)如何將 Windows 身份驗(yàn)證與 Microsoft Internet 信息服務(wù) (IIS) 身份驗(yàn)證結(jié)合使用來(lái)確保 ASp.NET 應(yīng)用程序安全的信息。

      Forms 身份驗(yàn)證提供程序:

      提供有關(guān)如何使用您自己的代碼創(chuàng)建應(yīng)用程序特定的登錄窗體并執(zhí)行身份驗(yàn)證的信息。使用 Forms 身份驗(yàn)證的一種簡(jiǎn)便方法是使用 ASp.NET 成員資格和 ASp.NET 登錄控件,它們一起提供了一種只需少量或無(wú)需代碼就可以收集、驗(yàn)證和管理用戶(hù)憑據(jù)的方法。

      passport 身份驗(yàn)證提供程序:

      提供有關(guān)由 Microsoft 提供的集中身份驗(yàn)證服務(wù)的信息,該服務(wù)為成員站點(diǎn)提供單一登錄和核心配置

      活動(dòng)目錄的作用

      答:Active Directory存儲(chǔ)了有關(guān)網(wǎng)絡(luò)對(duì)象的信息,并且讓管理員和用戶(hù)能夠輕松地查找和使用這些信息。Active Directory使用了一種結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)方式,并以此作為基礎(chǔ)對(duì)目錄信息進(jìn)行合乎邏輯的分層組織。

      解釋一下UDDI、WSDL的意義及其作用

      答:UDDI:統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議(UDDI, Universa Description, Discovery and Integration)是一套基于Web的、分布式的、為Web服務(wù)提供的信息注冊(cè)中心的實(shí)現(xiàn)標(biāo)準(zhǔn)規(guī)范,同時(shí)也包含一組使企業(yè)能將自身提供的Web服務(wù)注冊(cè)以使得別的企業(yè)能夠發(fā)現(xiàn)的訪(fǎng)問(wèn)協(xié)議的實(shí)現(xiàn)標(biāo)準(zhǔn)。UDDI 提供了一組基于標(biāo)準(zhǔn)的規(guī)范用于描述和發(fā)現(xiàn)服務(wù),還提供了一組基于因特網(wǎng)的實(shí)現(xiàn)。

      WSDL:WSDL描述Web服務(wù)的公共接口。這是一個(gè)基于XML的關(guān)于如何與Web服務(wù)通訊和使用的服務(wù)描述;

      服務(wù) URL 和命名空間 :

      網(wǎng)絡(luò)服務(wù)的類(lèi)型(可能還包括 SOAp 的函數(shù)調(diào)用,正像我所說(shuō)過(guò)的,WSDL 足夠自如地去描述網(wǎng)絡(luò)服務(wù)的廣泛內(nèi)容)。

      有效函數(shù)列表,每個(gè)函數(shù)的參數(shù),每個(gè)參數(shù)的類(lèi)型 ,每個(gè)函數(shù)的返回值及其數(shù)據(jù)類(lèi)型。什么是SOAp

      答:SOAp(Simpe Object Access protoco )簡(jiǎn)單對(duì)象訪(fǎng)問(wèn)協(xié)議是在分散或分布式的環(huán)境中交換信息并執(zhí)行遠(yuǎn)程過(guò)程調(diào)用的協(xié)議,是一個(gè)基于XML的協(xié)議。使用SOAp,不用考慮任何特定的傳輸協(xié)議(最常用的還是HTTp協(xié)議),可以允許任何類(lèi)型的對(duì)象或代碼,在任何平臺(tái)上,以任何一直語(yǔ)言相互通信。

      SOAp 是一種輕量級(jí)協(xié)議,用于在分散型、分布式環(huán)境中交換結(jié)構(gòu)化信息。 SOAp 利用 XML 技術(shù)定義一種可擴(kuò)展的消息處理框架,它提供了一種可通過(guò)多種底層協(xié)議進(jìn)行交換的消息結(jié)構(gòu)。這種框架的設(shè)計(jì)思想是要獨(dú)立于任何一種特定的編程模型和其他特定實(shí)現(xiàn)的語(yǔ)義。

      SOAp 定義了一種方法以便將 XML 消息從 A 點(diǎn)傳送到 B 點(diǎn)。為此,它提供了一種基于 XML且具有以下特性的消息處理框架:1) 可擴(kuò)展,2) 可通過(guò)多種底層網(wǎng)絡(luò)協(xié)議使用,3) 獨(dú)立于編程模型。

      如何部署一個(gè)ASp.net頁(yè)面

      答:VS 2005和VS 2003都有發(fā)布機(jī)制。2003可以發(fā)布然后再?gòu)?fù)制部署。VS2005基本上可以直接部署到對(duì)應(yīng)位置。

      如何理解.net中的垃圾回收機(jī)制

      答:.NET Framework 的垃圾回收器管理應(yīng)用程序的內(nèi)存分配和釋放。每次您使用 new 運(yùn)算符創(chuàng)建對(duì)象時(shí),運(yùn)行庫(kù)都從托管堆為該對(duì)象分配內(nèi)存。只要托管堆中有地址空間可用,運(yùn)行庫(kù)就會(huì)繼續(xù)為新對(duì)象分配空間。但是,內(nèi)存不是無(wú)限大的。最終,垃圾回收器必須執(zhí)行回收以釋放一些內(nèi)存。垃圾回收器優(yōu)化引擎根據(jù)正在進(jìn)行的分配情況確定執(zhí)行回收的最佳時(shí)間。當(dāng)垃圾回收器執(zhí)行回收時(shí),它檢查托管堆中不再被應(yīng)用程序使用的對(duì)象并執(zhí)行必要的操作來(lái)回收它們占用的內(nèi)存

      概述.NET中的GC機(jī)制。

      答:GC的全稱(chēng)是garbage collection,中文名稱(chēng)垃圾回收,是.NET中對(duì)內(nèi)存管理的一種功能。垃圾回收器跟蹤并回收托管內(nèi)存中分配的對(duì)象,定期執(zhí)行垃圾回收以回收分配給沒(méi)有有效引用的對(duì)象的內(nèi)存。當(dāng)使用可用內(nèi)存不能滿(mǎn)足內(nèi)存請(qǐng)求時(shí),GC會(huì)自動(dòng)進(jìn)行。

      在進(jìn)行垃圾回收時(shí),垃圾回收器會(huì)首先搜索內(nèi)存中的托管對(duì)象,然后從托管代碼中搜索被引用的對(duì)象并標(biāo)記為有效,接著釋放沒(méi)有被標(biāo)記為有效的對(duì)象并收回內(nèi)存,最后整理內(nèi)存將有效對(duì)象挪動(dòng)到一起

      ASp.NET中常見(jiàn)內(nèi)置對(duì)象?

      答:Response、Request、Server、Session、Application、Cookie

      死鎖的必要條件?怎么克服?

      答:系統(tǒng)的資源不足,進(jìn)程的推進(jìn)的順序不合適,資源分配不當(dāng),一個(gè)資源每次只能被一個(gè)進(jìn)程使用,一個(gè)資源請(qǐng)求資源時(shí),而此時(shí)這個(gè)資源已阻塞,對(duì)已獲得資源不放,進(jìn)程獲得資源時(shí),未使用完前,不能強(qiáng)行剝奪。

      接口是否可以繼承接口?抽象類(lèi)是否可以實(shí)現(xiàn)接口?抽象類(lèi)是否可以繼承實(shí)體類(lèi)?

      答:接口是可以繼承接口的,抽象類(lèi)是可以實(shí)現(xiàn)接口的,抽象類(lèi)可以繼承實(shí)體類(lèi),但是有個(gè)條件,條件是,實(shí)體類(lèi)必須要有明確的構(gòu)造函數(shù)。

      構(gòu)造器Constructor是否可以被繼承?是否可以被Override?

      答:Constructor不可以被繼承,因此不能被重寫(xiě)(Overriding),但可以被重載(Overloading).

      是否可以繼承String類(lèi)?

      答:因?yàn)镾tring類(lèi)是final類(lèi)所以不可以繼承string類(lèi)。

      當(dāng)一個(gè)線(xiàn)程進(jìn)入一個(gè)對(duì)象的方法后,其它線(xiàn)程是否可以進(jìn)入該對(duì)象的方法?

      答:不可以,一個(gè)對(duì)象的方法只能由一個(gè)線(xiàn)程訪(fǎng)問(wèn)。

      用最有效的方法算出2乘以8等于幾?

      答:2<<3.

      C#是否可以對(duì)內(nèi)存直接進(jìn)行操作?

      答:C#是可以對(duì)內(nèi)存進(jìn)行直接操作的,雖然很少用到指針,但是C#是可以使用指針的,在用的時(shí)候需要在前邊加unsafe,,在.net中使用了垃圾回收機(jī)制(GC)功能,它替代了程序員,不過(guò)在C#中不可以直接使用finalize方法,而是在析構(gòu)函數(shù)中調(diào)用基類(lèi)的finalize()方法。

      數(shù)組有沒(méi)有Length()這和方法?string有沒(méi)有這個(gè)方法?

      答:數(shù)組中沒(méi)有這個(gè)方法,但有這個(gè)屬性,string中有這個(gè)方法。

      Error和Exception有是區(qū)別?

      答:error表示恢復(fù)不是不可能,但是很困難,exception表示一種實(shí)際或?qū)崿F(xiàn)問(wèn)題,它表示程序運(yùn)行正常不可以發(fā)生的。

      HashMap和Hashtable區(qū)別?

      答:HashMap是Hashtable的輕量級(jí)實(shí)現(xiàn),非線(xiàn)程安全的實(shí)現(xiàn)他們都實(shí)現(xiàn)了map接口,主要區(qū)別是HashMap鍵值可以為空null,效率可以高于Hashtable。

      Collection和Collections的區(qū)別?

      答:Collection是集合類(lèi)的上級(jí)接口,Collections是針對(duì)集合類(lèi)的一個(gè)幫助類(lèi),它提供一系列靜態(tài)方法來(lái)實(shí)現(xiàn)對(duì)各種集合的搜索,排序,線(xiàn)程安全化操作。

      Override, Overload,的區(qū)別?

      答:Override是重寫(xiě)的意思,它表示重寫(xiě)基類(lèi)的方法,而且方法的名稱(chēng),返回類(lèi)型,參數(shù)類(lèi)型,參數(shù)個(gè)數(shù)要與基類(lèi)相同。

      Overload是重載是意思,它也表示重寫(xiě)基類(lèi)的方法,但是只要方法名相同,別的可以不同。

      在一個(gè)BS結(jié)構(gòu)中需要傳遞變量值時(shí),不能使用session,cookie,application,你有幾中方法?

      答:this.server.Transfer,Querystring.

      C#種索引器實(shí)現(xiàn)過(guò)程,是否只能根據(jù)數(shù)字索引?

      答:不是的,可以是任意類(lèi)型。

      Const和ReadOnly?

      答:Const用來(lái)申明編程時(shí)申明常量,ReadOnly用來(lái)申明運(yùn)行時(shí)常量。

      UDp和TCp連接有和異同?

      答:TCp是傳輸控制協(xié)議,提供的是面向連接的,是可靠的,字節(jié)流服務(wù),當(dāng)用戶(hù)和服務(wù)器彼此進(jìn)行數(shù)據(jù)交互的時(shí)候,必須在他們數(shù)據(jù)交互前要進(jìn)行TCp連接之后才能傳輸數(shù)據(jù)。TCp提供超時(shí)重?fù),檢驗(yàn)數(shù)據(jù)功能。

      UDp是用戶(hù)數(shù)據(jù)報(bào)協(xié)議,是一個(gè)簡(jiǎn)單的面向數(shù)據(jù)報(bào)的傳輸協(xié)議,是不可靠的連接。

      進(jìn)程和線(xiàn)程分別該怎么理解?

      答:進(jìn)程是比線(xiàn)程大的程序運(yùn)行單元,都是由操作系統(tǒng)所體會(huì)的系統(tǒng)運(yùn)行單元,一個(gè)程序中至少要有一個(gè)進(jìn)程,有一個(gè)進(jìn)程中,至少要有一個(gè)線(xiàn)程,線(xiàn)程的劃分尺度要比進(jìn)程要小,進(jìn)程擁有獨(dú)立的內(nèi)存單元,線(xiàn)程是共享內(nèi)存,從而極大的提高了程序的運(yùn)行效率同一個(gè)進(jìn)程中的多個(gè)線(xiàn)程可以并發(fā)執(zhí)行。

      在.NET中所有類(lèi)的基類(lèi)是?

      答:object。

      能用foreach遍歷訪(fǎng)問(wèn)的對(duì)象需要實(shí)現(xiàn)?

      答:需要實(shí)現(xiàn)IEnumerable接口和GetEnumerator ()方法。

      Heap與stack的差別?

      答:Heap是堆,空間是由手動(dòng)操作分配和釋放的,它的存儲(chǔ)區(qū)很大的自由存儲(chǔ)區(qū)。

      Stack是棧,是由是操作系統(tǒng)自動(dòng)分配和釋放的,棧上的空間是有限的。程序在編譯期間變量和函數(shù)分配內(nèi)存都是在棧上進(jìn)行的,且在運(yùn)行時(shí)函數(shù)調(diào)用時(shí)的參數(shù)的傳遞也是在棧上進(jìn)行的。

      請(qǐng)編程遍歷頁(yè)面上所有TextBox控件并給它賦值為string.Empty?

      答:foreach (System.Windows.Forms.Control control in this.Controls)

      {

      if (control is System.Windows.Forms.TextBox)

      {

      System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control ; tb.Text = String.Empty ;

      }

      }



      原文地址:【.NET面試題】.NET牛人應(yīng)該知道些什么?

      【.NET面試題】.NET牛人應(yīng)該知道些什么?
      2008-07-13 11:32

      .NET牛人應(yīng)該知道些什么?

      A、任何一個(gè)使用.NET的人

      1、描述線(xiàn)程與進(jìn)程的區(qū)別?
      2、什么是Windows服務(wù),它的生命周期與標(biāo)準(zhǔn)的EXE程序有什么不同 ?
      3、Windows上的單個(gè)進(jìn)程所能訪(fǎng)問(wèn)的最大內(nèi)存量是多少?它與系統(tǒng)的最大虛擬內(nèi)存一樣嗎?這對(duì)于系統(tǒng)設(shè)計(jì)有什么影響?
      4、EXE和DLL之間的區(qū)別是什么?
      5、什么是強(qiáng)類(lèi)型,什么是弱類(lèi)型?哪種更好些?為什么?
      6、pID是什么?在做系統(tǒng)的故障排除時(shí)如何使用它?
      7、單個(gè)TCp/Ip端口上能夠偵聽(tīng)多少個(gè)進(jìn)程?
      8、什么是GAC?它解決了什么問(wèn)題?

      B、中級(jí).NET開(kāi)發(fā)人員

      1、闡述面向接口、面向?qū)ο蟆⒚嫦蚍矫婢幊痰膮^(qū)別
      2、什么是Interface?它與Class有什么區(qū)別?
      3、什么是反射?
      4、使用ASMX的XML Web服務(wù)與使用SOAp的.NET Remoting的區(qū)別?
      5、類(lèi)型系統(tǒng)是由XMLSchema表示的嗎?CLS是XMLSchema表示的嗎?
      6、從概念上闡述前期綁定(early-binding)和后期綁定(late-binding)的區(qū)別?
      7、調(diào)用Assembly.Load算靜態(tài)引用還是動(dòng)態(tài)引用?
      8、何時(shí)使用Assembly.LoadFrom?何時(shí)使用Assembly.LoadFile?
      9、什么叫Assembly Qualified Name?它是一個(gè)文件名嗎?它有什么不同? Assembly.Load(\"foo.dll\"); 這句話(huà)是否正確?
      10、做強(qiáng)簽名的assembly與不做強(qiáng)簽名的assembly有什么不同?
      11、DateTime是否可以為null?
      12、什么叫JIT?什么是NGEN?它們分別有什么限制和好處?
      13、.NET CLR中一代的垃圾收集器是如何管理對(duì)象的生命周期的?什么叫非確定性終結(jié)? Finalize()和Dispose()之間的區(qū)別?
      14、using() 語(yǔ)法有用嗎?什么是IDisposable?它是如何實(shí)現(xiàn)確定性終結(jié)的。
      15、tasklist /m \"mscor*\" 這句命令是干嘛的?
      16、in-proc和out-of-proc的區(qū)別 .NET里的哪一項(xiàng)技術(shù)能夠?qū)崿F(xiàn)out-of-proc通訊?
      17、當(dāng)你在ASp.NET中運(yùn)行一個(gè)組件時(shí),它在Windows Xp, Windows 2000, Windows 2003上分別跑在哪個(gè)進(jìn)程里面?

      C、高級(jí)開(kāi)發(fā)人員/架構(gòu)師

      1、DateTime.parse(myString); 這行代碼有什么問(wèn)題?
      2、pDB是什么東西? 在調(diào)試中它應(yīng)該放在哪里?
      3、什么叫圈復(fù)雜度(cyclomatic complexity)?為什么它很重要?
      4、寫(xiě)一個(gè)標(biāo)準(zhǔn)的lock(),在訪(fǎng)問(wèn)變量的前后創(chuàng)建臨界區(qū),要有\(zhòng)"雙重檢查\", 什么叫FullTrust?放入GAC的assembly是否是FullTrust的?
      代碼加上需要安全權(quán)限的特性有什么好處?
      5、gacutil /l &brvbar; find /i \"Corillian\" 這句命令的作用是什么? sn -t foo.dll 這句命令是干嘛的?
      6、DCOM需要防火墻打開(kāi)哪些端口?端口135是干嘛用的?
      7、對(duì)比OOp和SOA,它們的目的分別是什么?
      8、XmlSerializer是如何工作的?使用這個(gè)類(lèi)的進(jìn)程需要什么ACL權(quán)限?
      9、為什么不提倡catch(Exception)? Debug.Write和Trace.Write有什么不同?何時(shí)應(yīng)該使用哪一個(gè)? Debug Build和Release Build的區(qū)別,是否會(huì)有明顯的速度變化?請(qǐng)說(shuō)明理由。
      10、JIT是以assembly為單位發(fā)生還是以方法為單位發(fā)生?這對(duì)于工作區(qū)有何影響?
      11、對(duì)比抽象基類(lèi)和接口的使用 a.Equals(b)和a == b一樣嗎? 在對(duì)象比較中,對(duì)象一致和對(duì)象相等分別是指什么? 12、在.NET中如何實(shí)現(xiàn)深拷貝(deep copy)? 請(qǐng)解釋一下IClonable 什么叫裝箱?
      string是值類(lèi)型還是引用類(lèi)型?
      13、XmlSerializer使用的針對(duì)屬性的模式有什么好處?解決了什么問(wèn)題?
      14、為什么不應(yīng)該在.NET中使用out參數(shù)?它究竟好不好? 特性能夠放到某個(gè)方法的參數(shù)上?如果可以,這有什么用?

      D、C# 組件開(kāi)發(fā)人員

      1、什么時(shí)候使用override?什么時(shí)候使用new? 什么叫shadowing?
      2、解釋virtual、sealed、override和abstract的區(qū)別 Foo.Bar, Version=2.0.205.0, Culture=neutral, publicKeyToken=593777ae2d274679d 解釋這個(gè)字符串每個(gè)部分的重要性和作用
      3、解釋public、protected、private和internal的區(qū)別 使用primary Interop Assembly (pIA)有什么好處?
      4、NUnit是通過(guò)什么機(jī)制獲知需要測(cè)試哪些方法的? 5、catch(Exception e){throw e;}和catch(Exception e){throw;}的區(qū)別
      6、typeof(foo)和myFoo.GetType()的區(qū)別?
      7、public class c{ public c(string a) : this() {;}; public c() {;} } 解釋第一個(gè)構(gòu)造函數(shù)中發(fā)生了什么? 這個(gè)構(gòu)造函數(shù)有什么用? 8、this是干嘛用的?能夠用在static方法中?


      E、ASp.NET (UI)開(kāi)發(fā)人員

      1、闡述一個(gè)基于瀏覽器的Form pOST如何變成一個(gè)服務(wù)器端的事件,如Button1_OnClick。
      2、什么是postBack? 什么是ViewState? 它是否被編碼過(guò)? 是否被加密過(guò)?誰(shuí)會(huì)使用ViewState?
      3、 <machinekey>元素是干嘛用的?它用于哪兩項(xiàng)ASp.NET技術(shù)?
      4、說(shuō)出ASp.NET 1.1中的3種Session State提供程序以及它們的優(yōu)缺點(diǎn)?
      5、什么叫Web Gardening? 在設(shè)計(jì)中如何使用它? 假設(shè)有一個(gè)ASp.NET應(yīng)用程序,那么單獨(dú)一個(gè)進(jìn)程中允許多少應(yīng)用程序?qū)ο?那兩個(gè)進(jìn)程呢?啟用了Web Gardening的2個(gè)進(jìn)程呢?這對(duì)設(shè)計(jì)有何影響?
      6、ASp.NET會(huì)重用多個(gè)請(qǐng)求之間的線(xiàn)程嗎?是否每個(gè)HttpRequest都有自己的線(xiàn)程?
      7、你是否應(yīng)該用ASp.NET的Thread Local存儲(chǔ)? [ThreadStatic]屬性在ASp.NET中有用嗎?它有沒(méi)有副作用?是好是壞?
      8、如何使用HttpHandler簡(jiǎn)化現(xiàn)有的為.aspx頁(yè)面提供驗(yàn)證圖片的設(shè)計(jì) HttpModule訂閱的是什么類(lèi)型的事件? 這對(duì)于實(shí)現(xiàn)有何影響?如果不打算重新編譯ASp.NE應(yīng)用程序,應(yīng)該怎么做?
      9、說(shuō)出表示任意一個(gè)終端(URL)的方式,以及ASp.NET中把請(qǐng)求路由到那個(gè)終點(diǎn)的方式 解釋cookie的工作原理。給出一個(gè)濫用Cookie的例子。 10、解釋HttpRequest.ValidateInput()的重要性? 哪些數(shù)據(jù)是通過(guò)HTTp Header傳遞的? 對(duì)比HTTp動(dòng)詞GET和pOST?
      11、什么是HEAD? 說(shuō)出至少6個(gè)HTTp狀態(tài)碼以及它們的含義
      12、if-not-modified-since的工作原理是什么? 用ASp.NET如何實(shí)現(xiàn)它?
      13、解釋 <@OutputCache%>和如何使用VaryByparam、VaryByHeader. VaryByCustom是如何工作的?
      14、如何通過(guò)q=? (除了q=5)來(lái)實(shí)現(xiàn)ASp.NET HTML輸出緩沖和緩沖過(guò)期(比如http://localhost/page.aspx?q=5)?

      F、XML開(kāi)發(fā)人員

      1、XML命名空間的作用? 何時(shí)適合使用DOM?何時(shí)不適合?有沒(méi)有尺度限制? 什么是WS-I基本配置?它重要在哪里? 寫(xiě)一個(gè)小XML文檔,其中使用的是默認(rèn)的命名空間,以及一個(gè)合法的(前綴)命名空間,其中要有分別屬性這兩個(gè)命名空間的元素 元素和特性的基本區(qū)別在哪里? 格式完好的XML和有效的XML有什么區(qū)別?
      2、.NET中如何驗(yàn)證XML?
      3、myXmlDocument.SelectNodes(\"http://mynode\"); 為什么這句代碼不好?什么時(shí)候它是好的?
      4、拉式解析(XmlReader)與事件讀取器(Sax)的區(qū)別 XpathDocument和XmlDocument的區(qū)別? 在何種情況下應(yīng)該用哪一個(gè)?
      5、“XML片斷”與“XML文檔”有什么區(qū)別 什么叫格式規(guī)范的XML?
      6、XML InfoSet規(guī)范與Xml DOM有什么不同? InfoSet是要解決什么問(wèn)題? 比較DTD和XSD,它們的相似點(diǎn)與區(qū)別分別是什么?哪個(gè)更好些?為什么?
      7、System.Xml支持DTD嗎?如果支持,如何使用? XML Schema能夠表示為對(duì)象圖?對(duì)象圖能夠表示為XML Schema?

      原文地址:t_sql中的COUNT函數(shù)

      1 count函數(shù)的定義
      count函數(shù)的定義可見(jiàn)MSDN。定義如下:
      view source
      print?

      COUNT ( { [ [ ALL | DISTINCT ] expression ] | * } )



      view source
      print?

      那么COUNT 有兩種使用方式COUNT(expression)和COUNT(*),它返回一個(gè)對(duì)一個(gè)表按某列計(jì)數(shù)的值。



      view source
      print?

      COUNT(*)返回表的行數(shù)。它不會(huì)過(guò)濾null和重復(fù)的行。



      view source
      print?

      COUNT(expression)會(huì)過(guò)濾掉null值,所以值null行不會(huì)加入到計(jì)數(shù)當(dāng)中,但如果不在expression前面加上distinct關(guān)鍵字,它是會(huì)過(guò)濾掉重復(fù)行的。



      view source
      print?

      以此可以得出一個(gè)結(jié)論:count(*)返回值總是大于或等于count(expression)的返回值。



      view source
      print?

      在應(yīng)用中,好多人喜歡使用COUNT(1),這里面的1其實(shí)就是一個(gè)expression,因?yàn)槟愕谋碇袥](méi)有列名為1的列,那么它的返回結(jié)果是和COUNT(*)一模一樣的,



      view source
      print?

      個(gè)人覺(jué)得效率也是沒(méi)有差別的。



      view source
      print?

      ;WITH cte1(c1,c2, Description) AS(

      SELECT 1, 1, \This is a fox\ UNION ALL

      SELECT 2, NULL, \Firefox\ UNION All

      SELECT NULL, 2, \people consider foxes as clever but sly animals\ UNION All

      SELECT NULL, NULL, NULL UNION ALL

      SELECT 3, NULL, \This is me\ UNION ALL

      SELECT 3, 3, \Fox on the run\)



      結(jié)果如下:

      如結(jié)果所示,COUNT(*),COUNT(2)和COUNT(3)是一模一樣的。而COUNT(c1)顯然過(guò)濾掉了NULL值。
      注意,COUNT 的參數(shù)expression可以為常量(像上面的2,3…),表的列,函數(shù),還可以是語(yǔ)句,具體可見(jiàn)MSDN的定義。下面展示了這個(gè)應(yīng)用。
      如果想為cte1中列Description中有字符串\fox’進(jìn)行計(jì)數(shù),典型的做法是:
      view source
      print?

      SELECT COUNT(*) FROM cte1

      WHERE pATINDEX(\%fox%\,cte1.Description) <> 0



      這種做法是where中過(guò)濾,另外一種方式是在expression中定義查找條件:
      view source
      print?

      SELECT COUNT(NULLIF(pATINDEX(\%fox%\, cte1.Description), 0))

      FROM cte1



      如果description列中沒(méi)有字符串\fox\那么pATINDEX函數(shù)返回的是0,NULLIF函數(shù)因?yàn)閮蓚(gè)參數(shù)相等,那么結(jié)果是NULL,因?yàn)镹ULL不會(huì)參與計(jì)數(shù),所以列中沒(méi)有\(zhòng)fox’的行不會(huì)
      參與計(jì)數(shù),達(dá)到了查找的目的。
      當(dāng)然,我們還可在expression中使用case表達(dá)式:
      view source
      print?

      SELECT COUNT(CASE

      WHEN pATINDEX(\%fox%\,cte1.Description) <> 0 THEN 1

      ELSE <STRONG>NULL</STRONG> END)

      FROM cte1



      注意ELSE語(yǔ)句后面必須是NULL,如果是非NULL,ELSE語(yǔ)句也會(huì)參與COUNT計(jì)數(shù)的。
      2 在count函數(shù)后接聚合窗口函數(shù)OVER。注意聚合窗口函數(shù)中是不能有ORDER BY,ORDER BY只能出現(xiàn)在排名函數(shù)的over子句中。OVER字句的定義見(jiàn)MSDN
      view source
      print?

      SELECT c.*, COUNT(*) OVER(pARTITION BY c.c1) \c1 * count\,

      COUNT(c1) OVER(pARTITION BY c.c1) \c1 c1 count\,

      COUNT(*) OVER(pARTITION BY c.c2) \c2 count\,

      COUNT(CASE

      WHEN LEFT(c.Description, 1) IN (\T\) THEN 1

      ELSE NULL END) OVER(pARTITION BY LEFT(c.Description, 1)) \start with T\,

      COUNT(CASE

      WHEN LEFT(c.Description, 1) IN (\T\, \F\, \p\) THEN 1

      ELSE NULL END) OVER(pARTITION BY LEFT(c.Description, 1)) \start with T, F OR p\

      FROM cte1 c



      view source
      print?

      注意OVER字句不能為OVER(pARTITION BY c.c1 ORDER BY c.c1),這是因?yàn)?FONT color=\"#ff1493\" >count不是排名函數(shù)。



      view source
      print?

      以上的運(yùn)行結(jié)果為:



      view source
      print?

      <A href=\"blogs_com/fgynew/WindowsLiveWriter/t_sqlcount_11359/result333_4.png\"><IMG style=\"BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISpLAY: inline; BORDER-TOp: 0px; BORDER-RIGHT: 0px\" title=result333 border=0 alt=result333 src=\"blogs_com/fgynew/WindowsLiveWriter/t_sqlcount_11359/result333_thumb_1.png\" width=804 height=183></A>




      可以看出,在使用OVER子句時(shí)候,COUNT還是遵循了最基本的準(zhǔn)則,COUNT(*)會(huì)對(duì)null行計(jì)數(shù),而COUNT(expression)則不會(huì)。
      以上在COUNT 的expression中設(shè)置條件顯然不是一種很優(yōu)化的方式,因?yàn)檫@種方式會(huì)首先讀取表中的所有數(shù)據(jù),是對(duì)表進(jìn)行掃描,而在where子句中設(shè)置條件進(jìn)行過(guò)濾是一種很好的方式。因?yàn)閺倪壿嬌现v,where先于select執(zhí)行,所有數(shù)據(jù)庫(kù)引擎只會(huì)讀取部分?jǐn)?shù)據(jù),不是讀取所有數(shù)據(jù)。如果要對(duì)以表中c1列的null進(jìn)行統(tǒng)計(jì),可以有兩種方式:
      view source
      print?

      SELECT COUNT(*)

      FROM cte1

      WHERE c1 IS NULL



      或者:
      view source
      print?

      SELECT COUNT(CASE

      WHEN c1 IS NULL THEN \x\

      ELSE NULL END)

      FROM cte1

      【net筆試題】相關(guān)文章:

      大班筆的教案12-22

      筆的世界教學(xué)反思02-19

      《各種各樣的筆》教案03-08

      各種各樣的筆教案03-27

      數(shù)字筆試題04-06

      C 筆試題04-06

      筆試題(循環(huán))04-06

      筆的世界教學(xué)反思8篇02-26

      國(guó)網(wǎng)筆試題04-06

      職場(chǎng)禮儀試題及答案03-28