经典.net面试题目及答案(11~30)

来源:互联网 发布:计算机编程前景 编辑:程序博客网 时间:2024/05/19 00:11

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

答:使用MVC模式分层

一般为3

        数据访问层,业务层,表示层。

 数据访问层对数据库进行增删查改。

 业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。

 表示层为了与用户交互例如用户添加表单。

优点:  分工明确,条理清晰,易于调试,而且具有可扩展性。

缺点:  增加成本。

 

12.在下面的例子里

     using System;

     class A

     {

          public A()

           {

                PrintFields();

           }

          public virtual void PrintFields(){}

      }

      class B:A

      {

           int x=1;

           int y;

           public B()

    {

               y=-1;

           }

           public override void PrintFields()

           {

               Console.WriteLine("x={0},y={1}",x,y);

           }

当使用new B()创建B的实例时,产生什么输出?

答:X=1,Y=0;x= 1 y = -1

 

13.什么叫应用程序域?

答:应用程序域可以理解为一种轻量级进程。起到安全的作用。占用资源小。

 

14.CTSCLSCLR分别作何解释?

答:CTS:通用语言系统。CLS:通用语言规范。CLR:公共语言运行库。

 

15.什么是装箱和拆箱?

答:从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱。

 

16.什么是受管制(托管)的代码?

答:

       托管代码是运行.NET 公共语言运行时CLR的代码

unsafe:非托管代码。不经过CLR运行。程序员自行分配和释放内存空间

 

17.什么是强命名程序集?

答:程序集需要经过加密签名,强命名程序集可以部署到全局程序集缓存中,成为公共程序集

 

18.net中读写数据库需要用到那些类?他们的作用?

答:DataSet:数据集。

    DataCommand:执行语句命令。

DataAdapter:数据的集合,用语填充。

DataReader:数据只读器

 

19.ASP.net的身份验证方式有哪些?分别是什么原理?

答:

  Windwos(默认)IIS控制

From(窗体)用帐户

Passport(密钥)

 

20.什么是Code-Behind技术?

答:代码后置。

 

21..net中,配件的意思是?

答:程序集。(中间语言,源数据,资源,装配清单)

 

22.常用的调用WebService的方法有哪些?

答:1.使用WSDL.exe命令行工具。

    2.使用VS.NET中的Add Web Reference菜单选项

 

23..net Remoting 的工作原理是什么?

答:服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置。

 

24.C#中,string str = null  string str = “” 请尽量使用文字或图象说明其中的区别。

答:string str = null 是不给他分配内存空间,string str = "" 给它分配长度为空字符串的内存空间。

 

25.请详述在dotnet中类(class)与结构(struct)的异同?

答:class可以被实例化,属于引用类型,class可以实现接口和单继承其他类,还可以作为基类型,是分配在内存的堆上的

struct属于值类型,不能作为基类型,但是可以实现接口,是分配在内存的栈上的.

 

26.根据委托(delegate)的知识,请完成以下用户控件中代码片段的填写:

namespace test

{

public delegate void OnDBOperate();

public class UserControlBase : System.Windows.Forms.UserControl

{

 public event OnDBOperate   OnNew

 

privatevoidtoolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonClickEventArgs e)

{

if(e.Button.Equals(BtnNew))

{

//请在以下补齐代码用来调用OnDBOperate委托签名的OnNew事件。

}

}

}

答:if( OnNew != null )

    OnNew( this, e );

 

27.分析以下代码,完成填空

string strTmp = "abcdefg某某某";

int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;

int j= strTmp.Length;

以上代码执行完后,i= j=

答:i=13,j=10

 

28.SQLSERVER服务器中,给定表 table1 中有两个字段 IDLastUpdateDateID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号

答:Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)

 

29.根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?并简要说明理由。

public void test(int i)

{

   lock(this)

 {

   if (i>10)

   {

     i--;

     test(i);

   }

 }

}

答:不会发生死锁,(但有一点int是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把int换做一个object,那么死锁会发生)

 

30.简要谈一下您对微软.NET 构架下remotingwebservice两项技术的理解以及实际中的应用。

答:webservice主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。


 由“.net笔试题库”收集整理 


0 0
原创粉丝点击