我要投稿 投诉建议

ASP.NET专业面试试题

时间:2021-06-20 16:43:35 面试试题 我要投稿

ASP.NET专业面试试题

  1、自定义控件如何做?

ASP.NET专业面试试题

  答:自定义控件,跟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 多种代码缺陷并针对这些代码缺陷发出警告。