2014版传智播客笔试面试宝典

上传人:tia****nde 文档编号:36838873 上传时间:2018-04-03 格式:DOC 页数:57 大小:620.09KB
返回 下载 相关 举报
2014版传智播客笔试面试宝典_第1页
第1页 / 共57页
2014版传智播客笔试面试宝典_第2页
第2页 / 共57页
2014版传智播客笔试面试宝典_第3页
第3页 / 共57页
2014版传智播客笔试面试宝典_第4页
第4页 / 共57页
2014版传智播客笔试面试宝典_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《2014版传智播客笔试面试宝典》由会员分享,可在线阅读,更多相关《2014版传智播客笔试面试宝典(57页珍藏版)》请在金锄头文库上搜索。

1、.Net 工程师面试笔试宝典工程师面试笔试宝典传智播客传智播客.Net 培训班内部资料培训班内部资料 http:/了解详细信息请访问:http:/ 技术类面试、笔试题汇总技术类面试、笔试题汇总注:标明注:标明*的问题属于选择性掌握的内容,能掌握更好,没掌握也没关系。的问题属于选择性掌握的内容,能掌握更好,没掌握也没关系。下面的参考解答只是帮助大家理解,不用背,面试题、笔试题千变万化,不要梦想着把题下面的参考解答只是帮助大家理解,不用背,面试题、笔试题千变万化,不要梦想着把题 覆盖了,下面的题是供大家查漏补缺用的,真正的把这些题搞懂了,才能覆盖了,下面的题是供大家查漏补缺用的,真正的把这些题搞懂

2、了,才能“以不变应万变以不变应万变” 。 回答问题的时候能联系做过项目的例子是最好的,有的问题后面我已经补充联系到项目中回答问题的时候能联系做过项目的例子是最好的,有的问题后面我已经补充联系到项目中 的对应的案例了。的对应的案例了。1、简述、简述 private、 protected、 public、 internal 修饰符的访问权限。修饰符的访问权限。 private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 当前程序集内可以访问。2、ADO.NET 中的

3、五个主要对象中的五个主要对象 Connection:主要是开启程序和数据库之间的连接。没有利用连接对象将数据库打开,是 无法从数据库中取得数据的。Close 和 Dispose 的区别,Close 以后还可以 Open,Dispose 以后则不能再用。 Command:主要可以用来对数据库发出一些指令,例如可以对数据库下达查询、新增、修 改、删除数据等指令,以及调用存在数据库中的存储过程等。这个对象是架构在 Connection 对象上,也就是 Command 对象是透过连接到数据源。 DataAdapter:主要是在数据源以及 DataSet 之间执行数据传输的工作,它可以透过 Comman

4、d 对象下达命令后,并将取得的数据放入 DataSet 对象中。这个对象是架构在 Command 对象上,并提供了许多配合 DataSet 使用的功能。 DataSet:这个对象可以视为一个暂存区(Cache) ,可以把从数据库中所查询到的数据保留 起来,甚至可以将整个数据库显示出来,DataSet 是放在内存中的。DataSet 的能力不只是 可以储存多个 Table 而已,还可以透过 DataAdapter 对象取得一些例如主键等的数据表结 构,并可以记录数据表间的关联。DataSet 对象可以说是 ADO.NET 中重量级的对象,这 个对象架构在 DataAdapter 对象上,本身不具

5、备和数据源沟通的能力;也就是说我们是将 DataAdapter 对象当做 DataSet 对象以及数据源间传输数据的桥梁。DataSet 包含若干 DataTable、DataTableTable 包含若干 DataRow。 DataReader:当我们只需要循序的读取数据而不需要其它操作时,可以使用 DataReader 对 象。DataReader 对象只是一次一笔向下循序的读取数据源中的数据,这些数据是存在数据 库服务器中的,而不是一次性加载到程序的内存中的,只能(通过游标)读取当前行的数 据,而且这些数据是只读的,并不允许作其它的操作。因为 DataReader 在读取数据的时候 限制

6、了每次只读取一笔,而且只能只读,所以使用起来不但节省资源而且效率很好。使用 DataReader 对象除了效率较好之外,因为不用把数据全部传回,故可以降低网络的负载。 ADO.NET 使用 Connection 对象来连接数据库,使用 Command 或 DataAdapter 对象来执 行 SQL 语句,并将执行的结果返回给 DataReader 或 DataAdapter ,然后再使用取得的 DataReader 或 DataAdapter 对象操作数据结果。3、列举、列举 ASP.NET 页面之间传递值的几种方式。页面之间传递值的几种方式。 1.使用 QueryString, 如.?id

7、=1; response. Redirect(). 2.使用 Session 变量 3.使用 Server.Transfer 4.Cookie 传值4、C#中的委托是什么?事件是不是一种委托?事件和委托的关系。中的委托是什么?事件是不是一种委托?事件和委托的关系。 委托可以把一个方法作为参数代入另一个方法。 委托可以理解为指向一个函数的指针。 委托和事件没有可比性,因为委托是类型,事件是对象,下面说的是委托的对象(用委托 方式实现的事件)和(标准的 event 方式实现)事件的区别。事件的内部是用委托实现的。 因为对于事件来讲,外部只能“注册自己+=、注销自己-=” ,外界不可以注销其他的注册

