.Net程序员面试题大全

合集下载

.NET面试试题

.NET面试试题

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

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

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

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

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

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

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

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

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

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

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

net面试题(程序员必看 附答案)

net面试题(程序员必看  附答案)

NET面试题一想看答案往下翻.NET技术题1.类成员有几种可访问性?2.用sealed修饰的类有什么特点3.执行下面代码后:String strTemp ="abcdefg 某某某";Int i System.Text.Encoding.Default.GetBytes(strTemp).Length;Int j = strTemp.Length;1.问:i,j分别为多少并说明理由4.概述三层结构体系?中读写XML的类都归属于哪些命名空间?6.a=10,b=15,在不用第三方变量的前提下,把a,b的值互换?7.对数据的并发采用什么办法进行处理较好。

8.override与重载的区别?9.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?10.什么叫应用程序域11.CTS、CLS、CLR分别作何解释12.什么是装箱和拆箱13.什么是Code-Behind技术14.GC是什么? 为什么要有GC15.接口是否可继承接口? 抽像类是否可实现(implements)接口? 抽像类是否可继承实体类(concreteclass)?16.数组有没有length()这个方法? String有没有length()这个方法?17.堆和栈的区别?18.请指出GAC的含义19.DataReader与Dataset有什么区别20.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?21.C/S结构模式与B/S结构模式的主要区别是什么22.C#中的数组类型有何特点?23.ASP。

NET与ASP相比,主要有哪些进步?24.结构和类的区别是什么?25.&和&&的区别26.<%#%>和<%%>有什么区别?27.在中,下列代码运行后的输出结果是?DataTable dt = new DataTable();dt.Columns.Add(“编号“,typeof(System.Int16));dt.Columns.Add(“成绩“,typeof(System.Int16));for(int i=1; i<=3;i++){dataRow dr = dt.NewRow();dr[0]=i;dr.rows.Add(dr);}Console.WriteLine(dt.Columns.Count);28.下面的代码中有什么错误吗?_______ing System;class A{public virtual void F(){Console.WriteLine("A.F");}}abstract class B:A{public abstract override void F();2.}29.下面这段代码输出什么?为什么?int i=5;int j=5;if (Object.ReferenceEquals(i,j))Console.WriteLine("Equal");elseConsole.WriteLine("Not Equal");30.请编程实现一个冒泡排序算法?SqlServer 技术题31.触发器的作用?32.什么是存储过程?用什么来调用?33.什么是内存泄漏?34.动态查询如何实现?表的结构变化后,如果不需要修改程序,如何设计和实现查询35.触发器分为事前触发和事后触发,这两种触发有和区别。

50个.NET面试题

50个.NET面试题

.NET常见面试题面试题1 什么是CTS、CLS和CLR公共语言运行库(CLR)是一个CLI的一个实现,包含了.NET运行引擎和符合CLI的类库。

通用类型系统(CTS)包含在微软公司提交的CLI规范,定义了一个可以在CLR上运行的类型规范。

公共语言规范是CTS的一个子集,定义了所有面向.NET的程序所需要符合的最小规范集。

面试题2 CLR技术和COM技术的比较CLR和COM都定义了组件间交互的规范。

COM并没有定义如何描述组件间的依赖性,并且由于其严格的物理约定,造成了很多组件版本升级和控制的问题。

CLR运用元数据和逻辑类型定义等机制,有效地解决了COM遗留的一些问题。

并且,相较于COM模型,笔者认为CLR更容易理解和学习。

面试题3 JIT是如何工作的JIT引擎在编译中间代码之前,会寻找方法的本机机器代码缓存并且判断其是否可用,如果可用则直接加载,如果不可用,JIT引擎会查找类型中的方法存根,找到该中间代码并且进行编译。

面试题4 怎么把程序集放入GAC中GAC是一个具有特定目录结构的文件夹,所有强签名的程序集都可以被放入GAC中。

可以通过.NET Framework自带的assembly viewer来简单地拖动添加一个程序集到GAC中,也可以利用诸如gacutil.exe 等工具使用命令行来添加。

总之,任何方法归根结底,都是根据GAC的规范和程序集本身的特性,在GAC目录下建立相应的子目录结构。

面试题5 值类型和引用类型的区别所有继承自System.ValueType的类型是值类型,而其他类型都是引用类型。

