当前位置:首页-在线测试-在线测试
ASP.NET常见面试题及答案(三)

时间:2018-5-9

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

int[] intArr=new int[100];

ArrayList myList=new ArrayList();

Random rnd=new Random();

while(myList.Count<100)

{

int num=rnd.Next(1,101);

if(!myList.Contains(num))

myList.Add(num);

}

for(int i=0;i<100;i++)

intArr[i]=(int)myList[i];


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

答:session(viewstate) 简单,但易丢失

application 全局

cookie 简单,但可能不支持,可能被伪造

input ttype=”hidden” 简单,可能被伪造

url参数 简单,显示于地址栏,长度有限

数据库 稳定,安全,但性能相对弱


63.请指出GAC的含义?

答:全局程序集缓存。


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

答:get,post。get一般为链接方式,post一般为按钮方式。


65.DataReader与Dataset有什么区别?

答:一个是只能向前的只读游标,一个是内存中的表。


66.软件开发过程一般有几个阶段?每个阶段的作用?

答:需求分析,架构设计,代码编写,QA,部署


67.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?using 指令 和语句 new 创建实例 new 隐藏基类中方法。

答:using 引入名称空间或者使用非托管资源

new 新建实例或者隐藏父类方法


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

答:string inputStr=” xx xx “;

inputStr=Regex.Replace(inputStr.Trim(),” *”,” “);


69.下面这段代码输出什么?为什么?

int i=5;

int j=5;

if (Object.ReferenceEquals(i,j))

Console.WriteLine(“Equal”);

else

Console.WriteLine(“Not Equal”);

答:不相等,因为比较的是对像

70.什么叫做SQL注入,如何防止?请举例说明。

答:利用sql语言漏洞获得合法身份登陆系统。如身份验证的程序设计成:

SqlCommand com=new SqlCommand(“Select * from users where username=’”+t_name.text+”‘ and pwd=’”+t_pwd.text+”‘”);

object obj=com.ExcuteScale();

if(obj!=null)

{

//通过验证

}

这段代码容易被sql注入。如用户在t_name中随便输入,在t_pwd中输入1′ and 1=’1 就可以进入系统了。

71.什么是反射?

答:动态获取程序集信息

72.用Singleton如何写设计模式

答:static属性里面new ,构造函数private

73.什么是Application Pool?

答:Web应用,类似Thread Pool,提高并发性能。

74.什么是虚函数?什么是抽像函数?

答:虚函数:可由子类继承并重写的函数。抽像函数:规定其非虚子类必须实现的函数,必须被重写。

75.什么是XML?

答:XML即可扩展标记语言。eXtensible Markup Language.标记是指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,即可以选择国际通用的标记语言,比如HTML,也可以使用象XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从SGML中简化修改出来的。它主要用到的有XML、XSL和XPath等。

77.什么是ASP.net中的用户控件?

答:用户控件一般用在内容多为静态,或者少许会改变的情况下..用的比较大..类似ASP中的include..但是功能要强大的多。


78.列举一下你所了解的XML技术及其应用

答:xml用于配置,用于保存静态数据类型.接触XML最多的是web Services..和config


79.ADO.net中常用的对象有哪些?分别描述一下。

答:Connection 数据库连接对像

Command 数据库命令

DataReader 数据读取器

DataSet 数据集


80.什么是code-Behind技术。

答:ASPX,RESX和CS三个后缀的文件,这个就是代码分离.实现了HTML代码和服务器代码分离.方便代码编写和整理.


81.什么是SOAP,有哪些应用。

答:SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一直语言相互通信。这种相互通信采用的是XML格式的消息。 


SOAP也被称作XMLP,为两个程序交换信息提供了一种标准的工作机制。在各类机构之间通过电子方式相互协作的情况下完全有必要为此制定相应的标准。 


SOAP描述了把消息捆绑为XML的工作方式。它还说明了发送消息的发送方、消息的内容和地址以及发送消息的时间。SOAP是Web Service的基本通信协议。SOAP规范还定义了怎样用XML来描述程序数据(Program Data),怎样执行RPC(Remote Procedure Call)。大多数SOAP解决方案都支持RPC-style应用程序。SOAP还支持 Document-style应用程序(SOAP消息只包含XML文本信息)。 


最后SOAP规范还定义了HTTP消息是怎样传输SOAP消息的。MSMQ、SMTP、TCP/IP都可以做SOAP的传输协议。 


SOAP 是一种轻量级协议,用于在分散型、分布式环境中交换结构化信息。 SOAP 利用 XML 技术定义一种可扩展的消息处理框架,它提供了一种可通过多种底层协议进行交换的消息结构。 这种框架的设计思想是要独立于任何一种特定的编程模型和其他特定实现的语义。 



SOAP 定义了一种方法以便将 XML 消息从 A 点传送到 B 点。 为此,它提供了一种基于 XML 且具有以下特性的消息处理框架: 1) 可扩展, 2) 可通过多种底层网络协议使用, 3) 独立于编程模型。 


82.C#中 property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里?

答:一个是属性,用于存取类的字段,一个是特性,用来标识类,方法等的附加性质


83.XML 与 HTML 的主要区别

答:1. XML是区分大小写字母的,HTML不区分。 

2. 在HTML中,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略</p>或者</li>之类的结束 标记。在XML中,绝对不能省略掉结束标记。 

3. 在XML中,拥有单个标记而没有匹配的结束标记的元素必须用一个 / 字符作为结尾。这样分析器就知道不用 查找结束标记了。 

4. 在XML中,属性值必须分装在引号中。在HTML中,引号是可用可不用的。 

5. 在HTML中,可以拥有不带值的属性名。在XML中,所有的属性都必须带有相应的值。


84.c#中的三元运算符是?

答:?:。


85.当整数a赋值给一个object对像时,整数a将会被?

答:装箱。


86.类成员有_____种可访问形式?

答:this.;new Class().Method;


87.public static const int A=1;这段代码有错误么?是什么?

答:const不能用static修饰。


88.float f=-123.567F; int i=(int)f;i的值现在是_____? 

答:-123。


89.委托声明的关键字是______?

答:delegate.

91.在Asp.net中所有的自定义用户控件都必须继承自________?

答:Control。

92.在.Net中所有可序列化的类都被标记为_____? 

答:[serializable]

93.在.Net托管代码中我们不用担心内存漏洞,这是因为有了______?

答:GC。

94.下面的代码中有什么错误吗?_______

using System;

class A

{

public virtual void F(){

Console.WriteLine(“A.F”);

}

}

abstract class B:A

{

public abstract override void F(); 答:abstract override 是不可以一起修饰. 

} // new public abstract void F(); 

95.当类T只声明了私有实例构造函数时,则在T的程序文本外部,___可以___(可以 or 不可以)从T派生出新的类,不可以____(可以 or 不可以)直接创建T的任何实例。

答:不可以,不可以。

96.下面这段代码有错误么?

switch (i){

case(): 答://case()条件不能为空

CaseZero();

break;

case 1:

CaseOne();

break;

case 2:

dufault; 答://wrong,格式不正确

CaseTwo();

break;

}


97.在.Net中,类System.Web.UI.Page 可以被继承么?

答:可以。


    
官方微信    掌上校园