.NET面试试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

.NET面试试题
第一篇:.NET面试试题
1、“请做一下自我介绍。


回答思路:①介绍内容要与个人简历相一致;②表情自然、面带微笑,表述方式上尽量口语化、但是讲到技术时尽量用专业化语言;
③要切中要害(如:基本信息介绍、项目经验介绍/工作经验介绍),不谈无关、无用的内容;④时间要合理、条理要清晰、层次要分明;
⑤事先最好以文字的形式写好背熟。


2、“谈谈你做过的项目情况。


回答思路:①考察学员所做项目是否真实、思路是否清晰;②列举做过的项目数量,以2—3个为宜,其中主要讲解一个项目。

③最好所做的项目和应聘企业主要产品是相同或类似的,技术方向一致。

比如应聘企业主要是做金融系统,项目中就可以说××企业的开放基金项目。

④必须介绍项目几大要素(名称、客户、时间、技术、业务)
3、“你对加班的看法。


回答思路:①如果是工作需要,特别是项目进度的要求,是非常乐意加班的;
4、“你对工资的要求是多少?你是否接受××元的工资?”
回答思路:①我遵守公司的人力资源薪酬体系②如果非得要求开工资,1000元左右③我也相信当我为公司做的贡献足够大时,公司也会考虑我的薪水问题。

我相信薪水是做出来的,不是谈出来的。

5、“你的优点和缺点是什么?”
谈缺点的回答思路:①不宜说自己没缺点;②不宜把那些明显的优点说成缺点;③不宜说出严重影响所应聘职位的缺点;④不宜说出令人不放心、不舒服的缺点;⑤可以说出一些对于所应聘职位“无关紧要”的缺点,甚至是一些表面上看似“缺点”,从工作的角度看却是优点的“缺点”。

谈优点的常规思路:①优点一定要对公司有帮助的;②优点一定要简明扼要;③对优点要准备好一些案例
6、“谈谈你对公司的了解”
回答思路:考察求职者对招聘公司的重视程度、行业、主要业务、主要领导人、企业规模、企业文化
7、“你的朋友对你是如何评价的?”
回答思路:①回答要是正面的积极的;②回答要符合该公司的企业文化;③举例说明
8、“你为什么选择我们公司?”
回答思路:①建议从行业、企业和岗位这三个角度来回答;
9、“你如何评价过去的公司?”(针对去外地工作的学员)
回答思路:①将公司简单介绍一下②不能上讲以前公司的不好,要比较公平的负责的评价以前的公司
10、“你有什么业余爱好和特长?”
回答思路:①业余爱好能在一定程度上反映应聘者的性格、观念、心态,而特长则更进一步体现了我们的个性特征,这是招聘单位提问的主要原因;②最好不要说自己没有业余爱好,企业并不需要读死书的“书呆子”;③不要说自己有那些庸俗的、令人感觉不好的爱好;
④回答的爱好和特长尽量能符合该公司的企业文化跟岗位需求)
11、“谈谈你的家庭情况”
回答思路:①简单地罗列家庭人口;②强调温馨和睦的家庭氛围;
③强调家庭成员对自己工作的支持;④强调自己对家庭的责任感。

12、“您觉得在成长的过程中,谁对您的影响最大?为什么?”
回答思路:①不宜说无;②不宜说崇拜自己,自信是不错的特征,但企业不需要自大狂;③不宜说崇拜一个虚幻的、或是不知名的人;
④不宜说崇拜一个明显具有负面形象的人;⑤最好说出自己所崇拜的人的哪些品质、哪些思想感染着自己、鼓舞着自己;
13、“谈一谈你的一次失败经历”
回答思路:①不宜说自己没有失败的经历;②不宜把那些明显的成功说成是失败;③不宜说出严重影响所应聘职位的失败经历;④举例并总结经验,得出人生启迪;⑤失败后自己很快振作起来,以更加饱满的热情面对以后的工作。

14、“对这项工作,你有哪些可预见的困难?”
回答思路:①实事求是的分析出这项工作可能会出现的困难;②工作中出现一些困难是正常的,但是自己可以克服这些困难。

15、“如果我录用你,你将怎样开展工作?”
常规思路:①融入项目团队②尽快的了解项目背景、项目状况③认真的工作,争取尽快完成任务④主要汇报项目进程
16、“你离职的原因是什么?”(针对去外地工作的学员)
回答思路:①我觉得深圳IT是一个技术非常先进的地方,IT气氛很好。

重庆的IT不是很发达。

