有事点这里!

当前位置: 首页 >> IT技术 >> 面试大全 >> .NET面试题(全)

.NET面试题(全)

[ 来自:不祥 作者:网络收集 阅读:0 时间:2008-2-2 22:37:38 ]
问题:
1.ASP.NET中的身份验证有那些?你当前项目采用什么方式验证请解释
Asp.net的身份验证有有三种,分别是"Windows | Forms | Passport|none",其中又以Forms验证用的最多,也最灵活。
Forms 验证方式对基于用户的验证授权提供了很好的支持,可以通过一个登录页面验证用户的身份,将此用户的身份发回到客户端的Cookie,
之后此用户再访问这个web应用就会连同这个身份Cookie一起发送到服务端。服务端上的授权设置就可以根据不同目录对不同用户的访问授权进行控制了.
问题来了,在实际是用中我们往往需要的是基于角色,或者说基于用户组的验证和授权。对一个网站来说,一般的验证授权的模式应该是这样的:根据
实际需求把用户分成不同的身份,就是角色,或者说是用户组,验证过程不但要验证这个用户本身的身份,还要验证它是属于哪个角色的。而访问授权
是根据角色来设置的,某些角色可以访问哪些资源,不可以访问哪些资源等等。要是基于用户来授权访问将会是个很不实际的做法,用户有很多,还可
能随时的增减,不可能在配置文件中随时的为不断增加的新用户去增加访问授权的。 2.什么是WEB控件?使用WEB控件有那些优势?
Web控件也就是服务器控件,在后台可以直接操作服务器控件,而且可用事件触发,
3.请解释ASP.NET中以什么方式进行数据验证?
asp.net 数据验证通过用RegularExpessionValidator、CompareValidator、RequiredFieldValidator、RangleValidator等控件来实现。
4.请谈谈对正则表达式的看法?
通过使用正则表达式,我们能很好的控制数据的格式,能使数据验证变得很灵活。
5.ASP。NET中共有几种类型的控件?各有什么区别?
基本控件——(有时称为内置控件)这类控件对应于HTML控件其包括Button, ListBox和 TextBox控件。
数据列表控件——用于绑定和显示数据的控件比如DataGid 和DataList控件
多功能控件——这些控件没有直接的HTML对应控件。多功能控件,比如Calendar控件,由多个组件组成,所生成的HTML通常驻包含许多标记HTML标记(以及客户瑞脚本),以便在浏览器中显示控件。
验证控件——例如RequiredFieldValidator控件可以用于保证在窗体中输入正确的数据。
6.WEB控件可以激法服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回。
通过实现IPostBack这个接口来执行事件。自动回传就是AutoPostBack,使用自动回传可以监视客户端变化情况并将这种改变返回到服务器端
7.WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用? 服务器端控件在html中表现形式还是html标记,所以可以执行客户端事件,有多种方式:1、control.Attributes["onclick"]="...;";
2、<script for="controlName" event="onclick"></script> 8.ASP。NET与ASP相比有什么优势?
9.请解释web.config文件中的重要节点
10.请解释ASP。NET中的web页面与其隐藏类之间的关系?
11.什么是viewstate,能否禁用?是否所用控件都可以禁用?
viewstate按我感觉来说就是把数据缓存在客户端的一个容器,作用范围是页面。在同一页面里可以当session用。
可以禁用,但某些数据控件例如datagrid在禁用之后离开页面,返回时没有重新绑定的话数据会消失
13.当发现不能读取页面上的输入的数据时很有可能是什么原因造成的?怎么解决
14.请解释一个WEB页面中代码执行次序。
知道最先执行OnInit(); 然后到Page_Load,最后到具体的执行事件。
15.请解释什么是上下文对象,在什么情况下要使用上下文对象
HttpContext, 在类中调用的时候需要用到HttpContext
16.请解释转发与跳转的区别?
Transfer 是转发 从服务器端跳转
Redirect 就是跳转 从客户端跳转
17.请解释ASP.NET中不同页面之间数据传递有那些方式?
18.请解释ASP。NET中button linkbutton imagebutton 及hyperlink这四个控件之间的功别
19.请解释一下。NET多层应用程序中层与层之间以那几种方式进行数据传递。并解释你自己的项目中采用那种方式进行。
DataTable,业务实体,dataset,xml等
20.如果出现ASP。NET中的事件不能触发可能由于什么原因造成?
事件句柄丢失,手工加或者双击使自动产生
21.如果需要在datagride控件中的某一列中添加下拉列表框并绑定数据怎么解决?
22.请解释asp.net中的数据绑定与传统数据绑定有什么区别?
23.请解释.net采用委托实现的事件模型与JAVA中采用接口实现的事件模型有什么区别,以图示方式解释。
24.请解释接口的显式实现有什么意义?
Q:您在什么情况下会用到虚方法?它与接口有什么不同?
多态的种类有两种,一为基类继承多态(Base Class Polymorphism),二为接口继承多态(Interface Polymorphism)。虚函数的使用实现的是基类继承多态,从设计模式的角度来说基类继承体系描述的是Is-A的问题。比如飞禽就是基类(父类),麻雀和鹤为子类继承了飞禽这个类。麻雀和鹤“Is-A”飞禽。除了基类继承多态,我们还有一种接口继承多态。顾名思义,这种多态是通过继承(更确切的说是“实现”)接口而产生继承体系的。从设计模式的角度来说接口继承体系描述的是Is-Like-A(或者叫Can-do)的问题(详见博客上另一篇文章《从设计模式看抽象类与接口的区别》)。比如一个具有报警功能的门,我们要实现“报警门”这么一个类,“报警门”“Is-A”门,而不是一个报警器,只是“Is-Like-A”报警器而已。所以“报警门”的报警功能要通过实现报警器这个接口来实现报警功能。
Q:Override与重载有什么区别? Q:值类型与引用类型有什么区别? Q:怎样理解静态变量?
他不属于某一个类的实例,调用他不需要用到实例的名称,可以通过类名来调用,可以把他理解为全局变量。
Q:向服务器发送请求有几种方式?
post get
Q:DataReader与Dataset有什么区别?
前者一次只能存放一行数据,而后者一次却可以存放一张表格。
Q:如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?
我们可以能过用get、post、application、viewstate来传值.
Q:用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?
一般分为三层分别是数据层、业务逻辑层、表示层
Q:软件开发过程一般有几个阶段?每个阶段的作用?
分析、需求、实现、维护,分析一般进行软件可行性及系统软件开法方法等方面的分析。需求阶段主要是开发者与用户的一个交流,开发者必须要了解这个软件要实现些什么功能,有些什么特殊的要求,实现阶段主要是编码和单元测试,
Q:微软推出了一系列的Application Block,请举出您所知道的Application Block并说明其作用? Q:请列举一些您用到过的设计模式以及在什么情况下使用该模式? Q:您对WebService的体会? Q:您对编程的兴趣如何?工作中遇到不懂的问题是怎样去解决的?您一般怎样去提高自己的编程水平? Q:您离职的原因是什么? 以下几道题目如果您不会,请较为详细的描述您的解决思路和方法 Q:d? Q:请编程遍历页面上所有TextBox控件并给它赋值为string.Empty? Q:请编程实现一个冒泡排序算法?
class ebullition
{
private int []arrary;
private bool asc=true;//默认是按升序排序 public ebullition(int []temp)
{
arrary=temp;
} public bool IfAsc //排序方式,是按升序排还是按降序排
{
set {asc=value;}
} public void sort() //排序并输出结果
{
int temp=arrary.Length;
int swap=0;
for(int i=0;i<arrary.Length-1;i++)
{
for(int j=0;j<temp-1;j++)
{
if(asc==true)
{
if(arrary[j]>arrary[j+1])
{
swap=arrary[j];
arrary[j]=arrary[j+1];
arrary[j+1]=swap;
}
}
else
{
if(arrary[j]<arrary[j+1])
{
swap=arrary[j];
arrary[j]=arrary[j+1];
arrary[j+1]=swap;
}
}
}
temp--;
} for(int i=0;i<arrary.Length;i++)
{
Console.WriteLine(arrary[i]);
}
Console.ReadLine();
}
public static void Main()
{
int []sort={3,2,7,6,5,4,1};
ebullition ex=new ebullition(sort);
ex.IfAsc=false;//按降序排序
ex.sort();
}
} 1、在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。回答要点:说明详细的空间分配。(10分)
答:string str = null 是不给他分配内存空间,而string str = "" 给它分配长度为空字符串的内存空间. 2、请详述在dotnet中类(class)与结构(struct)的异同:(10分)
答:Class可以被实例化,属于引用类型,是分配在内存的堆上的,Struct属于值类型,是分配在内存的栈上的.
3、根据委托(delegate)的知识,请完成以下用户控件中代码片段的填写:(10)
namespace test
{
public delegate void OnDBOperate();
public class UserControlBase : System.Windows.Forms.UserControl
{
public event OnDBOperate OnNew;
private void toolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
if(e.Button.Equals(BtnNew))
{
if(OnNew!=null)
{
OnNew(this,e);
} //请在以下补齐代码用来调用OnDBOperate委托签名的OnNew事件。
}
}
}
答:if( OnNew != null )
OnNew( this, e ); 4、分析以下代码,完成填空(10分)
string strTmp = "abcdefg某某某";
int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
int j= strTmp.Length;
以上代码执行完后,i= j=
答:i=13,j=10 5、SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号。(10)
答:SELECT ID
FROM table1
WHERE LastUpdateDate = (SELECT MAX(LastUpdateDate) FROM table1)
6、根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?并简要说明理由。(10分) public void test(int i)
{
lock(this)
{
if (i>10)
{
i--;
test(i);
}
}
}
答:不会发生死锁,(但有一点int是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把int换做一个object,那么死锁会发生) 7、分析以下代码。(10)
public static void test(string ConnectString)
{
System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();
conn.ConnectionString = ConnectString;
try
{
conn.Open();
……. }catch(Exception Ex)
{
MessageBox.Show(Ex.ToString());
}finally
{
if (!conn.State.Equals(ConnectionState.Closed))
conn.Close(); } 请问 1)以上代码可以正确使用连接池吗? 答:回答:如果传入的connectionString是一模一样的话,可以正确使用连接池。不过一模一样的意思是,连字符的空格数,顺序完全一致。 2)以上代码所使用的异常处理方法,是否所有在test方法内的异常都可以被捕捉并显示出来? 答:只可以捕捉数据库连接中的异常吧. (finally中,catch中,如果有别的可能引发异常的操作,也应该用try,catch。所以理论上并非所有异常都会被捕捉。) 8、简要谈一下您对微软.NET 构架下remoting和webservice两项技术的理解以及实际中的应用。(10)
答:WS主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。 9、公司要求开发一个继承System.Windows.Forms.ListView类的组件,要求达到以下的特殊功能:点击ListView各列列头时,能按照点击列的每行值进行重排视图中的所有行 (排序的方式如DataGrid相似)。根据您的知识,请简要谈一下您的思路:(10)
答:根据点击的列头,包该列的ID取出,按照该ID排序后,在给绑定到ListView中 10、给定以下XML文件,完成算法流程图。(10)
<FileSystem>
< DriverC >
<Dir DirName=”MSDOS622”>
<File FileName =” Command.com” ></File>
</Dir>
<File FileName =”MSDOS.SYS” ></File>
<File FileName =” IO.SYS” ></File>
</DriverC>
</FileSystem>
请画出遍历所有文件名(FileName)的流程图(请使用递归算法)。
答:
void FindFile( Directory d )
{
FileOrFolders = d.GetFileOrFolders();
foreach( FileOrFolder fof in FileOrFolders )
{
if( fof is File )
You Found a file;
else if ( fof is Directory )
FindFile( fof );
}
} 简单的说就是从根节点开始遍历找子节点,在从找到的子节点找它的子节点,一层层下去

奥运您知道

动漫情报

影视广场

IT技术

相关文章

QQCAT(www.qqcat.com),资源信息,免费观看。本站所有信息均来自网上,如损害到您的利益,请及时联系我们!
QQCAT版权所有©2007