C#
面试问题大全
1. C#
中 property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里? 2. 讲一讲你理解的web service,在dot net framework中,怎么很好的结合xml?(讲概念就行了) 3. C#, Java 和 c++的特点,有什么相同的地方,不同的地方,C#分别从c++和java中吸取了他们那些优点? 4. C#可否对内存进行直接的操作?(这可是个难点哦?要注意!) 5. 用Visual C++ 6.0编写的代码(unmanaged code),如何在CLR下和其他dot net component结合? 6. 以前作过的一些项目?介绍一下自己的编程经验。(这是蒙混不过去的,基本一问就知道是真是假) 7. 你对公司有什么期望?你的薪水期望值?为什么学计算机?以前的工作经验(这非常重要)? Q3: 维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?为什么 Q4:ADO。NET相对于ADO等主要有什么改进? Q5:ASP。NET与ASP相比,主要有哪些进步? Q6:C#中的委托是什么?事件是不是一种委托? Q7:描述一下C#中索引器的实现过程,是否只能根据数字进行索引? Q8:C#中要使一个类支持FOREACH遍历,实现过程怎样? Q10:写一个HTML页面,实现以下功能,左键点击页面时显示“您好”,右键点击时显示“禁止右键”。并在2分钟后自动关闭页面。 Q11:你对XMLHTTP、WEBSERVICE 了解吗?简单描述其特点、作用 Q12:接口和抽象类有什么区别?你选择使用接口和抽象类的依据是什么? Q13:自定义控件和一般用户控件的异同?如果要用这两者之一,你会选择哪种?为什么 Q14:大概描述一下ASP。NET服务器控件的生命周期 Q15:UML Q16:面向对象的概念,主要特点 Q17:类划分的依据。类粒度问题 Q18:事物管理问题 第一,谈谈final, finally, finalize的区别。 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。 第四,&和&&的区别。 第五,HashMap和Hashtable的区别。 第六,Collection 和 Collections的区别。 第七,什么时候用assert。 第八,GC是什么? 为什么要有GC? 第九,String s = new String("xyz");创建了几个String Object? 第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 第十二,sleep() 和 wait() 有什么区别? 第十三,Java有没有goto? 第十四,数组有没有length()这个方法? String有没有length()这个方法? 第十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 第十七,给我一个你最常见到的runtime exception。 第十八,error和exception有什么区别? 第十九,List, Set, Map是否继承自Collection接口? 第二十,abstract class和interface有什么区别? 第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized? 第二十二,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)? 第二十三,启动一个线程是用run()还是start()? 第二十四,构造器Constructor是否可被override? 第二十五,是否可以继承String类? 第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 第二十八,编程题: 用最有效率的方法算出2乘以8等於几? 第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? 第三十二,编程题: 写一个Singleton出来。 数据库方面: 1.存储过程和函数的区别 2.事务是什么? 3.游标的作用?如何知道游标已经到了最后? 4.触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。 1。用C#实现以下功能 a 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。 b 对上面生成的数组排序,需要支持升序、降序两种顺序 2。请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。 3。请说明.net中的错误处理机制,并举例 4。请说出强名的含义 5。请列出c#中几种循环的方法,并指出他们的不同 6。请指出.net中所有类型的基类 7。请指出GAC的含义 8。SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值 您在什么情况下会用到虚方法?它与接口有什么不同? Q:Override与重载有什么区别? Q:值类型与引用类型有什么区别? Q:怎样理解静态变量? Q:向服务器发送请求有几种方式? Q:DataReader与Dataset有什么区别? Q:如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理? Q:用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? Q:软件开发过程一般有几个阶段?每个阶段的作用? Q:微软推出了一系列的Application Block,请举出您所知道的Application Block并说明其作用? Q:请列举一些您用到过的设计模式以及在什么情况下使用该模式? Q:您对WebService的体会? Q:您对编程的兴趣如何?工作中遇到不懂的问题是怎样去解决的?您一般怎样去提高自己的编程水平? Q:您离职的原因是什么? Q:通过超链接怎样传递中文参数? Q:请编程遍历页面上所有TextBox控件并给它赋值为string.Empty? Q:请编程实现一个冒泡排序算法? 1、override与重载的区别 2、.net的错误处理机制是什么 3、C#中接口和类的异同 4、DataReader和DataSet的异同 1.有哪几种方法可以实现一个类存取另外一个类的成员函数及属性,并请举列来加以说明和分析. 2.如果需记录类的实例个数,该如何实现,请写一个简单的类于以证明. 3.A类是B类的基类,并且都有自己的构造,析构函数,请举例证明B类从实例化到消亡过程中构造,析构函数的执行过程. 4.需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中间还有连续空格的话,仅保留一个空格,即允许字符串中间有多个空格,但连续的空格数不可超过一个. 一.填空题 1.c#中的三元运算符是__?:___? 2.当整数a赋值给一个object对象时,整数a将会被__装箱(封装)___? 3.类成员有_____种可访问形式? this.;new Class().Method; 4.public static const int A=1;这段代码有错误么?是什么? const不能用static修饰 5.float f=-123.567F; int i=(int)f; i的值现在是_____? 123 6.利用operator声明且仅声明了“==”,有什么错误么? 7.委托声明的关键字是______? delagete 8.用sealed修饰的类有什么特点?密封,不能继承 9.在Asp.net中所有的自定义用户控件都必须继承自________?Control 10.在.Net中所有可序列化的类都被标记为_____? 11.在.Net托管代码中我们不用担心内存漏洞,这是因为有了______?gc 12.下面的代码中有什么错误吗?_______ using System; class A { public virtual void F(){ Console.WriteLine("A.F"); } } abstract class B:A { public abstract override void F(); // new public abstract void F(); } 13.当类T只声明了私有实例构造函数时,则在T的程序文本外部,___可以___(可以 or 不可以)从T派生出新的类,不可以____(可以 or 不可以)直接创建T的任何实例。 14.下面这段代码有错误么? switch (i){ case(): CaseZero(); break; case 1: CaseOne(); break; case 2: dufault; //wrong CaseTwo(); break; } 15.在.Net中,类System.Web.UI.Page 可以被继承么?可以 二.简答题 1.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?using 指令 和语句 new 创建实例 new 隐藏基类中方法 4.谈谈类和结构的区别?类是引用类型、结构是值类型 5.一个长度为10000的字符串,通过随机从a-z中抽取10000个字符组成。请用c#语言编写主要程序来实现。 6.对于这样的一个枚举类型: enum Color:byte{ Red, Green, Blue, Orange } string[] ss=Enum.GetNames(typeof(Color)); byte[] bb=Enum.GetValues(typeof(Color)); 试写一段程序显示出枚举类型中定义的所有符号名称以及它们对应的数值。 7.您了解设计模式么?请列出您所知道的设计模式的名称。 // 8.请在SQL Server中设计表来保存一个树状结构的组织结构图(假设结构图中只有名称这一项内容需要保存),如果我想查询某一职位下的所有职位,用一个存储过程来实现,你有什么思路? 9.什么叫做SQL注入,如何防止?请举例说明。 10.下面这段代码输出什么?为什么? int i=5; int j=5; if (Object.ReferenceEquals(i,j)) Console.WriteLine("Equal"); else Console.WriteLine("Not Equal"); //不相等,因为比较的是对象 1.写一个实现对一段字符串翻转的方法,附加一些条件,如其中包括“,”、“.”,对其设计测试用 例 。 2.对一支纸杯设计测试用例(可以是广义的杯,不一定是某一支特定功能的杯) 开发语言概念题 3.什么是反射? 4.用Singleton如何写设计模式 5.C#中的垃圾回收机制是怎样的? 6.什么是Application Pool? 7.链表和数组的区别,各有什么优缺点. 8.Remoting在客户端服务器怎么实现 ? 9.什么是友元函数? 10.用标准C如何实现多态? 11.什么是虚函数? 12.什么是抽象函数? 13.什么是内存泄漏,怎样最简单的方法判断被存泄漏 ? 英语题 14.用英文介绍一下使用C#/C++做的项目,主要功能 15.如果要与美国开电话会议,会如何与美国的工程师沟通 16.如果老板认为你的技术落后,你会怎么回答 数据库知识题 17.使用什么工具来调用存储过程 18.SQL Server的两种索引是何形式?索引的作用?索引的优缺点? 19.触发器的作用 其它知识题及问题 20.什么是Web Service? 21.什么是XML? 22.Socket怎么实现? ---------------------------------------------------------------------------------------------- 某人的答案 请大家指出我的错误 1. C#中 property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里? 一个是属性,用于存取类的字段,一个是特性,用来标识类,方法等的附加性质 2. 讲一讲你理解的web service,在dot net framework中,怎么很好的结合xml?(讲概念就行了) 不会,正在学习中 3. C#, Java 和 c++的特点,有什么相同的地方,不同的地方,C#分别从c++和java中吸取了他们那些优点? 相同点:都是C系的,都是面向对象 不同点:Java,C#都是建立在虚拟机机制上,而C++不是 4. C#可否对内存进行直接的操作?(这可是个难点哦?要注意!) 可以 5. 用Visual C++ 6.0编写的代码(unmanaged code),如何在CLR下和其他dot net component结合? 编译Dll,[DLLImport] 6. 以前作过的一些项目?介绍一下自己的编程经验。(这是蒙混不过去的,基本一问就知道是真是假) 7. 你对公司有什么期望?你的薪水期望值?为什么学计算机?以前的工作经验(这非常重要)? Q3: 维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?为什么 触发器,性能好,事务性 Q4:ADO。NET相对于ADO等主要有什么改进? 新增dataset等,不需要随时保持连接,性能提高 Q5:ASP。NET与ASP相比,主要有哪些进步? asp解释形,aspx编译型,性能提高,有利于保护源码 Q6:C#中的委托是什么?事件是不是一种委托? 委托是一种安全的函数指针,事件是一种消息机制 Q7:描述一下C#中索引器的实现过程,是否只能根据数字进行索引? 不会 Q8:C#中要使一个类支持FOREACH遍历,实现过程怎样? 实现一个接口 Q10:写一个HTML页面,实现以下功能,左键点击页面时显示“您好”,右键点击时显示“禁止右键”。并在2分钟后自动关闭页面。 JS代码 Q11:你对XMLHTTP、WEBSERVICE 了解吗?简单描述其特点、作用 xmlhttp可以主动获取远端web代码,类似HttpWebRequest Q12:接口和抽象类有什么区别?你选择使用接口和抽象类的依据是什么? 接口用于规范,抽象类用于共性。 Q15:UML 统一建模语言 Q16:面向对象的概念,主要特点 封装,基层,多态 数据库方面: 1.存储过程和函数的区别 存储过程是编译好的存储在数据库的操作,函数不用说了。。。 2.事务是什么? 具有原子性特点 3.游标的作用?如何知道游标已经到了最后? 指示当前记录的位置,检查NULL 4.触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。 一个是操作前,一个是操作后 1。用C#实现以下功能 a 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。 int[] intArr=new int[100]; ArrayList myList=new ArrayList(); Random rnd=new Random(); while(myList.Count<100) { int num=rnd.Next(1,101); if(!myList.Contains(num)) myList.Add(num); } for(int i=0;i<100;i++) intArr[i]=(int)myList[i]; b 对上面生成的数组排序,需要支持升序、降序两种顺序 ArrayList本身就能排序 2。请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。 session(viewstate) 简单,但易丢失 application 全局 cookie 简单,但可能不支持,可能被伪造 input ttype="hidden" 简单,可能被伪造 url参数 简单,显示于地址栏,长度有限 数据库 稳定,安全,但性能相对弱 3。请说明.net中的错误处理机制,并举例 try catch final 4。请说出强名的含义 具有自己的key,可以在GAC为公用 5。请列出c#中几种循环的方法,并指出他们的不同 for wile foreach 6。请指出.net中所有类型的基类 object 7。请指出GAC的含义 全局程序集缓存 8。SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值 select @@id... 什么的,忘了 您在什么情况下会用到虚方法?它与接口有什么不同? 前面已说 Q:Override与重载有什么区别? 一个是重写父类函数,一个是同一个函数的几种形式 Q:值类型与引用类型有什么区别? 值和指针的区别 Q:怎样理解静态变量? 所有实例公用一个的变量 Q:向服务器发送请求有几种方式? get post Q:DataReader与Dataset有什么区别? 一个是只能向前的只读游标,一个是内存中的表 Q:如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理? input type="" url 数据库 Q:用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 三层,表现,逻辑,数据, 安全性,维护性 Q:软件开发过程一般有几个阶段?每个阶段的作用? 需求分析,架构设计,代码编写,QA,部署 Q:请列举一些您用到过的设计模式以及在什么情况下使用该模式? 著名的singleton Q:您对编程的兴趣如何?工作中遇到不懂的问题是怎样去解决的?您一般怎样去提高自己的编程水平? Q:您离职的原因是什么? Q:通过超链接怎样传递中文参数? URLEncode URLDecode Q:请编程遍历页面上所有TextBox控件并给它赋值为string.Empty? foreach 1.有哪几种方法可以实现一个类存取另外一个类的成员函数及属性,并请举列来加以说明和分析. 同一个名称控件直接,或者反射 2.如果需记录类的实例个数,该如何实现,请写一个简单的类于以证明. const static int classNum=0; classNum++; |