北京net笔试题.docx

上传人:b****5 文档编号:8398808 上传时间:2023-01-31 格式:DOCX 页数:15 大小:21.52KB
下载 相关 举报
北京net笔试题.docx_第1页
第1页 / 共15页
北京net笔试题.docx_第2页
第2页 / 共15页
北京net笔试题.docx_第3页
第3页 / 共15页
北京net笔试题.docx_第4页
第4页 / 共15页
北京net笔试题.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

北京net笔试题.docx

《北京net笔试题.docx》由会员分享,可在线阅读,更多相关《北京net笔试题.docx(15页珍藏版)》请在冰豆网上搜索。

北京net笔试题.docx

北京net笔试题

.net笔试题

姓名:

                     日期:

1.     填空:

(1)面向对象的语言具有________性、_________性、________性。

       

(2)能用foreach遍历访问的对象需要实现________________接口或声明________________方法的类型。

       (3)列举ADO.net中的五个主要对象_______________、_____________、_______________、_______________、_________________。

2.不定项选择:

(1)以下叙述正确的是:

     A.接口中可以有虚方法。

    B.一个类可以实现多个接口。

     C.接口不能被实例化。

      D.接口中可以包含已实现的方法。

  

(2)从数据库读取记录,你可能用到的方法有:

     A.ExecuteNonQuery           B.ExecuteScalar

     C.Fill                       D.ExecuteReader

3.简述private、protected、public、internal修饰符的访问权限。

4.写出一条Sql语句:

取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键, 注意:

ID可能不是连续的。

5.列举ASP.NET页面之间传递值的几种方式。

6.写出程序的输出结果