值类型的赋值会产生一个新的数据副本,所以每个值类型都拥有一个数据副本,而引用类型的赋值则是赋值引用。

值类型的对象分配在堆栈上,而引用类型的对象分配在堆上。

当比较两个值类型时,进行的是内容比较,而比较两个引用类型时,进行的是引用比较。

说明:笔者这里列举的,仅仅是值类型和引用类型一些主要的区别,通过这些本质区别,可以产生更多的细节区别,有兴趣的读者可以自己总结整理。

.NET面试题完整版(含前、后端及数据库等多个个方面带参考答案)

.NET面试题完整版(含前、后端及数据库等多个个方面带参考答案)

.NET⾯试题完整版(含前、后端及数据库等多个个⽅⾯带参考答案)⼀。

基础篇1.简述 private、 protected、 public、 internal 修饰符的权限。

private : 私有成员, 在类的内部才可以访问。

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

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

internal: 在同⼀命名空间内可以访问。

2 .列举 页⾯之间传递值的⼏种⽅式。

QueryString,Session,Cookies,Application,Server.Transfer。

2.C#中的委托是什么?事件是不是⼀种委托?委托是将⽅法作为参数带⼊另⼀个⽅法,委托可以理解为指向⼀个函数的引⽤,事件是⼀种特殊的委托。

3.堆和栈的区别? 1、栈(操作系统):由操作系统⾃动分配释放 ,存放函数的参数值,局部变量的值等。

其操作⽅式类似于数据结构中的栈; 2、堆(操作系统): ⼀般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配⽅式倒是类似于链表。

5.abstract class和interface有什么区别?1.抽象类可以有构造⽅法,接⼝中不能有构造⽅法。

2.抽象类中可以有普通成员变量,接⼝中没有普通成员变量3.抽象类中可以包含⾮抽象的普通⽅法,接⼝中的所有⽅法必须都是抽象的,不能有⾮抽象的普通⽅法。

4. 抽象类中的抽象⽅法的访问类型可以是public,protected和(默认类型,虽然eclipse下不报错,但应该也不⾏),但接⼝中的抽象⽅法只能是public类型的,并且默认即为public abstract类型。

5. 抽象类中可以包含静态⽅法,接⼝中不能包含静态⽅法6. 抽象类和接⼝中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接⼝中定义的变量只能是public static final类型,并且默认即为public static final类型。

.NET面试题大全

.NET面试题大全

----------------------------------------------------------------------------------------------------------------------------1. new 关键字用法(1)new 运算符用于创建对象和调用构造函数。

(2)new 修饰符用于向基类成员隐藏继承成员。

(3)new 约束用于在泛型声明中约束可能用作类型参数的参数的类型。

2.如何把一个Array复制到ArrayList里(1) 实现1string[] s ={ "111", "22222" };ArrayList list = new ArrayList();list.AddRange(s);(2)实现2string[] s ={ "111", "22222" };ArrayList list = new ArrayList(s);3.DataGrid的Datasouse可以连接什么数据源l DataTablel DataViewl DataSetl DataViewManagerl 任何实现IListSource接口的组件l 任何实现IList接口的组件4.概述反射和序列化反射公共语言运行库加载器管理应用程序域。

这种管理包括将每个程序集加载到相应的应用程序域以及控制每个程序集中类型层次结构的内存布局。

程序集包含模块,而模块包含类型,类型又包含成员。

反射则提供了封装程序集、模块和类型的对象。

您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。

然后,可以调用类型的方法或访问其字段和属性。

序列化序列化是将对象状态转换为可保持或传输的格式的过程。

与序列化相对的是反序列化,它将流转换为对象。

这两个过程结合起来,可以轻松地存储和传输数据。

.net面试题及答案3篇

.net面试题及答案3篇

.net面试题及答案3篇.net面试题及答案11.JIT是什么,它是如何工作的?GC是什么,简述一下GC的工作方式?JIT:Just in time,C#或者是的代码首先被编译为IL存储在本地,当要运行这些代码的时候,CLR对IL进行第二次编译转换成机器码运行。

好处:可移植性,而且IL在加载到内存中时将受到类型安全性方面检查,这实现了更好的安全性和可靠性。

GC:垃圾回收(garbage collection),是根据程序的需要自动分配和回收内存的过程。

垃圾回收器处理的是引用对象,而且只回收堆上的内存。

这意味着假如维持对一个对象的引用,就会阻止GC重用对象使用的内存。

