日期:2014-05-17  浏览次数:20987 次

ASP.NET的一套笔试题
1、?? ?自定义控件如何做?
答:自定义控件,跟HtmlControl或WebControl相似,编译后可以添加引用到工具栏里
面,直接用鼠标拖动使用。
2、界面的布局?
答:表格,div
3、程序的执行过程
答:先被编译成中间语言,再翻译平台专用语言
4、如何理解三层架构?
答:MVC将程序功能分成三部分考虑:视图(VIEW,即可见的用户界面部分)、模型(Model,程序的数据模型和业务逻辑部分),控制器(Controller,根据用户输入通知模型和视图进行相应更改)。
5、验证控件有哪些?具体用法?
a)?? ?答:RequiredFieldValidator(必须字段验证);
b)?? ?CompareValidator(比较验证);
c)?? ?RangeValidator (范围验证);
d)?? ?RegularExpresionValidator(正则表达式);
e)?? ?ValidationSummary(验证总结);
f)?? ?CustomValidator(自定义验证)
7、什么是ERP?ERP的演变过程?
答:所谓ERP是英文Enterprise Resource Planning(企业资源计划)的简写。它是从MRP(物料资源
计划)发展而来的新一代集成化管理信息系统,它扩展了MRP的功能,其核心思想是供应链管理,它跳
出了传统企业边界,从供应链范围去优化企业的资源,是基于网络经济时代的新一代信息系统。它对
于改善企业业务流程、提高企业核心竞争力的作用是显而易见的。
8、Asp和Asp.net的区别?
答:ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++ , VB , JS等等,当然,最合适的编程语言还是MS为.Net Frmaework专门推出的C(读c sharp),它可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
9、谈谈存储过程和触发器以及他们的区别和项目的应用?
答:存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。
触发器是一种特殊类型的存储过程,当使用下面的一种或多种数据修改操作在指定表中对数据进行修改时,触发器会生效:UPDATE、INSERT 或 DELETE。触发器可以查询其它表,而且可以包含复杂的 SQL 语句。它们主要用于强制复杂的业务规则或要求。例如,可以控制是否允许基于顾客的当前帐户状态插入定单。
触发器还有助于强制引用完整性,以便在添加、更新或删除表中的行时保留表之间已定义的关系。然而,强制引用完整性的最好方法是在相关表中定义主键和外键约束。如果使用数据库关系图,则可以在表之间创建关系以自动创建外键约束。有关详细信息,请参见表关系。
触发器的优点如下:
触发器是自动的:它们在对表的数据作了任何修改(比如手工输入或者应用程序采取的操作)之后立即被激活。
触发器可以通过数据库中的相关表进行层叠更改。例如,可以在 titles 表的 title_id 列上写入一个删除触发器,以使其它表中的各匹配行采取删除操作。该触发器用 title_id 列作为唯一键,在 titleauthor、sales 及 roysched 表中对各匹配行进行定位。
触发器可以强制限制,这些限制比用 CHECK 约束所定义的更复杂。与 CHECK 约束不同的是,触发器可以引用其它表中的列。
10、ADO.net的七大对象
答:Connection,Command,DataAdapter,DataSet,DataReader,configuration
11、谈谈数据完整性和C#的安全性
答:所谓数据完整性就是指数据库中数据的正确性和一致性,利用数据的完整性约束,可以保证数据库中数据的质量。因此,在进行表的设计时,一定要注意到对数据完整性的设计。类型有:实体完整性,域完整性,引用完整性,用户定义完整性。
安全是每个 C# 应用程序的一个非常重要的方面,在每个开发阶段都必须考虑:而不仅仅是在完成设计和实现后才需要考虑。
a)?? ?使用 checked 关键字控制整型算术运算和转换的溢出检查上下文。
b)?? ?始终对参数使用最严格的数据类型。例如,在将一个值传入描述数据结构大小的方法时,应使用无符号整数而不是整数。
c)?? ?不要根据文件名作出决定。文件名可以用多种不同的方式表示,因而检测是否有特定文件时可能会跳过该文件。
d)?? ?千万不要将密码或其他敏感信息硬编码到应用程序中。
e)?? ?始终验证用于生成 SQL 查询的输入。
f)?? ?验证传入方法的所有输入。System.Text.RegularExpressions 命名空间中的正则表达式方法对于确认输入(如电子邮件地址)的格式是否正确很有用。
g)?? ?不要显示异常信息:它会给任何潜在的攻击者提供有价值的线索。
h)?? ?确保应用程序在最低的可能特权下运行时能够正常工作。少数应用程序要求用户作为管理员登录
i)?? ?不要使用自己的加密算法,应使用 System.Security.Cryptography 类。
j)?? ?为程序集指定强名称。
k)?? ?不要在 XML 或其他配置文件中存储敏感信息。
l)?? ?仔细检查包装本机代码的托管代码。确保本机代码是安全的,尤其是在防止缓冲区溢出方面。
m)?? ?在使用从应用程序之外传入的委托时应保持谨慎。
n)?? ?对程序集运行 FxCop 以确保符合 Microsoft .NET Framework 设计准则。FxCop 还可以查找 200 多种代码缺陷并针对这些代码缺陷发出警告。
12、谈谈C/S和B/S的特点
答:C/S是客户端/服务器端,C/S的程序通常也叫胖客户端,也就是一个程序的大部分功能,都在客户端实现,而服务器端只实现一小部分功能。通过这点不难看出,C/S的程序大部分在客户端实现,对于服务器端的压力相对小一些,服务器端可以节省一些。而且C/S的程序用窗口来做,个人认为开发效率上快一点。但C/S的程序一大弊端就是,必须要在客户端安装并部署程序才能运行,也就是用户必须得到客户端程序才可以运行。所以得考虑不同系统之间的安装与配置。
B/S是浏览器/服务器端,B/S的程序通常也叫瘦客户端,与C/S相反。B/S的程序大部分功能都要在服务器端实现,客户端只用来做辅助的控制功能。因为B/S的程序直接部署安装在服务器上。用户只需要有浏览器,并知道网址就可以使用程序。客户端不必做任何配置和安装,即可使用应用程序。而B/S也是有缺点的,首先B/S大部分功能都要在服务器端实现,对于服务器的要求就很高。服务器同时要应付用户访问与程序处理,所以服务器的配置必须能够应付。另外就是B/S的程序是浏览器中执行,所以B/S的程序操作客户端电脑的硬件,一般就得安装ActiveX等插件在客户端才可以操作。因此B/S的程序对于操作硬件,优势没有C/S的程序要好。
13、变量的命名规则有哪些?
答:驼峰,匈牙利,属性+类型+描述
14、ADO和ADO.NET的区别?
答:ADO使用OLE DB接口并基于微软的COM技术,而ADO.NET拥有自己的ADO.NET接口并且基于微软的.NET体系架构。
ADO以Recordset存储,而ADO.NET则以DataSet表示。Recordset看起来更像单表,如果让Recordset以多表的方式表示就必须在SQL中进行多表连接。反之,DataSet可以是多个表的集合。ADO 的运作是一种在线方式,这意味着不论是浏览或更新数据都必须是实时的。ADO.NET则使用离线方式,在访问数据的时候ADO.NET会利用XML制作数据的一份幅本,ADO.NET的数据库连接也只有在这段时间需要在线。
由于ADO使用COM技术,这就要求所使用的数据类型必须符合COM规范,而ADO.NET基于XML格式,数据类型更为丰富并且不需要再做COM编排导致的数据类型转换,从而提高了整体性能。
15、ASP的六个内置对象,JSP中的几大对象?
16、谈谈SQLSEVER的安全性