classClass1 {

      privatestringstr="Class1.str";

      privateinti=0;

      staticvoidStringConvert(stringstr) {

          str="stringbeingconverted.";

      }

      staticvoidStringConvert(Class1c) {

          c.str="stringbeingconverted.";

      }

      staticvoidAdd(inti) {

          i++;

      }

      staticvoidAddWithRef(refinti) {

          i++;

      }

      staticvoidMain() {

          inti1=10;

          inti2=20;

          stringstr="str";

          Class1c=newClass1();

          Add(i1);

          AddWithRef(refi2);

          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.写出程序的输出结果

publicabstractclassA 

{

       publicA() 

      {

           Console.WriteLine('A');

       }

       publicvirtualvoidFun() 

      {

           Console.WriteLine("A.Fun()");

       }

}

publicclassB:

{

       publicB()

      {

           Console.WriteLine('B');

       }

       publicnewvoidFun() 

      {

           Console.WriteLine("B.Fun()");

       }

       publicstaticvoidMain() 

      {

          Aa=newB();

          a.Fun();

       }

}

8.     写出程序的输出结果:

publicclassA 

{

       publicvirtualvoidFun1(inti)

      {

           Console.WriteLine(i);

       }

       publicvoidFun2(Aa)  

      {

           a.Fun1

(1);

           Fun1(5);

       }

}

publicclassB:

{

       publicoverridevoidFun1(inti)   

      {

           base.Fun1(i+1);

       }

       publicstaticvoidMain()  

      {

           Bb=newB();

           Aa=newA();

           a.Fun2(b);

           b.Fun2(a);         

       }

}

 

9.一列数的规则如下:

1、1、2、3、5、8、13、21、34......

  求第30位数是多少,用递归算法实现。

(C#语言)

10. 程序设计:

猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。

(C#语言)

要求:

 1.要有联动性,老鼠和主人的行为是被动的。

2.考虑可扩展性,猫的叫声可能引起其他联动效应。

参考答案:

1.

(1) 继承性、封装性、多态性。

(考基本概念)

  

(2) IEnumerable、GetEnumerator(对foreach机制的理解,本来不想出这题的,凑分)

  (3) ...(送分题,对ADO.net的了解)

评分标准:

一空1分,满分10分。

 

2.

(1)B、C(考对接口的理解) 

(2) B、C、D(考查对ADO.net的熟练程度)

 评分标准:

一题5分,不选或者错选均不得分。

漏选得2分。

满分10分。

 

3..private:

  私有成员,在类的内部才可以访问。

    protected:

保护成员,该类内部和继承类中可以访问。

    public:

   公共成员,完全公开,没有访问限制。

    internal:

  在同一命名空间内可以访问。

评分标准:

答对1题2分,2题5分,3题7分。

全对10分。

(送分题)

 

4. 解1:

 selecttop10*fromAwhereidnotin(selecttop30idfromA)

   解2:

 selecttop10*fromAwhereid>(selectmax(id)from(selecttop30idfromA)asA)

   评分标准:

写对即10分。

(答案不唯一,datagrid分页可能需要用到)

 

5. 1.使用QueryString, 如....?

id=1;response.Redirect()....

   2.使用Session变量

   3.使用Server.Transfer

   ....等等

  评分标准:

答对1点得3分,两点7分,3点10分。

6. (考查值引用和对象引用)

10

21

0

str

stringbeingconverted.

评分标准:

答对一点得2分,满分10分。

7. A

   B

A.Fun()

评分标准:

写出A.B得5分,写出A.Fun()得5分,满分10分。

(考查在继承类中构造函数,以及new方法,)

 

8. 2

   5

   1

   6

评分标准:

答对一点得2分,两点得5分,3点得7分。

全对得10分。

(一些人做这题,头都晕了....^_^)

 

9. 

   publicclassMainClass

   {

       publicstaticvoidMain()  

       {

           Console.WriteLine(Foo(30));

       }

       publicstaticintFoo(inti)

       {

           if(i<=0)

               return0;

           elseif(i>0&&i<=2)

               return1;

           elsereturnFoo(i-1)+Foo(i-2);

       }

   }

评分标准:

写出returnFoo(i-1)+Foo(i-2);得5分。

 写出if(i>0&&i<=2)return1;得5分。

          方法参数过多需要扣分(扣除分数=参数个数-1)

          不用递归算法扣5分

          (递归算法在树结构建立等方面比较常用)

 

10          

 要点:

1.联动效果,运行代码只要执行Cat.Cryed()方法。

2.对老鼠和主人进行抽象

评分标准:

<1>.构造出Cat、Mouse、Master三个类,并能使程序运行(2分)

          <2>从Mouse和Master中提取抽象(5分)

          <3>联动效应,只要执行Cat.Cryed()就可以使老鼠逃跑,主人惊醒。

(3分)

   publicinterfaceObserver

   {

       voidResponse();   //观察者的响应,如是老鼠见到猫的反映

   }

   publicinterfaceSubject

   {

       voidAimAt(Observerobs); //针对哪些观察者,这里指猫的要扑捉的对象---老鼠

   }

   publicclassMouse:

Observer

   {

       privatestringname;

       publicMouse(stringname,Subjectsubj)

       {          

           this.name=name;

           subj.AimAt(this);

       }

       

       publicvoidResponse()

       {

           Console.WriteLine(name+"attempttoescape!

");

       }

   }

   publicclassMaster:

Observer

   {  

       publicMaster(Subjectsubj)

       {          

           subj.AimAt(this);

       }

       

       publicvoidResponse()

       {

           Console.WriteLine("Hostwaken!

");

       } 

   }

 

   publicclassCat:

Subject

   {

       privateArrayListobservers;

       publicCat()

       {  

           this.observers=newArrayList();

       }

       publicvoidAimAt(Observerobs)

       {

           this.observers.Add(obs);

       }

       publicvoidCry()

       {

           Console.WriteLine("Catcryed!

");

           foreach(Observerobsinthis.observers)

           {

               obs.Response();

           }

       }

   }

   classMainClass

   {      

       staticvoidMain(string[]args)

       {

           Catcat=newCat();

           Mousemouse1=newMouse("mouse1",cat);

           Mousemouse2=newMouse("mouse2",cat);

           Mastermaster=newMaster(cat);

           cat.Cry();

       }

   }

//---------------------------------------------------------------------------------------------

设计方法二:

使用event--delegate设计..

   publicdelegatevoidSubEventHandler();

   publicabstractclassSubject

   {

       publiceventSubEventHandlerSubEvent;

       protectedvoidFireAway()

       {

           if(this.SubEvent!

=null)

               this.SubEvent();

       }  

   }

   publicclassCat:

Subject

   { 

       publicvoidCry()

       {

           Console.WriteLine("catcryed.");

           this.FireAway();

       }

   }

   publicabstractclassObserver

   {

       publicObserver(Subjectsub)

       {

           sub.SubEvent+=newSubEventHandler(Response);

       }

       publicabstractvoidResponse();   

   }

   publicclassMouse:

Observer

   {

       privatestringname;

       publicMouse(stringname,Subjectsub):

base(sub)

       {  

           this.name=name;

       }

       publicoverridevoidResponse()

       {

           Console.WriteLine(name+"attempttoescape!

");

       }

   }

   publicclassMaster:

Observer

   {

       publicMaster(Subjectsub):

base(sub){}

       publicoverridevoidResponse()

       {

           Console.WriteLine("hostwaken");

       }

   }

   classClass1

   {

       staticvoidMain(string[]args)

       {

           Catcat=newCat();

           Mousemouse1=newMouse("mouse1",cat);

           Mousemouse2=newMouse("mouse2",cat);

           Mastermaster=newMaster(cat);

           cat.Cry();

       }

   }

第二十二,接口是否可继承接口?

抽象类是否可实现(implements)接口?

抽象类是否可继承实体类(concreteclass)?

第二十三,启动一个线程是用run()还是start()?

第二十四,构造器Constructor是否可被override?

第二十五,是否可以继承String类?

第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

第二十七,try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?

第二十八,编程题:

用最有效率的方法算出2乘以8等於几?

第二十九,两个对象值相同(x.equals(y)==true),但却可有不同的hashcode,这句话对不对?

第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

第三十二,编程题:

写一个Singleton出来。

 

数据库方面:

 

1.存储过程和函数的区别

2.事务是什么?

3.游标的作用?

如何知道游标已经到了最后?

4.触发器分为事前触发和事后触发,这两种触发有和区别。

语句级触发和行级触发有何区别。

 

1。

用C#实现以下功能

  a产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。

  b对上面生成的数组排序,需要支持升序、降序两种顺序

2。

请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。

3。

请说明.net中的错误处理机制,并举例

4。

请说出强名的含义

5。

请列出c#中几种循环的方法,并指出他们的不同

6。

请指出.net中所有类型的基类

7。

请指出GAC的含义

8。

SQLSREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值

 

您在什么情况下会用到虚方法?

它与接口有什么不同?

Q:

Override与重载有什么区别?

Q:

值类型与引用类型有什么区别?

Q:

怎样理解静态变量?

Q:

向服务器发送请求有几种方式?

Q:

DataReader与Dataset有什么区别?

Q:

如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?

Q:

用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?

Q:

软件开发过程一般有几个阶段?

每个阶段的作用?

Q:

微软推出了一系列的ApplicationBlock,请举出您所知道的ApplicationBlock并说明其作用?

Q:

请列举一些您用到过的设计模式以及在什么情况下使用该模式?

Q:

您对WebService的体会?

Q:

您对编程的兴趣如何?

工作中遇到不懂的问题是怎样去解决的?

您一般怎样去提高自己的编程水平?

Q:

您离职的原因是什么?

Q:

通过超链接怎样传递中文参数?

Q:

请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?

Q:

请编程实现一个冒泡排序算法?

 

1、override与重载的区别

2、.net的错误处理机制是什么

3、C#中接口和类的异同

4、DataReader和DataSet的异同

 

1.有哪几种方法可以实现一个类存取另外一个类的成员函数及属性,并请举列来加以说明和分析.

2.如果需记录类的实例个数,该如何实现,请写一个简单的类于以证明.

3.A类是B类的基类,并且都有自己的构造,析构函数,请举例证明B类从实例化到消亡过程中构造,析构函数的执行过程.

4.需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中间还有连续空格的话,仅保留一个空格,即允许字符串中间有多个空格,但连续的空格数不可超过一个.

 

一.填空题

 

二.简答题

1.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?

using指令和语句new创建实例new隐藏基类中方法

4.谈谈类和结构的区别?

类是引用类型、结构是值类型

5.一个长度为10000的字符串,通过随机从a-z中抽取10000个字符组成。

请用c#语言编写主要程序来实现。

6.对于这样的一个枚举类型:

     enumColor:

byte{

         Red,

         Green,

         Blue,

         Orange

      }

    string[]ss=E

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 教育学心理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1