8、者, 外界不可以主动触发事件,因此如果用 Delegate 就没法进行上面的控制,因此诞生了事件 这种语法。事件是用来阉割委托实例的,类比用一个自定义类阉割 List。事件只能 add、remove 自己,不能赋值。事件只能+=、-=,不能= 。加分的补充回答:事件内部就 是一个 private 的委托和 add、remove 两个方法面试聊:用 Reflector 查看.Net 的类的内部实现,解决问题。5、override 与重载(与重载(overload)的区别)的区别 重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要。重载 (overload)是面向过程的概念。

9、Override 是进行基类中函数的重写。Override 是面向对象的概念6、C#中索引器是否只能根据数字进行索引?是否允许多个索引器参数?中索引器是否只能根据数字进行索引?是否允许多个索引器参数? 参数的个数和类型都是任意的。加分的补充回答:用 reflector 反编译可以看出,索引器的 内部本质上就是 set_item、get_item 方法。基础知识: 索引的语法: public string thisstring s,通过 get、set 块来定义取值、赋值的逻辑 索引可以有多个参数、参数类型任意 索引可以重载。 如果只有 get 没有 set 就是只读的索引。 索引其实就是 se

10、t_Item、get_Item 两个方法。7、属性和、属性和 public 字段的区别是什么?字段的区别是什么?调用 set 方法为一个属性设值,然后用 get 方法读取 出来的值一定是 set 进去的值吗? 属性可以对设值、取值的过程进行非法值控制,比如年龄禁止设值负数,而字段则不能进行这样的设置。虽然一般情况下 get 读取的值就是 set 设置的值,但是可以让 get 读取的值 不是 set 设置的值的,极端的例子。Public Agegetreturn 100;set。加分的补充回答: 用 reflector 反编译可以看出,属性内部本质上就是 set_*、get_*方法,详细参考传智

11、播 客.net 培训视频中串讲.net 基础的部分。class Personpublic int Agegetreturn 3;setPerson p1 = new Person();p1.Age = 30;p1.Age+;Console.Write(p1.Age);/输出 3必须手写掌握的代码(既包含拿电脑写,拿笔写): 1、 手写三层架构 2、 手写冒泡排序 3、 手写 AJAX:XMLHttpRequest 4、 手写增删改查、SQLHelper8、三层架构、三层架构 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI) 、业务逻辑层(BLL) 、 数据访问层(DAL) 。 区分

12、层次的目的即为了“高内聚,低耦合”的思想。 表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候的所见所得。业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻 辑处理。 数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更 新、查找等每层之间是一种垂直的关系。 三层结构是 N 层结构的一种,一般来说,层次之间是向下依赖的,下层代码未确定其接口 (契约)前,上层代码是无法开发的,下层代码接口(契约)的变化将使上层的代码一起 变化。 优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。 缺点: 增加成本。10、关于拆箱

13、装箱:、关于拆箱装箱: 1)什么是装箱)什么是装箱(boxing)和拆箱和拆箱(unboxing)? (*) Object 是引用类型,但是它的子类 Int32 竟然不能去 Object 能去的“要求必须是引用类型”的地方,违反了继承的原则,所以需要把 Int32 装在 Object 中才能传递。 装箱:从值类型接口转换到引用类型。 拆箱:从引用类型转换到值类型。 object obj = null;/引用类型obj = 1;/装箱,boxing。把值类型包装为引用类型。int i1 = (int)obj;/拆箱。unboxing2)下面三句代码有没有错,以 inboxing 或者 unbox

14、ing 为例,解释一下内存是怎么变化的 int i=10; object obj = i; int j = obj;分析:在 inboxing(装箱)时是不需要显式的类型转换的,不过 unboxing(拆箱)需 要显式的类型转换,所以第三行代码应该改为: 3 int j = (int)obj; 要掌握装箱与拆箱,就必须了解 CTS 及它的特点:NET 重要技术和基础之一的 CTS(Common Type System)。CTS 是为了实现在应用程序 声明和使用这些类型时必须遵循的规则而存在的通用类型系统。.Net 将整个系统的类型分 成两大类 :值类型和引用类型。 CTS 中的所有东西都是对象

15、;所有的对象都源自一个基类System.Object 类型。值类型 的一个最大的特点是它们不能为 null,值类型的变量总有一个值。为了解决值类型不可以 为 null,引用类型可以为 null 的问题,微软在.Net 中引入了装箱和拆箱:装箱就是将值类 型用引用类型包装起来转换为引用类型;而从引用类型中拿到被包装的值类型数据进行拆 箱。 (*)object.ReferenceEquals();/用来判断两个对象是否是同一个对象Console.WriteLine(object.ReferenceEquals(3,3);/因为两个3被装到了两个箱子中,所以是falseEquals =的关系12、C

16、TS、CLS、CLR 分别作何解释(分别作何解释(*)把英文全称背过来。)把英文全称背过来。 C#和和.Net 的关系。的关系。C#只是抽象的语言,可以把只是抽象的语言,可以把 C#编译生成编译生成 Java 平台的二进制代码,也可以把平台的二进制代码,也可以把 Java 代码编代码编 译生成译生成.Net 平台的二进制代码。所以平台的二进制代码。所以 C#只是提供了只是提供了 if、while、+-*/、定义类、定义类、int、string 等基础的语法,而等基础的语法,而 Convert.ToInt32、FileStream、SqlConnection、String.Split 等都属于等都属于. Net 的东西。深蓝色是的东西。深蓝色是 C#的,浅蓝色是的,浅蓝色是.Net 的。的。C# newIL:newobj C# string .Net 中的中的 String类型的差别

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号