.net面试题目

一.填空题 1.c#中的三元运算符是_____? 2.当整数a赋值给一个object对象时,整数a将会被_____? 3.类成员有_____种可访问形式? 4.public static const int A=1;这段代码有错误么?是什么? 5.float f=-123.567F; int i=(int)f; i的值现在是_____? 6.利用operator声明且仅声明了==,有什么错误么? 7.委托声明的关键字是______? 8.用sealed修饰的类有什么特点? 9.在Asp.net中所有的自定义用户控件都必须继承自________? 10.在.Net中所有可序列化的类都被标记为_____? 11.在.Net托管代码中我们不用担心内存漏洞,这是因为有了______? 12.下面的代码中有什么错误吗?_______ 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的任何实例。 14.下面这段代码有错误么? switch (i){ case(): CaseZero(); break; case 1: CaseOne(); break; case 2: dufault; CaseTwo(); break; } 15.在.Net中,类System.Web.UI.Page 可以被继承么? 二.简答题 1.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义? 2.在下面的例子里 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的实例时,产生什么输出? 3.下面的例子中 using System; class A { public static int X; static A(){ X=B.Y+1; } } class B { public static int Y=A.X+1; static B(){} static void Main(){ Console.WriteLine("X={0},Y={1}",A.X,B.Y); } } 产生的输出结果是什么? 4.谈谈类和结构的区别? 5.一个长度为10000的字符串,通过随机从a-z中抽取10000个字符组成。请用c#语言编写主要程 序来实现。 6.对于这样的一个枚举类型: enum Color:byte{ Red, Green, Blue, Orange } 试写一段程序显示出枚举类型中定义的所有符号名称以及它们对应的数值。 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 3种 4 const成员都是static所以应该去掉static 5 -123 6 要同时修改Equale和GetHash() ? 重载了"==" 就必须重载 "!=" 7 delegate 8 不可被继承 9 System.Web.UI.UserControl 10 [serializable] 11 gC 12 abstract override 是不可以一起修饰 13 不可以,不可以 14 case():不行 default; 15 可以 1 Using 引入一个名子空间,或在使用了一个对像后自动调用其IDespose,New 实例化一个对 像,或修饰一个方法,表此方法完全重写此方法, 2 X=1,Y=0 3 x=1,y=2 4 最大区别一个是引用类型,一个是值类型 默认成员访问为public是另外一个区别 .NET & C# 基础知识试题 (20%) 1. 在.net(C# or vb.net)中如何获得当前窗体或控件的句柄,特别是控件本身的句柄(请列举)。 答案:this(C#) Me(vb.net). 2. 在.net(C# or vb.net)中如何用户自定义消息,并在窗体中处理这些消息。 答案: 在form中重载DefWndProc函数来处理消息: protected override void DefWndProc ( ref System.WinForms.Message m ) { switch(m.msg) { case WM_Lbutton :  ///string与MFC中的CString的Format函数的使用方法有所不同  string message = string.Format("收到消息!参数为:{0},{1}",m.wParam,m.lParam);  MessageBox.Show(message);///显示一个消息框  break; case USER: 处理的代码 default:  base.DefWndProc(ref m);///调用基类函数处理非自定义消息。  break; } } 3. 在.net(C# or vb.net)如何启动另一个程序。 答案:process 4. 在.net(C# or vb.net)中如何取消一个窗体的关闭。 答案: private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e) { e.Cancel=true; } 5. 在.net(C# or vb.net)中,Appplication.Exit 还是 Form.Close有什么不同? 答案:一个是退出整个应用程序,一个是关闭其中一个form 6. 在C#中有一个double型的变量,比如10321.5,比如122235401.21644,作为货币的值如何按各个不同国家的习惯来输出。比如美国 用$10,321.50和$122,235,401.22而在英国则为£10 321.50和£122 235 401.22 答案: System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-US"); //System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-GB");为英国货币类型 decimal y = 9999999999999999999999999999m; string str = String.Format(MyCulture,"My amount = {0:c}",y); 7. 某一密码仅使用K、L、M、N、O共5个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则: (1) 密码单词的最小长度是两个字母,可以相同,也可以不同 (2) K不可能是单词的第一个字母 (3) 如果L出现,则出现次数不止一次 (4) M不能使最后一个也不能是倒数第二个字母 (5) K出现,则N就一定出现 (6) O如果是最后一个字母,则L一定出现 问题一:下列哪一个字母可以放在LO中的O后面,形成一个3个字母的密码单词? A) K B)L C) M D) N 答案:B 问题二:如果能得到的字母是K、L、M,那么能够形成的两个字母长的密码单词的总数是多少? A)1个 B)3个 C)6个 D)9个 答案:A 问题三:下列哪一个是单词密码? A) KLLN B) LOML C) MLLO D)NMKO 答案:C 8. 62-63=1 等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动? 答案:62移动成2的6次方 1)Which statement shows the maximum salary paid in each job category of each department?_______ A. select dept_id, job_cat,max(salary) from employees where salary > max(salary); B. select dept_id, job_cat,max(salary) from employees group by dept_id,job_cat; C. select dept_id, job_cat,max(salary) from employees; D. select dept_id, job_cat,max(salary) from employees group by dept_id; E. select dept_id, job_cat,max(salary) from employees group by dept_id,job_cat,salary; 2)description of the students table: sid_id number start_date date end_date date which two function are valid on the start_date column?_________。 A.sum(start_date) B.avg(start_date) C.count(start_date) D.avg(start_date,end_date) E.min(start_date) F.maximum(start_date) 3)for which two constraints does the oracle server implicitly create a unique index?______。 A. not null B. primary C. foreign key D. check E. unique 4)in a select statement that includes a where clause,where is the group by clause placed in the select statement?______。 A. immediately after the select clause B. before the where clause C. before the from clause D. after the order by clause E. after the where clause 5)in a select statement that includes a where clause,where is the order by clause placed in the select statement?______. A.immediately after the select clause B.before the where clause C.after all clause D.after the where clause E.before the from clause 6)evaluate there two sql statements______. Select last_name,salary from employees order by salary; Select last_name,salary from employees order by 2 asc; A.the same result B.different result C.the second statement returns a syntax error 7) you would like to display the system date in the format“20051110 14:44:17”。Which select statement should you use?______。 A. select to_date(sydate,’yearmmdd hh:mm:ss’)from dual; B. select to_char(sydate,’yearmonthday hh:mi:ss’)from dual; C. select to_date(sydate,’yyyymmdd hh24:mi:ss’)from dual; D. select to_char(sydate,’yyyymmdd hh24:mi:ss’)from dual; E. select to_char(sydate,’yy-mm-dd hh24:mi:ss’)from dual; 8)which select statement will the result ‘ello world’from the string‘Hello world’?______. A. select substr(‘Hello World’,1)from dual; B. select substr(trim(‘Hello World’,1,1))from dual; C. select lower(substr(‘Hello World’,1))from dual; D. select lower(trim(‘H’from‘Hello World’))from dual; 9)which are DML statements(choose all that apply)______. A.commit B.merge C.update D.delete E.creat F.drop 10)Select 语句中用来连接字符串的符号是______. A. “+” B. “&” C.“||” D.“|” 问答题: 什么是聚集索引,什么是非聚集索引,什么又是主键? 1. B 2. D,F 3. B, E 4. E 5. C 6. C 7. D 8. A 9. E 10. A 11. 表中经常有一个列或列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键. 聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序, 因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。 非聚集索引与课本中的索引类似。数据存储在一个地方,索引存储在另一个地方,索引带有指针指向数据的存储位置。 索引中的项目按索引键值的顺序存储,而表中的信息按另一种顺序存储(这可以由聚集索引规定)。 如果在表中未创建聚集索引,则无法保证这些行具有任何特定的顺序。 1.new有几种用法 第一种:new Class(); 第二种:覆盖方法 public new XXXX(){} 第三种:new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。 2.如何把一个array复制到arrayList里 foreach( object o in array )arrayList.Add(o); 3.datagrid.datasouse可以连接什么数据源 [dataset,datatable,dataview] dataset,datatable,dataview , IList 4.概述反射和序列化 反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性 序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。 5.概述o/r mapping 的原理 利用反射,配置 将类于数据库表映射 6.类成员有( )种可访问形式 可访问形式?不懂。 可访问性:public ,protected ,private,internal 7.用sealed修饰的类有什么特点 sealed 修饰符用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其他类的基类,则会发生编译时错误。 密封类不能同时为抽象类。 sealed 修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。 8.列举ADO.NET中的五个主要对象,并简单描述 connection,command,dataReader,trans,dataset ... 9.执行下面代码后: String strTemp ="abcdefg 某某某"; Int i System.Text.Encoding.Default.GetBytes(strTemp).Length; Int j = strTemp.Length; 问:i=(14 ) ;j=(11 ) i=(14 ) ;j=(11 ) 中文两个字节 10.C#中,string str = null 与 string str ="",请尽量用文字说明区别。(要点:说明详细的内存空间分配) string str ="" 分配空间 11.详述.NET里class和struct的异同! class:放在 ? struct放在? struct值传递 类与结构有很多相似之处:结构可以实现接口,并且可以具有与类相同的成员类型。然而,结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承。结构的值存储在“在堆栈上”或“内联”。细心的程序员有时可以通过聪明地使用结构来增强性能。 12.概述.NET里对 remoting 和 webservice 两项技术的理解和实际中的应用。 远程逻辑调用,remoing接口只能用在.net中 13.什么是code-behind技术 aspx and cs 14.概述三层结构体系 web/business/dataaccess 15.asp.net如何实现MVC模式,举例说明! web/business/dataaccess 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值