在.NET中,垃圾回收器采用的是mark-and-pact算法。

在一次垃圾回收周期开始的时候,它要识别对象的所有跟引用,根据这个引用可以遍历每个根引用所标识的一个树形结构,并递归确定所有引用指向的对象。

这样一来,垃圾回收器就可以识别所有可达的对象,在执行回收的时候,GC 不是枚举所有访问不到的对象,相反,通过压缩所有相邻的可达的对象来执行垃圾回收。

不可访问的对象就会被覆盖。

垃圾回收的宗旨是提高内存的利用率,它并不是用来清理文件句柄,和数据库连接字符串,端口或者其他有限的资源(终接器finalizer,不能被显示调用,不能传递任何参数,即不能被重载,只有垃圾回收器才能调用终接器,使用Using语句进行确定性终结2.类(class)和结构(struct)的区别是什么?它们对性能有影响吗?01. 值类型与引用类型结构是值类型:值类型在栈上分配地址,所有的基类型都是结构类型,例如:int 对应System.int32 结构,通过使用结构可以创建更多的值类型类是引用类型:引用类型在堆上分配地址堆栈的执行效率要比堆的执行效率高,可是堆栈的资源有限,不适合处理大的逻辑复杂的对象。

所以结构处理作为基类型对待的小对象,而类处理某个商业逻辑因为结构是值类型所以结构之间的赋值可以创建新的结构,而类是引用类型,类之间的赋值只是复制引用注:1.虽然结构与类的'类型不一样,可是他们的基类型都是对象(object),c#中所有类型的基类型都是object2.虽然结构的初始化也使用了New 操作符可是结构对象依然分配在堆栈上而不是堆上,如果不使用“新建”(new),那么在初始化所有字段之前,字段将保持未赋值状态,且对象不可用02.继承性结构:不能从另外一个结构或者类继承,本身也不能被继承,虽然结构没有明确的用sealed声明,可是结构是隐式的sealed .类:完全可扩展的,除非显示的声明sealed 否则类可以继承其他类和接口,自身也能被继承注:虽然结构不能被继承可是结构能够继承接口,方法和类继承接口一样03.内部结构:结构:没有默认的构造函数,但是可以添加构造函数没有析构函数没有abstract 和sealed(因为不能继承)不能有protected 修饰符可以不使用new 初始化在结构中初始化实例字段是错误的类:有默认的构造函数有析构函数可以使用abstract 和sealed 有protected 修饰符必须使用new 初始化.net面试题及答案21.什么是元编程,.NET有哪些元编程的手段和场景?什么是反射?能否举一些反射的常用场景?有人说反射性能较差,您怎么看待这个问题?有什么办法可以提高反射的性能吗?学着做OA的时候,动态加载不同的DataProvider(Oracle和Sqlserver),方便,可以随时替换不用重新编译程序2.委托是什么?匿名方法是什么?在C#3.0中,Lambda表达式是什么?扩展方法是什么?LINQ是什么?您觉得C# 3.0中还有哪些重要的特性,它们带来了什么优势?BCL中哪些类库和这些特性有关?您*时最常用哪些?委托可以把一个方法作为参数代入另一个方法。

net面试题大全

net面试题大全

.net面试题大全(一)1.如何查询数据库中的10-20条数据Select top 10 * from table where id >(select top 10 ID from table )2.varchar和nvarchar的区别3.sqlCommart的几种类型4.怎样调用存储过程5.请秒速一下在代码里面查询数据最简单的方法6.怎样获取button 对象,有几种方法7.int 和 int?的区别ing的用法和作用还有一些我还没有想到,等我想到了在给你1 (1)面向对象的语言具有__继承性_性、_封装性_性、_多态性性。

(2)能用foreach遍历访问的对象需要实现 _ IEnumerable 接口或声明_ GetEnumerator 方法的类型。

1.c#中的三元运算符是__?:__2.当整数a赋值给一个object对象时,整数a将会被__装箱___?3.类成员有__3__种可访问形式?4.public static const int A=1;这段代码有错误么?是什么? const成员都是static所以应该去掉static5.float f=-123.567F;int i=(int)f;i的值现在是_-123____?6.利用operator声明且仅声明了==,有什么错误么? 要同时修改Equale和GetHash() ? 重载了"==" 就必须重载 "!="7.委托声明的关键字是___ delegate ___?8.用sealed修饰的类有什么特点?不可被继承9.在中所有的自定义用户控件都必须继承自_ erControl _______?10.在.Net中所有可序列化的类都被标记为__[serializable]___?11.在.Net托管代码中我们不用担心内存漏洞,这是因为有了_ gC __?12.下面的代码中有什么错误吗?_ abstract override 是不可以一起修饰______using System;class A{public virtual void F(){Console.WriteLine("A.F");}}abstract class B:A{public abstract override void F();}13.当类T只声明了私有实例构造函数时,则在T的程序文本外部,_不可以_(可以 or 不可以)从T派生出新的类,_不可以_(可以 or 不可以)直接创建T的任何实例。

NET(C#)程序员面试题(结构化面试)

NET(C#)程序员面试题(结构化面试)

.NET(C#)程序员面试题(结构化面试)1、你怎么过来的?坐公交还是地铁啊?2、能不能简要介绍下你自己3、如果让你计算下从罗湖到后海的地铁的里程,你该如何计算?4、你最近服务过的公司的情况能不能简要介绍下?5、你为什么离开那家公司?6、离职以后,你会不会有失落感?跟以前的同事还联系吗?方便留下一个以前朋友的联系方式让人力资源部打电话了解下吗?7、你选择工作最看重的是什么?8、很多人认为写程序很枯燥,很厌倦,你认为呢?9、你觉得你为什么能够胜任这份工作?(这份工作需要什么样的能力和态度?)10、你做过的最复杂的一个项目是什么?11、JS里的getElementById和getElementByName有什么区别?12、在C#中,如何最快地把一个字符串”a,b,c,d”转变成一个数组?13、在C#中,如何将字符串转换成日期类型呢?14、如果GRIDVIEW中日期列默认带上了00:00:00的时间,如何去掉呢?15、SQL2000中,表格table增加一列col1,SQL怎么写?16、如何执行存储过程SP_TEST?函数中可以调用存储过程吗?函数可以返回表吗?如何取得person表的前三行?17、你觉得你面对这项工作还有哪些不足?18、如果给你布置一个从来没有做过的项目,你该如何处理?19、如果上司给你布置了一个你认为不可能完成的任务,你该怎么办?20、你喜欢什么样的企业文化氛围(严格的?宽松的?)?21、你喜欢什么样的领导风格?(如果你的上司非常严厉,非常挑剔,经常给你很大压力,你觉得这样的领导对你有什么利弊?)22、你平时都看一些什么样的书?23、你对未来三年有没有职业发展规划?。

net程序员面试题(内附答案)

net程序员面试题(内附答案)

一、不定项选择题(多选、漏选都不得分,每题2分,共20分)1.以下叙述正确的是(BC )。

A.接口中可以有虚方法 B. 一个类可以实现多个接口 C. 接口不能被实例化D. 接口中可以包含已实现的方法2.下列选项中,(C)是引用类型。

A.enum类型 B. struct类型 C. string类型 D. int类型3.您要创建一个现实公司员工列表的应用程序。

您使用一个DataGrid控件现实员工的列表,打算修改这个控件以便在这个DataGrid的footer现实员工合计数,请问你应该怎么做?(C)A. 重写OnPreRender事件,当Grid的Footer行被创建时现实合计数B. 重写OnItemCreated事件,当Grid的Footer行被创建时现实合计数C. 重写OnItemDataBound事件,当Grid的Footer行被创建时现实合计数D. 重写OnLayout事件,当Grid的Footer行被创建时现实合计数4.在中,动态添加水印效果时,如果使用HttpHandle方式,则创建的HttpHandle程序以(B)作为后缀名。

A..aspx B..ashx C..aspm D..ascx5.在应用系统中,设当前站点所在的文件夹是E:\Hello Path\,在该站点有一个虚拟目录virPath,其对应的文件夹是F:\dest\,在该目录下有文件Hello.aspx,则使用Server.MapPath(“\\Hello.aspx”)的返回值是(D)。

A.F:\ virPath\ dest\Hello.aspxB.E:\Hello Path\ virPath\Hello.aspxC.F: \dest\ Hello.aspxD.E:\myPath\Hello.aspx6.在Ajax中,使用(AD)方法创建XMLHttpRequest对象。

A. XMLHttpRequest xmlHttpRequest= new XMLHttpRequest();B.Object obj = new Object();XMLHttpRequest xmlHttpRequest= new XMLHttpRequest(obj);C. XMLHttpRequest xmlHttpRequest=new ActiveObject();D. XMLHttpRequest xmlHttpRequest= new ActiveObject(“Microsoft.XMLHTTP”);7.下面(bd)选项正确的描述了页面导航方式。

.NET面试题汇总(带答案)

.NET面试题汇总(带答案)

.NET⾯试题汇总(带答案)1.维护数据库的完整性、⼀致性、你喜欢⽤触发器还是⾃写业务逻辑?为什么?答:尽可能⽤约束(包括CHECK、主键、唯⼀键、外键、⾮空字段)实现,这种⽅式的效率最好;其次⽤触发器,这种⽅式可以保证⽆论何种业务系统访问数据库都能维持数据库的完整性、⼀致性;最后再考虑⽤⾃写业务逻辑实现,但这种⽅式效率最低、编程最复杂,当为下下之策。

2.什么是事务?什么是锁?答:事务是指⼀个⼯作单元,它包含了⼀组数据操作命令,并且所有的命令作为⼀个整体⼀起向系统提交或撤消请求操作,即这组命令要么都执⾏,要么都不执⾏。

锁是在多⽤户环境中对数据的访问的限制。

SqlServer⾃动锁定特定记录、字段或⽂件,防⽌⽤户访问,以维护数据安全或防⽌并发数据操作问题,锁可以保证事务的完整性和并发性。

3.什么是索引,有什么优点?答:索引象书的⽬录类似,索引使数据库程序⽆需扫描整个表,就可以在其中找到所需要的数据,索引包含了⼀个表中包含值的列表,其中包含了各个值的⾏所存储的位置,索引可以是单个或⼀组列,索引提供的表中数据的逻辑位置,合理划分索引能够⼤⼤提⾼数据库性能。

4.视图是什么?游标是什么?答:视图是⼀种虚拟表,虚拟表具有和物理表相同的功能,可以对虚拟表进⾏增该查操作;视图通常是⼀个或多个表的⾏或列的⼦集;视图的结果更容易理解(修改视图对基表不影响),获取数据更容易(相⽐多表查询更⽅便),限制数据检索(⽐如需要隐藏某些⾏或列),维护更⽅便。

游标对查询出来的结果集作为⼀个单元来有效的处理,游标可以定位在结果集的特定⾏、从结果集的当前位置检索⼀⾏或多⾏、可以对结果集中当前位置进⾏修改、5.什么是存储过程?有什么优点?答:存储过程是⼀组予编译的SQL语句它的优点:1.允许模块化程序设计,就是说只需要创建⼀次过程,以后在程序中就可以调⽤该过程任意次。

2.允许更快执⾏,如果某操作需要执⾏⼤量SQL语句或重复执⾏,存储过程⽐SQL语句执⾏的要快。

net工程师面试题目(3篇)

net工程师面试题目(3篇)

第1篇第一部分:基础知识与框架理解1. 请简述.NET Framework和.NET Core的区别,以及.NET 5/6/7的主要更新和改进。

2. 解释什么是LINQ(Language Integrated Query),并举例说明其在C中的应用。

3. 请描述C中的委托(Delegate)和事件(Event)的概念,以及它们之间的区别。

4. 解释什么是面向对象编程(OOP),并列举至少三个OOP原则。

5. 请简述异常处理(Exception Handling)在C中的重要性,并说明try-catch-finally语句的用法。

6. 解释什么是接口(Interface)和抽象类(Abstract Class),并举例说明它们在C中的应用。

7. 请描述C中的泛型(Generics)的概念,并说明其优点。

8. 解释什么是异步编程(Asynchronous Programming),并举例说明其在.NET Core中的应用。

9. 请简述依赖注入(Dependency Injection)的概念,并说明其在.NET开发中的重要性。

10. 解释什么是单元测试(Unit Testing),并列举至少两种常用的单元测试框架。

第二部分:框架应用与开发实践11. 请简述 Core Web API的基本概念,并说明如何创建一个基本的Web API项目。

12. 解释什么是RESTful API设计,并举例说明如何实现RESTful API的GET、POST、PUT、DELETE操作。

13. 请描述如何使用Entity Framework Core(EF Core)进行数据库操作,包括如何定义模型、配置数据库连接以及进行CRUD操作。

14. 解释什么是中间件(Middleware),并举例说明如何在 Core WebAPI中实现自定义中间件。

15. 请描述如何使用 Core Identity进行用户认证和授权。

16. 解释什么是缓存(Caching),并列举至少两种常用的缓存策略。

.NET经典面试题

.NET经典面试题

.NET经典⾯试题微软.NET 经典⾯试题1. OO ⾯向对象的语⾔具有的三⼤特性:________性、_________性、________性答:封装、继承、多态。

2. 什么是多态?C#如何⽀持多态?多态指的是多种⾏为。

C#可以通过⽅法重载以及⽅法重写实现多态。

3. C#中能⽤ foreach 遍历访问的对象需要实现 ________________接⼝或声明________________⽅法的类型。

答:IEnumerable 、 GetEnumerator。

4. 垃圾收集器 GC 作⽤是什么? 为什么要有 GC?答:a) .NET 与 Java 类似,属于托管平台,C#等语⾔编写的代码由 CLR 托管执⾏。

b) GC 是垃圾收集器。

程序员不⽤担⼼内存管理,因为垃圾收集器会⾃动进⾏管理。

要请求垃圾收集,可以调⽤下⾯的⽅法之⼀:System.gc()Runtime.getRuntime().gc()5. 简述 C# private、 protected、 public、 internal 修饰符的访问权限。

答.:a) private : 私有成员, 在类的内部才可以访问。

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

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

d) internal: 在同⼀命名空间内可以访问。

