《C#经典笔面试题(共14页).doc》由会员分享,可在线阅读,更多相关《C#经典笔面试题(共14页).doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上C#经典笔面试题存储过程和函数的区别2.事务是什么?3.游标的作用?如何知道游标已经到了最后?4.触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。1。用C实现以下功能a 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。b 对上面生成的数组排序,需要支持升序、降序两种顺序2。请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。3。请说明.net中的错误处理机制,并举例4。请说出强名的含义5。请列出c中几种循环的方法,并指出他们的不同6。请指出.net中所有类型的基类7。请指出GAC的含义8。S
2、QL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值您在什么情况下会用到虚方法?它与接口有什么不同?Q:Override与重载有什么区别?Q:值类型与引用类型有什么区别?Q:怎样理解静态变量?Q:向服务器发送请求有几种方式?Q:DataReader与Dataset有什么区别?Q:如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?Q:用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?Q:软件开发过程一般有几个阶段?每个阶段的作用?Q:微软推出了一系
3、列的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.有哪
4、几种方法可以实现一个类存取另外一个类的成员函数及属性,并请举列来加以说明和分析.2.如果需记录类的实例个数,该如何实现,请写一个简单的类于以证明.3.A类是B类的基类,并且都有自己的构造,析构函数,请举例证明B类从实例化到消亡过程中构造,析构函数的执行过程.4.需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中间还有连续空格的话,仅保留一个空格,即允许字符串中间有多个空格,但连续的空格数不可超过一个.1.c#中的三元运算符是_?:_?2.当整数a赋值给一个object对象时,整数a将会被_装箱(封装)_?3.类成员有_种可访问形式?this.;new Class().Met
5、hod;4.public static const int A=1;这段代码有错误么?是什么?const不能用static修饰5.float f=-123.567F;int i=(int)f;i的值现在是_?1236.利用operator声明且仅声明了“=”,有什么错误么?7.委托声明的关键字是_? delagete8.用sealed修饰的类有什么特点?密封,不能继承9.在A中所有的自定义用户控件都必须继承自_?Control10.在.Net中所有可序列化的类都被标记为_?11.在.Net托管代码中我们不用担心内存漏洞,这是因为有了_?gc12.下面的代码中有什么错误吗?_using Syst
6、em;class Apublic virtual void F()Console.WriteLine(A.F);abstract class B:Apublic 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:d
7、ufault;/wrongCaseTwo();break;15.在.Net中,类System.Web.UI.Page 可以被继承么?可以二.简答题1.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?using 指令 和语句 new 创建实例 new 隐藏基类中方法4.谈谈类和结构的区别?类是引用类型、结构是值类型5.一个长度为10000的字符串,通过随机从a-z中抽取10000个字符组成。请用c语言编写主要程序来实现。6.对于这样的一个枚举类型:enum Color:byteRed,Green,Blue,Orangestring ss=Enum.GetNames(typ
8、eof(Color);bytebb=Enum.GetValues(typeof(Color);试写一段程序显示出枚举类型中定义的所有符号名称以及它们对应的数值。7.您了解设计模式么?请列出您所知道的设计模式的名称。 /8.请在SQL Server中设计表来保存一个树状结构的组织结构图(假设结构图中只有名称这一项内容需要保存),如果我想查询某一职位下的所有职位,用一个存储过程来实现,你有什么思路?9.什么叫做SQL注入,如何防止?请举例说明。10.下面这段代码输出什么?为什么?int i=5;int j=5;if (Object.ReferenceEquals(i,j)Console.Write
9、Line(Equal);elseConsole.WriteLine(Not Equal);/不相等,因为比较的是对象1.写一个实现对一段字符串翻转的方法,附加一些条件,如其中包括“,”、“.”,对其设计测试用 例 。2.对一支纸杯设计测试用例(可以是广义的杯,不一定是某一支特定功能的杯) 开发语言概念题 3.什么是反射? 4.用Singleton如何写设计模式 5.C#中的垃圾回收机制是怎样的? 6.什么是Application Pool? 7.链表和数组的区别,各有什么优缺点.8.Remoting在客户端服务器怎么实现 ?9.什么是友元函数? 10.用标准C如何实现多态? 11.什么是虚函数
10、? 12.什么是抽象函数? 13.什么是内存泄漏,怎样最简单的方法判断被存泄漏 ?英语题 14.用英文介绍一下使用C#/C+做的项目,主要功能 15.如果要与美国开电话会议,会如何与美国的工程师沟通 16.如果老板认为你的技术落后,你会怎么回答 数据库知识题 17.使用什么工具来调用存储过程 18.SQL Server的两种索引是何形式?索引的作用?索引的优缺点? 19.触发器的作用 其它知识题及问题 20.什么是Web Service? 21.什么是XML? 22.Socket怎么实现?Q:您在什么情况下会用到虚方法?它与接口有什么不同?Q:Override与重载有什么区别?Q:值类型与引用
11、类型有什么区别? Q:怎样理解静态变量?Q:向服务器发送请求有几种方式?Q:DataReader与Dataset有什么区别?Q:如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?Q:用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?Q:软件开发过程一般有几个阶段?每个阶段的作用?Q:微软推出了一系列的Application Block,请举出您所知道的Application Block并说明其作用?Q:请列举一些您用到过的设计模式以及在什么情况下使用该模式?Q:您对Web
12、Service的体会?Q:您对编程的兴趣如何?工作中遇到不懂的问题是怎样去解决的?您一般怎样去提高自己的编程水平?Q:您离职的原因是什么?以下几道题目如果您不会,请较为详细的描述您的解决思路和方法Q:通过超链接怎样传递中文参数?Q:请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?Q:请编程实现一个冒泡排序算法?.NET面试题(2)一道数据库设计的面试题,考查的重点和供参考的解决方案如下。一大型企业,有10000名员工,每半个月发一次工资,试为此企业设计一个工资数据库.(数据库为SQL server).这题考查的重点是面对数据量大时,如何设计一个系统的性能好、速度快的
13、数据库。-可供参考的解决方法有几点,希望大家补充:1.建立索引是必须的。2.可以设计成两个表,一个用来操作,一个用来查询。操作表只保存最近若干段时间内的数据,就如移动公司查询话费记录。3.查询考虑用最优的存储过程。.NET面试题(3)1.写一个实现对一段字符串翻转的方法,附加一些条件,如其中包括“,”、“.”,对其设计测试用 例 。2.对一支纸杯设计测试用例(可以是广义的杯,不一定是某一支特定功能的杯)开发语言概念题 3.什么是反射? 4.用Singleton如何写设计模式 5.C#中的垃圾回收机制是怎样的? 6.什么是Application Pool? 7.链表和数组的区别,各有什么优缺点.
14、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怎么
15、实现?1.面向对象的思想主要包括什么?2.什么是ASP.net中的用户控件3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?4.列举一下你所了解的XML技术及其应用5.值类型和引用类型的区别?写出C#的样例代码。6.ADO.net中常用的对象有哪些?分别描述一下。7.如何理解委托?8.C#中的接口和类有什么异同。9.。net中读写数据库需要用到哪些类?他们的作用10.UDP连接和TCP连接的异同。11.ASP.net的身份验证方式有哪些?分别是什么原理?12.进程和线程分别怎么理解?13.什么是code-Behind技
16、术。14.活动目录的作用。中读写XML的类都归属于哪些命名空间?16.解释一下UDDI、WSDL的意义及其作用。17.什么是SOAP,有哪些应用。18.如何部署一个ASP.net页面。19.如何理解.net中的垃圾回收机制。20.常用的调用webservice方法有哪些?C# 面试1. 填空: (1)面向对象的语言具有_性、_性、_性。 答:1. (1) 继承性、封装性、多态性。(考基本概念)(2)能用foreach遍历访问的对象需要实现 _接口或声明_方法的类型。 答:(2) IEnumerable 、 GetEnumerator (对foreach机制的理解) (3)列举ADO.net中的
17、五个主要对象_、_、_、_、_。 2. 不定项选择: (1) 以下叙述正确的是: A. 接口中可以有虚方法。 B. 一个类可以实现多个接口。 C. 接口不能被实例化。 D. 接口中可以包含已实现的方法。 答:B,C(2) 从数据库读取记录,你可能用到的方法有: A. ExecuteNonQuery B. ExecuteScalar C. Fill D. ExecuteReader 答:B.C.D3. 简述 private、 protected、 public、 internal 修饰符的访问权限。 答:private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该
18、类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 在同一命名空间内可以访问。4. 写出一条Sql语句: 取出表A中第31到第40记录(SQLServer, 以自动增长的ID作为主键, 注意:ID可能不是连续的。) 答:解1: select top 10 * from A where id not in (select top 30 id from A) 解2: select top 10 * from A where id (select max(id) from (select top 30 id from A )as A) 5 .列举AS
19、P.NET 页面之间传递值的几种方式。 答:1.使用QueryString, 如.?id=1; response. Redirect(). 2.使用Session变量 3.使用Server.Transfer 6. 写出程序的输出结果 class Class1 private string str = Class1.str; private int i = 0; static void StringConvert(string str) str = string being converted.; static void StringConvert(Class1 c) c.str = strin
20、g being converted.; static void Add(int i) i+; static void AddWithRef(ref int i) i+; static void Main() int i1 = 10; int i2 = 20; string str = str; Class1 c = new Class1(); Add(i1); AddWithRef(ref i2); Add(c.i); StringConvert(str); StringConvert(c); Console.WriteLine(i1); Console.WriteLine(i2); Cons
21、ole.WriteLine(c.i); Console.WriteLine(str); Console.WriteLine(c.str); 答: (考查值引用和对象引用) 10 21 0 str string being converted. 7.写出程序的输出结果 public abstract class A public A() Console.WriteLine(A); public virtual void Fun() Console.WriteLine(A.Fun(); public class B: A public B() Console.WriteLine(B); publi
22、c new void Fun() Console.WriteLine(B.Fun(); public static void Main() A a = new B(); a.Fun(); 答:A B A.Fun() 8. 写出程序的输出结果: public class A public virtual void Fun1(int i) Console.WriteLine(i); public void Fun2(A a) a.Fun1(1); Fun1(5); public class B : A public override void Fun1(int i) base.Fun1 (i +
23、1); public static void Main() B b = new B(); A a = new A(); a.Fun2(b); b.Fun2(a); 答:2 5 1 6 9. 一列数的规则如下: 1、1、2、3、5、8、13、21、34. 求第30位数是多少, 用递归算法实现。(C#语言) 答:public class MainClass public static void Main() Console.WriteLine(Foo(30); public static int Foo(int i) if (i 0 & i = 2) return 1; else return F
24、oo(i -1) + Foo(i - 2); 10. 程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言) 要求: 1.要有联动性,老鼠和主人的行为是被动的。 2.考虑可扩展性,猫的叫声可能引起其他联动效应。 答:要点:1. 联动效果,运行代码只要执行Cat.Cryed()方法。2. 对老鼠和主人进行抽象 评分标准: .构造出Cat、Mouse、Master三个类,并能使程序运行(2分) 从Mouse和Master中提取抽象(5分) 联动效应,只要执行Cat.Cryed()就可以使老鼠逃跑,主人惊醒。(3分) public interface Observer void Re
25、sponse(); /观察者的响应,如是老鼠见到猫的反映 public interface Subject void AimAt(Observer obs); /针对哪些观察者,这里指猫的要扑捉的对象-老鼠 public class Mouse : Observer private string name; public Mouse(string name, Subject subj) this.name = name; subj.AimAt(this); public void Response() Console.WriteLine(name + attempt to escape!);
26、public class Master : Observer public Master(Subject subj) subj.AimAt(this); public void Response() Console.WriteLine(Host waken!); public class Cat : Subject private ArrayList observers; public Cat() this.observers = new ArrayList(); public void AimAt(Observer obs) this.observers.Add(obs); public v
27、oid Cry() Console.WriteLine(Cat cryed!); foreach (Observer obs in this.observers) obs.Response(); class MainClass static void Main(string args) Cat cat = new Cat(); Mouse mouse1 = new Mouse(mouse1, cat); Mouse mouse2 = new Mouse(mouse2, cat); Master master = new Master(cat); cat.Cry(); /- 设计方法二: 使用e
28、vent - delegate设计. public delegate void SubEventHandler(); public abstract class Subject public event SubEventHandler SubEvent; protected void FireAway() if (this.SubEvent != null) this.SubEvent(); public class Cat : Subject public void Cry() Console.WriteLine(cat cryed.); this.FireAway(); public ab
29、stract class Observer public Observer(Subject sub) sub.SubEvent += new SubEventHandler(Response); public abstract void Response(); public class Mouse : Observer private string name; public Mouse(string name, Subject sub) : base(sub) this.name = name; public override void Response() Console.WriteLine
30、(name + attempt to escape!); public class Master : Observer public Master(Subject sub) : base(sub) public override void Response() Console.WriteLine(host waken); class Class1 static void Main(string args) Cat cat = new Cat(); Mouse mouse1 = new Mouse(mouse1, cat); Mouse mouse2 = new Mouse(mouse2, cat); Master master = new Master(cat); cat.Cry(); 专心-专注-专业