②觉得自己还比较年轻,现在也没牵挂,想到这里来长期扎根,希望在深圳能实现自己的理想③本人跟前公司的合同也刚刚结束。

17、“与上级意见不一致时,你将怎么办?”
回答思路:①首先我会仔细听完领导的意见并仔细思考。

②我会给上级以必要的解释和沟通,我相信经过充分的沟通后可以达到最终合理化解决问题。

18、“我们为什么要录用你?”
回答思路:①我符合贵公司的招聘条件,凭我目前掌握的技能、高度的责任感和良好的适应能力及学习能力,完全能胜任这份工作。

我十分希望能为贵公司服务,如果贵公司给我这个机会,我一定能成为贵公司的栋梁!
19、你是应届毕业生,缺乏经验,如何能胜任这项工作?
回答思路:①首先我们是IT职业学校,在学校里我们已经完成了跨八个行业、多达20多个项目的开发;②在毕业之前,我们在我们学校的软件工厂实习了半年时间。

做了几个比较大的项目。

③除了在学校开发过这些项目外,我们在业余时间也做过一些个人的项目。

所以加起来我们项目经验还是比较多的。

④我有较强的责任心、适应能力和学习能力,而且比较勤奋,学校所学及兼职的工作经验使我一定能胜任这个职位。

20、“你希望与什么样的上级共事?”
回答思路:①我觉得和什么样的领导共事,我都能够很好的工作,
因为只要努力工作,做出成绩,就肯定会得到认可的。

②当然,如果有一个知人善用,关心下属,在工作中能够给予帮助的,为我们指明方向的领导就更好了。

21、“对公司有什么问题要问”
回答思路:①可以问一下“未来几年,公司会有什么新的发展计划” ②可以问一下在将来工作中有哪些需要注意的地方。

.net技术题
1.类成员有几种可访问性?
答案: private :私有成员, 在类的内部才可以访问。

protected : 保护成员,该类内部和继承类中可以访问。

public :公共成员,完全公开,没有访问限制。

internal:在同一命名空间内可以访问
2.面向对象的特征有哪些方面
答案: 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。

抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。

抽象包括两个方面,一是过程抽象,二是数据抽象。

2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。

对象的一个新类可以从现有的类中派生,这个过程称为类继承。

新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。

派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

3.封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。

面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。

4.多态性:多态性是指允许不同类的对象对同一消息作出响应。

多态性包括参数化多态性和包含多态性。

多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题
3.请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点
答案: session(viewstate)简单,但易丢失
application全局
cookie简单,但可能不支持,可能被伪造
input ttype=“hidden”简单,可能被伪造
url参数简单,显示于地址栏,长度有限
数据库稳定,安全,但性能相对弱
4.讲解一下你所理解的三层架构
答案:重点讲解三层架构的优缺点,看是否能正确地理解三层架构
5.什么是装箱和拆箱
答案:从值类型接口转换到引用类型装箱。

从引用类型转换到值类型拆箱
中的身份验证有那些?你当前项目采用什么方式验证请解释
答案:的身份验证有有四种,分别是“Windows|Forms|Passport|none”,其中又以Forms验证用的最多,也最灵活。

7.请解释转发与跳转的区别?
答案:Transfer是转发从服务器端跳转
Redirect就是跳转从客户端跳转
8.c/S结构模式与B/S结构模式的主要区别是什么?
答案: 首先,在系统的性能方面。

只要拥有可上网的浏览器,就可以使用B/S系统。

不过,B/S结构的客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作要由服务器承担,这就对服务器提出了很高的要求,无形中增加了用户在这一方面的投入。

采用C/S结构时,客户端和服务器都承担部分工作,有效利用了客户端和服务器端的资源,使用户不必在硬件上有更多的投入。

另外,浏览器页面不便于修改,这为用户定制自己的文件时带来了不便,比如用户想自定义一个报表,用B/S结构的系统就比较难完成。

其次,在系统的开发方面,C/S结构的开发对开发者提出了较高的要求,整个开发过程比较复杂。

与B/S结构相比,C/S技术的历史更为“悠久”,从技术成熟度和开发人员普遍掌握的水平来看更为成熟。

第三,系统升级方面。

C/S结构中若有某一模块发生改变,可能要关联到其它模块的变动,使系统升级的成本较大;而B/S结构在开发、维护阶段几乎所有的工作都集中在服务器端,只需更新服务器端的软件就可以了。

如果系统升级比较频繁,那么B/S架构的产品就具有维护工作量少的优势。

第四,安全性方面。