6. 列举 页⾯之间传递值的⼏种⽅式。

答:a) URL 使⽤ QueryString, 如....?id=1; response. Redirect()....b) 使⽤ Session 对象c) Cached) ⽂件e) 数据库7. C#中的委托是什么?事件是不是⼀种委托?答:a) 委托也是类型b) 委托是类型安全的指针c) 事件是特殊的委托8. override 与 OverLoad 重载的区别答:a) Override 是进⾏基类中函数的重写。

整理net面试题 (附答案)

整理net面试题 (附答案)
答:Select ID
FROM table1
Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)
10、根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?并简要说明理由。(10分)
public void test(int i)
2)以上代码所使用的异常处理方法,是否所有在test方法内的异常都可以被捕捉并显示出来?
答:只可以捕捉数据库连接中的异常吧. (finally中,catch中,如果有别的可能引发异常的操作,也应该用try,catch。所以理论上并非所有异常都会被捕捉。)
12、简要谈一下您对微软.NET 构架下remoting和webservice两项技术的理解以及实际中的应用。(10)
Console.WriteLine(o.MethodA());
}
}
请问,o.MethodA调用的是: ( A )
A.BaseClass.MethodAB.Class2.MethodA
C.Class1.MethodAD.都不是
6.请叙述属性与索引器的区别。
属性索引器
通过名称标识。通过签名标识。
通过简单名称或成员访问来访问。通过元素访问来访问。
<allow users=”*”>
</authorization>
D. <authorization>
<allow users=”allwin\tess, allwin\king”>
<allow users=”*”>
</authorization>
E.<authorization>

