C,ASPNET笔试题.pdf_第1页
C,ASPNET笔试题.pdf_第2页
C,ASPNET笔试题.pdf_第3页
C,ASPNET笔试题.pdf_第4页
C,ASPNET笔试题.pdf_第5页
已阅读5页,还剩6页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C ASP NET 笔试题笔试题 3 120 请叙述属性与索引器的区别 属性 1 通过名称标识 3 通过简单名称或成员访问来访问 3 可以为静态成员或实例成员 4 属性的 get 访问器没有参数 5 属性的 set 访问器包含隐式 value 参数 索引器 1 通过签名标识 2 通过元素访问来访问 3 必须为实例成员 4 索引器的 get 访问器具有与索引器相同的形参表 5 除了 value 参数外 索引器的 set 访问器还具有与索引器相同的形参表 121 请叙述 const 与 readonly 的区别 答 每一个 class 至多只可以定义一个 static 构造函数 并且不允许增加访问级别关键字 参 数列必须为空 为了不违背编码规则 通常把 static 数据成员声明为 private 然后通过 static property 提供读写访问 const 关键字用于修改字段或局部变量的声明 它指定字段或局部变量的值不能被修改 常数声 明引入给定类型的一个或多个常数 const 数据成员的声明式必须包含初值 且初值必须是一个常量表达式 因为它是在编译时就需 要完全评估 const 成员可以使用另一个 const 成员来初始化 前提是两者之间没有循环依赖 readonly 在运行期评估赋值 使我们得以在确保 只读访问 的前提下 把 object 的初始化动 作推迟到运行期进行 readonly 关键字与 const 关键字不同 const 字段只能在该字段的声明中初始化 readonly 字段可以在声明或构造函数中初始化 因此 根据所使用的构造函数 readonly 字段可能具有 不同的值 另外 const 字段是编译时常数 而 readonly 字段可用于运行时常数 readonly 只能在声明时或者构造函数里面初始化 并且不能在 static 修饰的构造函数里面 122 您需要创建一个 ASP NET 应用程序 公司考虑使用 Windows 身份认证 所有的用户都 存在于 AllWin 这个域中 您想要使用下列认证规则来配置这个应用程序 a 匿名用户不允许访问这个应用程序 b 所有雇员除了 Tess 和 King 都允许访问这个应用程序 请问您应该使用以下哪一个代码段来配置这个应用程序 A A B C D E 123 您要创建一个显示公司员工列表的应用程序 您使用一个DataGrid控件显示员工的列表 您打算修改这个控件以便在这个 Grid 的 Footer 显示员工合计数 请问您应该怎么做 C A 重写 OnPreRender 事件 当 Grid 的 Footer 行被创建时显示合计数 B 重写 OnItemCreated 事件 当 Grid 的 Footer 行被创建时显示合计数 C 重写 OnItemDataBound 事件 当 Grid 的 Footer 行被创建时显示合计数 D 重写 OnLayout 事件 当 Grid 的 Footer 行被创建时显示合计数 123 您要创建 ASP NET 应用程序用于运行 AllWin 公司内部的 Web 站点 这个应用程序包含 了 50 个页面 您想要配置这个应用程序以便当发生一个 HTTP 代码错误时它可以显示一个自定 义的错误页面给用户 您想要花最小的代价完成这些目标 您应该怎么做 多选 CD A 在这个应用程序的 Global asax 文件中创建一个 Application Error 过程去处理 ASP NET 代码错误 B 在这个应用程序的 Web config 文件中创建一个 applicationError 节去处理 ASP NET 代码 错误 C 在这个应用程序的 Global asax 文件中创建一个 CustomErrors 事件去处理 HTTP 错误 D 在这个应用程序的 Web config 文件中创建一个 CustomErrors 节去处理 HTTP 错误 E 在这个应用程序的每一页中添加一个 Page 指示符去处理 ASP NET 代码错误 F 在这个应用程序的每一页中添加一个 Page 指示符去处理 ASP NET HTTP 错误 125 您为 AllWin 公司创建了一个 ASP NET 应用程序 这个应用程序调用一个 Xml Web Service 这个 Xml Web Service 将返回一个包含了公司雇员列表的 DataSet 对象 请问您 该如何在这个程序中使用这个 Xml Web Service A 在 引用 对话框的 Net 标签中选择 System Web Services dll B 在 Web 引用 对话框中输入这个 XML Web service 的地址 C 在您的 Global asax cs 中添加一条 using 语句并指定这个 XML Web service 的地址 D 在您的 Global asax cs 中写一个事件处理器导入这个 Xml Web Service 相应的 wsdl 和 disco 文件 126 您要创建一个 ASP NET 应用程序在 DataGrid 控件中显示一个经过排序的列表 产品数 据被存放于一个名为 PubBase 的 Microsoft SQL Server 数据库 每个产品的主键是 ProductID Numeric 型并且每个产品有一个字母描述字段 名为 ProductName 您使用一 个 SqlDataAdapter 对象和一个 SqlCommand 对象通过调用一个存储过程从数据库中获取产 品数据 您将 SqlCommand 对象的 CommandType 属性设置为 CommandType StoredProcedure 并将它的 CommandText 属性设置为 procProductList 您成功的获取了一个 DataTable 对象 其中是已经按 ProductID 降序排列的产品列表 您打 算显示以相反的字母顺序排列的 ProductName 请问该怎么做 B A 将 SqlCommand 对象的 CommandType 属性修改为 CommandType Text 将 CommandText 属性修改为 SELECT FROM procProductList ORDER BY ProductName DESC 然后将这个 DataTable 对象绑定到 DataGrid 控件 B 创建一个基于这个 DataTable 对象的新的 DataView 并将这个 DataView 的 Sort 属性设 置为 ProductName DESC 然后将这个 DataView 对象绑定到 DataGrid 控件 C 将 DataGrid 控件的 AllowSorting 属性设置为 True 并将 DataGridColumn 的 SortExpression 属性设置为 ProductName DESC 以显示 ProductName 然后将这个 DataTable 对象绑定到 DataGrid 控件 D 将 DataTable 对象的 DisplayExpression 属性设置为 ORDER BY ProductName DESC 然后将这个 DataTable 对象绑定到 DataGrid 控件 127 什么是 ASP net 中的用户控件 答 用户控件就是 ascx 扩展名的东西喽 可以拖到不同的页面中调用 以节省代码 比如登陆可能 在多个页面上有 就可以做成用户控件 但是有一个问题就是用户控件拖到不同级别的目录下后 里面的图片等的相对路径会变得不准确 需要自已写方法调整 128 值类型和引用类型的区别 写出 C 的样例代码 答 结构是值类型 类是引用类型 所以传结构就是值类型的应用 传对象或类就是引用类型的 129 如何理解委托 答 据说相当于函数指针 定义了委托就可以在不调用原方法名称的情况下调用那个方法 msdn2005 中是这样解释的 委托具有以下特点 委托类似于 C 函数指针 但它是类型安全的 委托允许将方法作为参数进行传递 委托可用于定义回调方法 委托可以链接在一起 例如 可以对一个事件调用多个方法 方法不需要与委托签名精确匹配 130 私有程序集与共享程序集有什么区别 答 一个私有程序集通常为单个应用程序所使用 并且存储于这个应用程序所在的目录之中 或 此目录下面的一个子目录中 共享程序集通常存储在全局程序集缓存 Global Assembly Cache 之中 这是一个由 NET 运行时所维护的程序集仓库 共享程序集通常是对许多应用程 序都有用的代码库 比如 NET Framework 类 131 CLR 与 IL 分别是什么含义 答 CLR 公共语言运行时 类似于 Java 中的 JVM Java 虚拟机 在 Net 环境下 各种编程 语言使用一种共同的基础资源环境 这就是 CLR CLR 将直接与 作系统进行通信 而编程语 言如 C NET 将尽量避免直接与 作系统直接通信 加强了程序代码的执行安全性 可以这样看 CLR 就是具体的编程语言如 C NET 与 作系统之间的翻译 同时它为具体的编程语言提供了 许多资源 IL 中间语言 也称 MSIL 微软中间语言 或 CIL 通用中间语言 所有 NET 源代码 不管 用哪种语言编写 在进行编译时都被编译成 IL 在应用程序运行时被即时 Just In Time JIT 编译器处理成为机器码 被解释及执行 132 请解释 ASP NET 中以什么方式进行数据验证 答 A 中有非空验证 比较验证 取值范围验证 正则表达式验证及客户自定义验证五 大控件 另还有一个集中验证信息处理控件 133 WEB 控件可以激发服务端事件 请谈谈服务端事件是怎么发生并解释其原理 自动传回 是什么 为什么要使用自动传回 答 在 web 控件发生事件时 客户端采用提交的形式将数据交回服务端 服务端先调用 Page Load 事件 然后根据传回的状态信息自动调用服务端事件自动传回是当我们在点击客户 端控件时 采用提交表单的形式将数据直接传回到务端 只有通过自动传回才能实现服务端事件的机制 如果没有自动回传机制就只能调用客户端事件 而不能调用服务端事件 134 请解释 web config 文件中的重要节点 appSettings 包含自定义应用程序设置 system web 系统配置 compilation 动态调试编译设置 customErrors 自定义错误信息设置 authentication 身份验证 此节设置应用程序的身份验证策略 authorization 授权 此节设置应用程序的授权策略 135 请解释 ASP NET 中的 web 页面与其隐藏类之间的关系 答 一个 ASP NET 页面一般都对应一个隐藏类 一般都在 ASP NET 页面的声明中指定了隐藏类 例如一个页面 Tst1 aspx 的页面声明如下 Codebehind Tst1 aspx cs 表明经编译此页面时使用哪一个代码文件 Inherits T1 Tst1 表用运行时使用哪一个隐藏类 136 什么是 viewstate 能否禁用 是否所用控件都可以禁用 答 Viewstate 是保存状态的一种机制 EnableViewState 属性设置为 false 即可禁用 137 当发现不能读取页面上的输入的数据时很有可能是什么原因造成的 怎么解决 答 很有可能是在 Page Load 中数据处理时没有进行 Page 的 IsPostBack 属性判断 138 请解释什么是上下文对象 在什么情况下要使用上下文对象 答 上下文对象是指 HttpContext 类的 Current 属性 当我们在一个普通类中要访问内置对 象 Response Request Session Server Appliction 等 时就要以使用此对象 139 请解释转发与跳转的区别 答 转发就是服务端的跳转 A 页面提交数据到 B 页面 B 页面进行处理然后从服务端跳转到其它 页面 跳转就是指客户端的跳转 140 new 有几种用法 第一种 new Class 第二种 覆盖方法 public new XXXX 第三种 new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数 141 如何把一个 array 复制到 arrayList 里 答 foreach object o in array arrayList Add o 142 datagrid datasouse 可以连接什么数据源 dataset datatable dataview IList 143 什么是 Windows 服务 它的生命周期与标准的 EXE 程序有什么不同 答 Windows 服务是运行在 windows 后台指定用户下 默认 System 的应用程序 它没有标 准的 UI 界面 想比标准的 EXE 程序 Windows 服务是在服务开始的时候创建 而在服务结束 的时候销毁 而且可以设置服务是否与操作系统一起启动 一起关闭 它支持三种方式 1 自 动方式 2 手动方式 3 禁用 自动方式的时候 windows 服务将在 OS 启动后自动启动运行 而手动方式则必须手工启动服务 禁用的情况下服务将不能被启动 另外标准的 EXE 默认使用 的当前登录的用户 而 windows 服务则默认使用 System 用户 这在对系统资源访问的时候 特别需要注意 144 Windows 单个进程所能访问的最大内存量是多少 它与系统的最大虚拟内存一样吗 这 对于系统设计有什么影响 答 这个需要针对硬件平台 公式为单个进程能访问的最大内存量 2 的处理器位数次方 2 比 如通常情况下 32 位处理器下 单个进程所能访问的最大内存量为 232 2 2G 单个进程 能访问的最大内存量是最大虚拟内存的 1 2 因为要分配给操作系统一半虚拟内存 145 什么是强类型 什么是弱类型 哪种更好些 为什么 答 强类型是在编译的时候就确定类型的数据 在执行时类型不能更改 而弱类型在执行的时候 才会确定类型 没有好不好 二者各有好处 强类型安全 因为它事先已经确定好了 而且效率 高 一般用于编译型编程语言 如 c java c pascal 等 弱类型相比而言不安全 在运行的 时候容易出现错误 但它灵活 多用于解释型编程语言 如 javascript vb 等 146 PID 是什么 在做系统的故障排除时如何使用它 PID 是进程编号 在系统发现故障的时候 可以根据它寻找故障所发生的具体进程 并且可通 过 visual 等 ide 将故障进程附加到进程中进行调试 debug 147 阐述面向接口 面向对象 面向方面编程的区别 答 面向接口更关注的是概念 它的原则是先定义好行为规范 再根据行为规范创建实现 严格 的来说 面向接口应该是面向对象中的一部分吧 因为面向对象也强调的是本末倒置原则 也就 是实现依赖于抽象 而抽象不依赖于具体实现 更具比较的应该是面向接口与面向抽象对象 我 的体会是面向接口更加灵活 但实现时候 稍微有些代码冗余 而面向抽象可以结合面向接口 先定义接口 再定义抽象类 在抽象类中处理一些公共逻辑 再实现具体实现类 面向对象是对 复杂问题的分解 面向方面的编程是一种新概念 它解决了很多面向对象无法解决的问题 比如 面向对象技术只能对业务相关的代码模块化 而无法对和业务无关的代码模块化 而面向方面正 是解决这一问题的方案 它的关键思想是 将应用程序中的商业逻辑与对其提供支持的通用服务 进行分离 148 从概念上阐述前期绑定 early binding 和后期绑定 late binding 的区别 答 这个就像是强弱类型的比较相似 前期绑定是在编译的时候就确定了要绑定的数据 而后期 绑定是在运行的时候才填充数据 所以前期绑定如果失败 会在编译时报编译错误 而后期绑定 失败只有在运行时的时候才发生 149 调用 Assembly Load 算静态引用还是动态引用 答 动态 150 SQL SREVER 中 向一个表中插入了新数据 如何快捷的得到自增量字段的当前值 答 INSERT INTO jobs job desc min lvl max lvl VALUES Accountant 12 125 SELECT IDENTITY AS Identity 151 DateTime Parse myString 这行代码有什么问题 答 有问题 当 myString 不能满足时间格式要求的时候 会引发异常 建议使用 DateTime TryParse 152 PDB 是什么东西 在调试中它应该放在哪里 答 PDB 是用于保存调试和项目状态信息的文件 在 debug 的时候将产生 pdb 文件 调试的 时候应该放在和对应应用程序集相同目录 153 写一个标准的 lock 在访问变量的前后创建临界区 要有 双重检查 lock 的使用 public void LockTest Object lockObj new Object lock lockObj 154 对比 OOP 和 SOA 它们的目的分别是什么 答 我想 OOP 和 SOA 应该没有对比性吧 OOP 是一种编程模型 强调将复杂的逻辑分解出小 的模块 特性是继承 封装和多态 而 SOA 是一个技术框架 技术框架和编程模型应该说不 是一码事吧 SOA 的思想是将业务逻辑封装成服务或者中间件提供给应用程序来调用 当然其 组件化思想是继承和发扬了 OOP 的优点 155 XmlSerializer 是如何工作的 使用这个类的进程需要什么 ACL 权限 答 我只知道 XmlSerializer 是将对象的属性和字段进行序列化和反序列化的 序列化成为 xml 数据 反序列化再将 xml 转换成对象 应该至少需要 ACL 权限中的读权限 156 为什么不提倡 catch Exception 答 原因可能有两点 1 try catch 在出现异常的时候影响性能 2 应该捕获更具体得异常 比如 IOExeception OutOfMemoryException 等 157 Debug Write 和 Trace Write 有什么不同 何时应该使用哪一个 答 Debug Write 是调试的时候向跟踪窗口输出信息 当编译模式为 debug 的时候才有效 为 release 的时候 Debug Write 在编译的时候会忽略 而 Trace 则是在 debug 和 release 两 种模式下均可以向跟踪窗口输出信息 158 Debug Build 和 Release Build 的区别 是否会有明显的速度变化 请说明理由 答 Debug 会产生 pdb 文件 release 不会 Debug 用于开发时的调试 不能要于部署 而 release 用于部署 debug 编译一些特殊代码 比如 IFDEBUG Debug Write 等 而 Release 则会将那些特殊标记省略 159 JIT 是以 assembly 为单位发生还是以方法为单位发生 这对于工作区有何影响 答 方法 道理很简单 因为对于一次运行 很可能只用到一个程序集中极少数类型和对象 而 大部分可能并不会被使用 此时 CLR 傻乎乎的给整个程序集都给 Compile 了 CLR 不是傻疯 了么 160 a Equals b 和 a b 一样吗 答 不一样 a Equals b 表示 a 与 b 一致 a b 表示 a 与 b 的值相等 161 在对象比较中 对象一致和对象相等分别是指什么 答 对象一致是指两个对象是同一个对象 引用相同 而对象相等是指两个对象的值相同 但引 用不一定相同 162 在 NET 中如何实现深拷贝 deep copy 答 实现 IClonable 接口 163 请解释一下 IClonable 答 IClonable 方法是实现深度复制的接口 实现它应该能深度复制一个对象出来 深度复制的 特征的调用对象的构造方法 创建新的对象 包括创建对象中嵌套的引用对象的新实例 而 Shadow 复制则不同 是浅表复制 不重新创建新实例 浅表复制的实现是 Object MemberWiseClone 深度复制 Deep Copy 与浅表复制 Shadow Copy 的比较 public class Name public string FirstName public string LastName public class Person ICloneable public Name PersonName public string Email Deep Copy 的例子 public Object Clone Person p new Person p Email this Email p PersonName new Name p PersonName FirstName this PersonName FirstName p PersonName LastName this PersonName LastName return p public void ChangLastName string lastName this PersonName LastName lastName public static void Main Person p new Person p PersonName new Name p PersonName LastName san p PersonName FirstName zhang p Email sanzhang Person sameNamePerson p Clone as Person sameNamePerson ChangLastName clr Console WriteLine p PersonName LastName Console WriteLine sameNamePerson PersonName LastName Person samePerson p MemberwiseClone as Person samePerson ChangLastName Shadow Console WriteLine p PersonName LastName Console WriteLine sameNamePerson PersonName LastName Console Read 164 什么叫装箱 答 装箱 boxing 是将值类型的数据转化成引用类型 int i 3 object o i 便是装箱过程 而拆箱 unboxing 是将饮用类型数据转换值类型 比如 int j int o 属于拆箱 165 string 是值类型还是引用类型 答 引用类型 166 XmlSerializer 使用的针对属性的模式有什么好处 解决了什么问题 答 只序列化有用的数据 而不是序列化整个对象 实现没必要的数据冗余 和提升序列化时的 性能 167 为什么不应该在 NET 中使用 out 参数 它究竟好不好 答 我挺喜欢用 out 参数的 特别是当函数需要有多于 1 个返回的时候 我比较愿意用 out 至于它好不好没研究过 168 特性能够放到某个方法的参数上 如果可以 这有什么用 答 可以 作用可以对参数有进一步限定 比如输入参数为 int 类型 可以通过允许 AttributeTargets ParameterInfo 的 Attribute 自定义实现来限定输入参数的大小 比如当 输入参数小于 100 的时候便报错 对方法的参数设置 Attribute 的例子 AttributeUsage AttributeTargets Parameter public class ParameterAtt Attribute public int Min 100 public class AttributeTest public void TestMethod ParameterAtt Min 100 int par1 ParameterInfo para MethodInfo GetCurrentMethod GetParameters 0 ParameterAtt att ParameterAtt GetCustomAttribute para typeof Paramet erAtt as ParameterAtt if att Min par1 throw new Exception 要求 para1 最小为 att Min 169 delegate 是引用类型还是值类型 enum int 和 string 呢 难度系数 40 答案 delegate 引用类型 enum 值类型 int 引用类型 string 引用类型 尽供参考 170 base 这个关键字有哪几种语法 override 呢 答案 base 两个语法 分别是调用基类构造函数和调用基类方法 override 用于重写基类方法 尽供参考 171 请指出 C 中是否有下列关键字 virtual sealed abstract import as in goto final Const signed String 提示 仅指出 C 中没有的即可 答案 没有的关键字 import final Const signed String 尽供参考 172 在循环 for int i 0 i 100 i Cons

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论