在安全性上,B/S结构则略显不足,毕竟现在网络安全系数不高,只要拥有密码,任何人都可以进入到用户的系统中;而C/S结构由于需要特定的客户端软件,并且一般来说都要对客户端加密,甚至可以限定只有某一台计算机可以使用这个客户端,因而对安全性有更多的保障。

9.override与重载的区别?
答案:重载是方法的名称相同。

参数或参数类型不同,进行多次重载以适应不同的需要
Override 是进行基类中函数的重写。

为了适应需要
10.GC是什么? 为什么要有GC
答案: GC是垃圾收集器。

程序员不用担心内存管理,因为垃圾收集器会自动进行管理。

要请求垃圾收集,可以调用下面的方法之一:System.gc()
Runtime.getRuntime().gc()
11.什么是虚函数?什么是抽像函数?
答案: 虚函数:没有实现的,可由子类继承并重写的函数。

抽像函数:规定其非虚
子类必须实现的函数,必须被重写
中常用的对象有哪些?
答案: Connection 数据库连接对像
Command 数据库命令
DataReader 数据读取器
DataSet 数据集
13.接口是否可继承接口? 抽像类是否可实现(implements)接口? 抽像类是否可继承实
体类(concrete class)?
答案: 接口可以继承接口。

抽像类可以实现(implements)接口,抽像类是否可继承
实体类,但前提是实体类必须有明确的构造函数
14.在循环中,return,break,continue,goto的区别
答案: break-立刻终止循环,continue,跳出本次循环,goto,可以跳出循环,到已
标记好的位置上,return,跳出循环和其包围的函数
15.列举一下你所了解的XML技术及其应用
答案:答:XML可是好东西,保存配置,站与站之间的交流,WEB SERVICE都要用它
16.什么叫应用程序域
答案:应用程序域可以理解为一种轻量级进程。

起到安全的作用。

占用资源小
17.进程和线程的区别?
答:进程是系统进行资源分配和调度的单位;线程是CPU调度和分派的单位,一个进程可以有多个线程,这些线程共享这个进程的资源。

18.堆和栈的区别?
答:栈:由编译器自动分配、释放。

在函数体中定义的变量通常在栈上。

堆:一般由程序员分配释放。

用new、malloc等分配内存函数分配得到的就是在堆上。

19.软件开发过程一般有几个阶段?每个阶段的作用?
答:需求分析,架构设计,代码编写,QA,部署
20.foreach和for的区别是什么
答案: foreach是只读的,for是可读可写;使用方式的不同
SqlServer技术题
1.请说出数据库中存储过程和函数的区别
答案: 存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程
函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。

2.谈谈你对数据库中“视图”的看法
答案:视图是一种虚拟表,通常是作为来自一个或多个表的行或列的子集创建的。

视图本质上讲,就是保存在数据库中的select查询视图并不是数据库中存储的数据值的集合。

对最终用户的好处–结果更容易理解–获得数据更容易
对开发人员的好处–限制数据检索更容易–维护应用程序更方便
3.什么是规范化?三范式的定义是什么?
答案: 从数据库的表中,除去冗余数据的过程称为规范化。

三范式的定义:
第一范式的定义:如果一个表中没有重复组(每一字段只存储一个值)。

第二范式的定义:如果一个表属于1NF,任何属性只依赖于关键字,则这个表属于第二范式(必须先符合1NF的条件,且每一行都能被唯一的识别)
第三范式的定义:如果一个表属于2NF,且不包含传递依赖性(没有一个非关键属性依赖于另一个非关键属性)
4.什么是索引?它的优、缺点是什么
答案: 索引:是一个数据库对象,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单,然后根据指定的排序次序排列这些指针
优点:提高查询执行的速度。

强制实施数据的唯一性。

提高表之间联接的速度。

缺点:存储索引要占用磁盘空间。

数据修改需要更长的时间,因为索引也要更新
5.游标的作用?如何知道游标已经到了最后?
答案: 游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通常此变量不等于0表示出错或到了最后
6.触发器分为事前触发和事后触发,这两种触发有和区别。

语句级触发和行级触发有
何区别?
答案:事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。

通常事前触发器可以获取事件之前和新的字段值。

语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次
7.动态查询如何实现?表的结构变化后,如果不需要修改程序,如何设计和实现查
询?
答案: 将查询封装进存储过程中,通过调用存储过程实现动态调用;表结构发生变化后修改相应的存储过程即可再不修改程序的情况下实现查询
8.如何处理几十万条并发数据?
答:用存储过程或事务。