.Net程序员面试试题

.Net程序员面试试题

.Net程序员⾯试试题1:简述private protected public internal修饰符的访问权限?private:私有成员在类的内部可以访问;protected:受保护的成员,在类的内部和继承类中可以访问;public:没有限制,公开的访问权限;internal:在程序集内部可以访问;2:简述页⾯之间传值的⼏种⽅式?Querystring():Cookie:Session:Server.Transfer:3:C#中什么是委托,委托和事件有什么关系?委托可以把⼀个⽅法作为参数传递给另外⼀个⽅法,委托可以理解为指向⼀个函数的函数指针。

委托是⼀种类型,⽽事件是⼀个对象,事件只能ADD和remove⾃⼰,⽽不能赋值。

事件只能+=或者-=⽽不能⽤=。

事件的内部其实就是⼀个私有的委托和两个⽅法:add()和remove();4:overload 和override的区别?重载是⽅法的名称相同⽽⽅法的参数的个数和参数的类型不同,⽅法进⾏多次重载来适应不同的需求⽅法重载是⾯向过程的概念;重写是进⾏基类中的函数的重写,override是⾯向对象的概念;5:什么是三层架构?划分层次的⽬的是“⾼内聚,低耦合”的思想;UI层,就是展现给⽤户的界⾯;BLL层,主要是对业务逻辑的操作;DAL层,直接操作数据库,对数据库进⾏增删改查;三层其实是多层的⼀种特例,层层之间是向下的依赖关系;优点是:分⼯明确调理清晰,易于调试,⽽且具有可扩展性;6.什么是MVC?模型视图控制器7:类和结构的区别?类可以被实例化,属于引⽤类型,是分配在内存的堆上。

类是引⽤传递;结构属于值类型,分配在内存的栈上,结构是复制传递。

(Int32 Boolean都属于结构体)8:堆和栈的区别?栈是在编译期间就分配好内存空间,所以代码中必须有对栈的⼤⼩的明确定义,局部值类型变量,值类型参数等都在栈内存中;堆是在程序运⾏期间动态分配内存,他可以根据程序的运⾏情况来确定需要分配的内存的⼤⼩。

.Net面试题大全(个人整理)

.Net面试题大全(个人整理)

.Net面试题大全(个人整理)答:启动一个线程是调用start()方法,这并不意味着线程就会立即运行,只是进入了可运行状态。

直接调用run()方法不会产生线程,而是把它当作普通的方法调用,马上执行40.接口是否可继承接口? 抽像类是否可实现(implements)接口? 抽像类是否可继承实体类(concrete class)?答:接口可以继承接口。

抽像类可以实现(implements)接口,抽像类是否可继承实体类,但前提是实体类必须有明确的构造函数。

41.构造器Constructor是否可被override?答:构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。

42.是否可以继承String类?答:不可以,因为String类是密封类,被Sealed修饰符所修饰。

44.两个对像值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 答:不对,有相同的hash code。

Hash Code:可以简单的理解为内存的地址。