取得最大标识的时候同时更新..注意主键不是自增量方式这种方法并发的时候是不会有重复主键的..取得最大标识要有一个存储过程来获取
9.数据库系统的三级模式是什么模式?
答案:分别为概念模式、内部级模式与外部级模式。

10.如何优化数据库,如何提高数据库的性能?
答案: 优化数据库主要是优化查询语句,通过高性能的查询语句可以提高数据库的性能
第二篇:最新NET面试问题整理
NET面试题
1.中的身份验证有那些?你当前项目采用什么方式验证请解释
身份验证模式包括Windows、Forms(窗体)、Passport(护照)和None(无)。

λλWindows身份验证—常结合应用程序自定义身份验证使用使用这种身份验证模式时,依赖于IIS对用户进行验证,并创建一个Windows访问令牌来表示已通过验证的标识。

IIS提供以下几种身份验证机制:
Passport身份验证。

使用这种身份验证模式时,使用Microsoft Passport的集中式身份验证服务,该服务为成员站点提供单一登录和核心配置文件服务。

由于访问新的受保护资源或站点时不再需要登录。

为Microsoft Passport软件开发包(SDK)所提供的功能提供了一个方便的包装(Wrapper)。

此SDK必须安装在WEB服务器上。

λForm窗体身份验证—常用。

这种验证方式使用客户端重定向功能,将未通过身份验证的用户转发到特定的登录窗体,要求用户输入其凭据信息(通常是用户名和密码)。

这些凭据信息被验证后,系统生成一个身份验证票证(ticket)并将其返回客户端。

身份验证票证可在用户的会话期间维护用户的身份标识信息,以及用户所属的角色列表(可选)。

λ
2.什么是WEB控件?使用WEB控件有那些优势?
Web 服务器控件定义为抽象控件,是使用于web窗体页并运行于服务器的控件,包括传统的窗体控件,例如按钮、文本框和表等复杂控件,还包括提供在网格中显示数据、选择日期等常用窗体功能的控件。

可在服务器上使用熟悉的面向对象技术对其进行编程的对象模型。

每个服务器控件都公开一些属性,这些属性使您得以在服务器代码中通过编程操作该控件的 HTML 属性。

提供一组事件,您可以为其编写事件处理程序,方法与在基于客户端的窗体中大致相同,所不同的是事件处理是在服务器代码在客户端脚本中处理事件的能力。

自动维护控件状态。

在窗体到服务器往返期间,用户在HTML 服务器控件中输入的值将在页发送回浏览器时自动维护。

与验证控件进行交互,便于您验证用户是否在控件输入了适当的信息。

数据绑定到一个或多个控件属性。

如果Web 窗体页显示在支持层叠样式表的浏览器中,则支持HTML 4.0 样式。

直接可用的自定义属性。

您可以将任何需要的属性添加到HTML 服务器控件,页框架将读取并呈现它们而不更改其任何功能。

Web 服务器控件还提供以下功能:
λ功能丰富的对象模型,该模型具有类型安全编程功能。

λ自动浏览器检测。

控件可以检测浏览器的功能,并为基本型和丰富型(HTML 4.0)浏览器创建适当的输出。

λ对于某些控件,可以使用模板来自定义控件的外观。

λ对于某些控件,可以指定控件的事件是立即发送到服务器,还是先缓存然后在提交窗体时引发。

λ可将事件从嵌套控件(例如表中的按钮)传递到容器控件。

3.请解释ASP。

NET中以什么方式进行数据验证?
.net中提供了几个数据验证控件,可以在服务器端或者客户端进行验证。

4.请谈谈对正则表达式的看法?
正则表达式:Regular Express(也称为“regex”或“regexp”),是一种用来描述文本模式的特殊语法。

在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。

正则表达式就是用于描述这些规则的工具5. 中共有几种类型的控件?各有什么区别?
Html控件――传统的html标记+runat=”server”,可在服务器端访问,功能没有Web控件强大Web控件――服务器端控件,可以回传数据,事件驱动
用户控件――自定义、可重用的控件,和WebForm很相似,以WebForm为容器运行
自定义控件――自定义、可重用的组件,从WebControl继承,在服务器端执行中完成的。

None。

使用这种身份验证模式,表示你不希望对用户进行验证,或是采用自定义的身份验证协议。

这将允许您向控件添加浏览器特定的属性。

6.WEB控件可以激
法服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回。

通过实现IPostBack这个接口来执行事件。

自动回传就是AutoPostBack,使用自动回传可以监视客户端变化情况并将这种改变返回到服务器端
7. WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
能,追根溯源,服务器端控件在html中表现形式还是html标记,所以可以执行客户端事件例如:控件.Attributes[“客户端事件”]=“客户端脚本”;
8. ASP。