'==' : 操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。

'equals' : 操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。

而字符串是一个特殊的引用型类型,在C#语言中,重载了string 对象的很多方法方法(包括equals()方法),使string对象用起来就像是值类型一样。

45.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? 答:可以。

47.当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?不能,一个对象的一个synchronized方法只能由一个线程访问。

49.List, Set, Map是否继承自Collection接口?答:List,Set是Map不是51.数组有没有length()这个方法? String有没有length()这个方法?答:数组和string都没有Length()方法,只有Length属性。

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

1. 简述 private、 protected、 public、 internal 修饰符的访问权限。

答 . private : 私有成员, 在类的内部才可以访问。

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

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

internal: 在同一命名空间内可以访问。

2 .列举 页面之间传递值的几种方式。

答. 1.使用QueryString, 如....?id=1; response. Redirect()....2.使用Session变量3.使用Server.Transfer3. 一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少,用递归算法实现。

答:public class MainClass{public static void Main(){Console.WriteLine(Foo(30));}public static int Foo(int i){if (i <= 0)return 0;else if(i > 0 && i <= 2)return 1;else return Foo(i -1) + Foo(i - 2);}}4.C#中的委托是什么?事件是不是一种委托?答:委托可以把一个方法作为参数代入另一个方法。

委托可以理解为指向一个函数的引用。

是,是一种特殊的委托5.override与重载的区别答:override 与重载的区别。

重载是方法的名称相同。

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

为了适应需要。

6.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?答:this.Server.Transfer7.请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?答:foreach (System.Windows.Forms.Control control inthis.Controls){if (control is System.Windows.Forms.TextBox){System.Windows.Forms.TextBox tb =(System.Windows.Forms.TextBox)control ;tb.Text = String.Empty ;}}8.请编程实现一个冒泡排序算法?答:int [] array = new int [*] ;int temp = 0 ;for (int i = 0 ; i < array.Length - 1 ; i++){for (int j = i + 1 ; j < array.Length ; j++){if (array[j] < array[i]){temp = array[i] ;array[i] = array[j] ;array[j] = temp ;}}}9.描述一下C#中索引器的实现过程,是否只能根据数字进行索引?答:不是。

可以用任意类型。

10.求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m 答:int Num = this.TextBox1.Text.ToString() ;int Sum = 0 ;for (int i = 0 ; i < Num + 1 ; i++){if((i%2) == 1){Sum += i ;}else{Sum = Sum - I ;}}System.Console.WriteLine(Sum.ToString());System.Console.ReadLine() ;11.用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?答:一般为3层数据访问层,业务层,表示层。

数据访问层对数据库进行增删查改。

业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。

表示层为了与用户交互例如用户添加表单。

优点:分工明确,条理清晰,易于调试,而且具有可扩展性。

缺点:增加成本。

12.在下面的例子里using System;class A{public A(){PrintFields();}public virtual void PrintFields(){}}class B:A{int x=1;int y;public B(){y=-1;}public override void PrintFields(){Console.WriteLine("x={0},y={1}",x,y);}当使用new B()创建B的实例时,产生什么输出?答:X=1,Y=0;x= 1 y = -113.什么叫应用程序域?答:应用程序域可以理解为一种轻量级进程。

起到安全的作用。

占用资源小。

14.CTS、CLS、CLR分别作何解释?答:CTS:通用语言系统。

CLS:通用语言规范。

CLR:公共语言运行库。

15.什么是装箱和拆箱?答:从值类型接口转换到引用类型装箱。

从引用类型转换到值类型拆箱。

16.什么是受管制的代码?答:unsafe:非托管代码。

不经过CLR运行。

17.什么是强类型系统?答:RTTI:类型识别系统。

中读写数据库需要用到那些类?他们的作用?答:DataSet:数据存储器。

DataCommand:执行语句命令。

DataAdapter:数据的集合,用语填充。

的身份验证方式有哪些?分别是什么原理?答:10。

Windwos(默认)用IIS...From(窗体)用帐户....Passport(密钥)20.什么是Code-Behind技术?答:代码后植。

21.在.net中,配件的意思是?答:程序集。

(中间语言,源数据,资源,装配清单)22.常用的调用WebService的方法有哪些?答:1.使用WSDL.exe命令行工具。

2.使用中的Add Web Reference菜单选项 Remoting 的工作原理是什么?答:服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置。

24.在C#中,string str = null 与string str = “” 请尽量使用文字或图象说明其中的区别。

答:string str = null 是不给他分配内存空间,而string str = "" 给它分配长度为空字符串的内存空间。

25.请详述在dotnet中类(class)与结构(struct)的异同?答:Class可以被实例化,属于引用类型,是分配在内存的堆上的,Struct属于值类型,是分配在内存的栈上的.26.根据委托(delegate)的知识,请完成以下用户控件中代码片段的填写:namespace test{public delegate void OnDBOperate();public class UserControlBase : erControl{public event OnDBOperate OnNew;privatevoidtoolBar_ButtonClick(objectsender,System.Windows.Forms.Tool BarButtonClickEventArgs e){if(e.Button.Equals(BtnNew)){//请在以下补齐代码用来调用OnDBOperate委托签名的OnNew事件。

}}}答:if( OnNew != null )OnNew( this, e );27.分析以下代码,完成填空string strTmp = "abcdefg某某某";int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;int j= strTmp.Length;以上代码执行完后,i= j=答:i=13,j=1028.SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号答:Select ID FROM table1 Where LastUpdateDate = (SelectMAX(LastUpdateDate) FROM table1)29.根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?并简要说明理由。

public void test(int i){lock(this){if (i>10){i--;test(i);}}}答:不会发生死锁,(但有一点int是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。

但如果把int换做一个object,那么死锁会发生)30.简要谈一下您对微软.NET 构架下remoting和webservice两项技术的理解以及实际中的应用。

答:WS主要是可利用HTTP,穿透防火墙。

而Remoting可以利用TCP/IP,二进制传送提高效率。

31.公司要求开发一个继承System.Windows.Forms.ListView类的组件,要求达到以下的特殊功能:点击ListView各列列头时,能按照点击列的每行值进行重排视图中的所有行 (排序的方式如DataGrid相似)。

根据您的知识,请简要谈一下您的思路答:根据点击的列头,包该列的ID取出,按照该ID排序后,在给绑定到ListView 中。

32.给定以下XML文件,完成算法流程图。

<FileSystem>< DriverC ><Dir DirName=”MSDOS622”><File FileName =” ” ></File></Dir><File FileName =”MSDOS.SYS” ></File><File FileName =” IO.SYS” ></File></DriverC></FileSystem>请画出遍历所有文件名(FileName)的流程图(请使用递归算法)。

答:void FindFile( Directory d ){FileOrFolders = d.GetFileOrFolders();foreach( FileOrFolder fof in FileOrFolders ){if( fof is File )You Found a file;else if ( fof is Directory )FindFile( fof );}}33.写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。

相关文档
最新文档