NET与ASP相比有什么优势?
1.开发语言不同
ASP仅局限于使用non-type脚本语言来开发,用户给WEB页中添加ASP代码的方法与客户端脚本中添加代码的方法相同,导致代码杂乱。

允许用户选择并使用功能完善的strongly-type编程语言,也允许使用潜加巨大的.NET Framework。

2.运行机制不同ASP是解释运行的编程框架,所以执行效率加较低。

是编译性的编程框架,运行是服务器上的编译好的公共语言运行时库代码,可以利用早期绑定,实施编译来提高效率。

3.开发方式
ASP把界面设计和程序设计混在一起,维护和重用困难。

把界面设计和程序设计以不同的文件分离开,复用性和维护性得到了提高。

9.请解释web.config文件中的重要节点
connectionStrings:配置连接字符串,在程序中读取(还可直接提供给其他节点使用,如缓存依赖节点)
AppSettings:可以提供用户自己配置参数,然后在程序中读取
customErrors:配置程序的错误处理
authentication和authorization:配置程序的安全验证和授权
trace:配置程序的跟踪
globalization:配置程序的全球化,比如:语言pages:配置程序的页设置
10.请解释ASP。

NET中的Web页面与其隐藏类之间的关系?
11.什么是ViewState,能否禁用?是否所用控件都可以禁用?
Web页面是没有状态的,ViewState(视图状态)可用来保存Web 页面在客户端和服务器端往返过程的状态
12.当发现不能读取页面上的输入的数据时苏州人才网成的,其中,程序集的标识包括简单文本名称、版本号和区域性信息(如果提供的话)。

您可以确保名称的全局唯一性。

26.请列出c#中几种循环的方法,并指出他们的不同1)do: 先循环后判断循环条件
do { // 循环体 }while(循环条件);2)while:根据条件判断是否循环
While(循环条件){ } 3)for:可以指定循环次数,递增量等,功能强大
for(初始值;条件;递增){ } 4)foreach:遍历集合,效率最好
foreach(类型变量 in 集合){ } 循环体循环体循环体
b 对上面生成的数组排序,需要支持升序、降序两种顺序int[] iArray= new int[100];Random random= new Random();ArrayList arraylist= new ArrayList(100);for(int i = 0;i < 100;i++){ } for(int i = 0;i < 100;i++){
} Array.Sort(iArray);//排序Array.Reverse(iArray);//反序int iKey= random.Next(0,99-i);IArray[i] = Convert.T oInt32(arraylist[iKey]);arraylist.RemoveAt(iKey);arraylist. Add(i);
27.请指出.net中所有类型的基类
Object
28.请指出GAC的含义
全局程序集缓存(global assembly cache, GAC)。

它解决了几个
程序共享某一个程序集的问题。

不必再将那个被共享的程序集拷贝到应用程序目录了,其实这道理很简单,.net应用程序在加载的时候,会首先查看全局应用程序集缓存,如果有就可以直接使用,没有再到应用程序目录进行查找。

29. params关键字的作用
params 关键字可以指定在参数数目可变处采用苏州除皱参数的方法参数。

在方法声明中的params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。

30.请解释中以什么方式进行数据验证?
可以使用验证控件进行客户端和服务器端验证
也可以使用传统方式:用客户端脚本在客户端验证,用服务器语言在服务器端验证
31. ArrayList,Array,string[]三者的区别?
32.请说明.net中的错误处理机制,并举例
异常是从Exception 类继承的对象,异常从发生问题的代码区域引发,然后沿堆栈向上传递,直到应用程序处理它或程序终止 try { //执行代码 } catch { //出错处理 } finally { //无论怎样,都要执行 } 33.什么叫应用程序域?
应用程序域提供安全而通用的处理单元,公共语言运行库可使用它来提供应用程序之间的隔离。

您可以在具有同等隔离级别(存在于单独的进程中)的单个进程中运行几个应用程序域,而不会造成进程间调用或进程间切换等方面的额外开销。

在一个进程内运行多个应用程序的能力显著增强了服务器的可伸缩性。

34.常用的调用webservice方法有哪些
1)使用WSDL.exe命令行工具。

2)使用中的Add Web Reference菜单选项
35.什么是中的用户控件
用户控件,其实就是网页的一部分,包括ascx与.cs文件前台标苏州祛斑 mand:命令对象传递 T-sql语句或者。

相关文档
最新文档