DotNet面试、笔试题汇总2
DOTNET软件工程师面试试题~~~~~~
![DOTNET软件工程师面试试题~~~~~~](https://img.taocdn.com/s3/m/3f22c0e7524de518964b7dfb.png)
.NET软件工程师面试试题一、选择题。
(每题2分,共35题)1、C#中声明一个命名空间的关键字是( )。
spaceplaceingD.as2、如果不带修饰符,C#中类成员被默认声明成( )。
A.publicB.protectedC.privateD.static3、定义如下枚举enum monthes{ January , February=3 , March=5 , April=7 , May , June }则此时January 和May的值分别为( )。
A.1,8B.0,9C.0,8D.1,94、下面是几条定义初始化二维数组的语句,其中正确的是( )。
A.int array2[][] = new int[3,2];B.int array2[,] = new int[3,2];C.int[][] array2 = new int[3,2];D.int[,] array2 = new int[3,2];5、用户类若想支持foreach语句需要实现的接口是( )。
A.IEnumerableB.IEnumeratorC.ICollectionD.IList6、以下哪些可以作为接口成员?( )。
(选择三项)A.方法和属性B.字段C.事件D.索引器E.构造函数和析构函数7、声明一个委托public delegate int myCallBack(int x); 则用该委托产生的回调方法的原型应该是( )。
A.void myCallBack(int x)B.int receive(int num)C.string receive(int x)D.不确定的8、下面哪个选项不能在web.config文件中配置的( )。
A.连接字符串B.身份验证C.网站导航D.程序出现错误时,定向到的错误提示页面9、支持三种验证方式,不属于其中的是( )。
A.passportB.SqlServer身份C.WindowsD.Forms10、在中,下列关于session对象的说法正确的是( )。
杭州-DOTNET笔试题集(摘录)
![杭州-DOTNET笔试题集(摘录)](https://img.taocdn.com/s3/m/474c5986ec3a87c24028c440.png)
c#笔试题总结(二)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.概述反射和序列化反射公共语言运行库加载器管理应用程序域。
这种管理包括将每个程序集加载到相应的应用程序域以及控制每个程序集中类型层次结构的内存布局。
程序集包含模块,而模块包含类型,类型又包含成员。
反射则提供了封装程序集、模块和类型的对象。
您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。
然后,可以调用类型的方法或访问其字段和属性。
序列化序列化是将对象状态转换为可保持或传输的格式的过程。
与序列化相对的是反序列化,它将流转换为对象。
这两个过程结合起来,可以轻松地存储和传输数据。
5.概述O/R Mapping 的原理利用反射,配置将对象和数据库表映射。
6. 可访问性级别有哪几种l public 访问不受限制。
l protected 访问仅限于包含类或从包含类派生的类型。
l internal 访问仅限于当前程序集。
.net程序员面试笔试题目详解
![.net程序员面试笔试题目详解](https://img.taocdn.com/s3/m/69198cd33186bceb19e8bbe4.png)
.net笔试题1. 填空: (1)面向对象的语言具有________性、_________性、________性。
(2)能用foreach遍历访问的对象需要实现__Inu______________接口或声明________________方法的类型。
(3)列举中的五个主要对象_______________、_____________、_______________、_______________、_________________。
2. 不定项选择:(1) 以下叙述正确的是:A. 接口中可以有虚方法。
B. 一个类可以实现多个接口。
C. 接口不能被实例化。
D. 接口中可以包含已实现的方法。
(2) 从数据库读取记录,你可能用到的方法有:A. ExecuteNonQueryB. ExecuteScalarC. FillD. ExecuteReader3. 简述private、protected、public、internal 修饰符的访问权限。
4. 写出一条Sql语句:取出表A中第31到第40记录(SQLServer, 以自动增长的ID 作为主键, 注意:ID可能不是连续的。
)5 .列举 页面之间传递值的几种方式。
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 = "string 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);Console.WriteLine(c.i);Console.WriteLine(str);Console.WriteLine(c.str);}}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');}public new void Fun(){Console.WriteLine("B.Fun()"); }public static void Main(){A a = new 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 + 1);}public static void Main(){B b = new B();A a = new A();a.Fun2(b);b.Fun2(a);}}9. 一列数的规则如下: 1、1、2、3、5、8、13、21、34......求第30位数是多少,用递归算法实现。
dotNet程序员笔试题
![dotNet程序员笔试题](https://img.taocdn.com/s3/m/22c089bac281e53a5902ff3c.png)
.Net程序员笔试题姓名:专业班级:学号:1.请为下一个定义。
2.请解释B/S,并比较C/S,给出B/S的优点。
3.请说明人们提出“面向对象编程”概念的用意是什么?4.阅读以下C++代码,并回答问题。
CPerson *aPerson = new CChinese();aPerson->Say();aPerson = new CAmerican();aPerson->Say();return 0;(1)上述代码的范型是“结构化编程”、“面向对象编程”、“泛型编程”中的哪一种,为什么?(2)为上述代码构造一个函数签名。
(3)说出上述代码存在的问题。
(4)请说出“CPerson”、“CChinese”、“CAmerican”三者之间的关系。
(5)请说明第二个“aPerson->Say( )”代码调用的是“CChinese”还是“CAmerican”的“Say”函数?这体现了什么特征?5.请说出三种程序的基本结构。
6.请说明什么是“客户程序”。
7.请指出以下哪几个变量名取得比较好?(1)abc(2)m_Name(3)aCat(4)curTime(5)currentTime(6)seekCount4Person(7)sc_Person(8)found(9)fnd(10)iCount(11)count8.请说明“关系表达式和逻辑表达式”与“命题逻辑和谓词逻辑”之间的关系。
9.请说出C++中独立函数的构成元素。
10.请解释“接口”的概念。
11.阅读以下C++代码,并回答问题。
int add( int x = 0, int y = 0 ){return x + y;}float add( float x = .0f, float y = .0f ){ return x + y;}double add( double x, double y ){return x + y;}void main(void){cout << add( 1, 2 ) << endl;cout << add( 3.5, 4.7 ) << endl;cout << add( ) << endl;}(1)上述代码使用到的是“Overload”技术还是“Override”技术?(2)在C++中可以采用什么技术简化上述代码,请实现之。
Dotnet软件开发求职试题集合
![Dotnet软件开发求职试题集合](https://img.taocdn.com/s3/m/78b3fda2b0717fd5360cdc54.png)
(8).net 中读写数据库需要用到那些类?他们的作用? (9)security 公司的网络管理工程师 mr. leak 最近发现有不少来自公司外部 ip 的请求,试图非法访问公司内部资源,为了不影响数据访问流程。他不得不写一 个高效的程序——一个工作在 ipv4 上的防火墙, 如果请求来自非授权的 ip 地址, 则将请求丢弃。为了便于管理,通过文本文件 ip.txt 来配置授权的 ip 地址,文 件格式为每行(’/n’)一个 ip 地址(或 ip 段),范围不超过一个 b 类。例 如: 162.105.91.163 59.66.105.0 59.66.105.255 211.71.0.0 211.71.255.255 限制:ip 段的起止地址间以空格隔开。文件不超过 10 万行,内存不超过 4m 字 节。 要求:请编写一个程序,读入 ip.txt 文件。并从标准输入接受一个 ip 地址。如 果该地址在授权范围内,则在标准输出上打印 y,否则打印 n.如果输入为一个空 行,程序结束。 请给出思路(文字描述),完成代码,分析你采用算法的优劣。请列举测试方法 和思路 (10)写出不带头结点的双向链表的插入排序算法。
.net 软件开发求职试题集合
笔试网()
简答题:
(1)请编程遍历页面上所有 textbox 控件并给它赋值为 string.empty? (2)什么叫 assembly qualified name?它是一个文件名吗?它有什么不同? (3)什么是 interface?它与 class 有什么区别? (4)aspx 和 aspx.cs 和 aspx.resx 的关系。工作原理 (5)重载(overload)和重写(overried,有的书也叫做“覆盖”)的区别? (6)几种判断空字符串的方法和特点 (7)一列数的规则如下: 1、1、2、3、5、8、13、21、34. 求第 30 位数是多少, 用递归算法实现。
S2N笔试题汇总
![S2N笔试题汇总](https://img.taocdn.com/s3/m/06d58acf50e2524de5187ee5.png)
一.简答题(共32分)1.在C#中,string str = null 与string str = “”请尽量使用文字或图象说明其中的区别。
回答要点:从内存空间分配上说明(6分)答:string str=""表示一个空字符串,被实例化了,占用了内存空间,而string str = null 没有分配内存空间,是一个空引用。
2. 请详述在dotnet中类(class)与结构体(struct)的异同,至少回答二个不同点(6分)答:1.结构体是值类型,类是引用类型;2.结构体不能有无参的构造方法,类可以有无参的构造方法;3.结构体创建对象可以不用new关键字,类创建对象必须用new关键字;4.结构体不能被继承,类可以被继承3. 请写出至少4个以上的类对象(6分)答:Connection对象、Command对象、DataAdapter对象、DataReader对象4.请说明REF关键字和OUT关键字的区别,以及使用方法(8分)答:ref关键字和out关键字使值类型数据按引用类型方式传递,ref和out关键字在调用和定义时都需要显示使用关键字;但ref关键字在参数传递之前必须初始化,而out关键字在参数传递之前不需要初始化,ref关键字重在修改参数的数据,而out关键字重在带回执行结果。
5.列举DataRow对象四种行状态。
(6分)答:行状态(RowState):1.UnChanged状态:指表中的行自创建之后没有做过任何改动的状态,或则是行在上次接受修改之后,至今未做过任何改动的状态。
2.Added状态:该状态是指已经将行添加到表中,但是尚未调用表对象的AcceptChanged方法。
调用AcceptChanged方法时,所有处在Added状态的行都变为Unchanged状态。
3.Modified状态:该状态表示该行已经被修改。
调用AcceptChanged方法时,所有处在Modified状态的行都变为Unchanged状态4.Deleted状态:该状态表示该行已经从表中删除,但是尚未调用表对象的AcceptChanged方法5.Detached状态:该状态表示该行不属于任何表,或则已经从表中分离出去了,不再属于任何表的DataRow对象。
DotNet面试题汇总
![DotNet面试题汇总](https://img.taocdn.com/s3/m/d2557d740029bd64793e2c58.png)
DotNet面试题汇总1.a=10,b=15,在不用第三方变题的前提下,把a,b的值互换a=a+b;b=a-b;a=a-b;据说还可以这样:a^=b^(b^=a^b); 不了解是什么原理2.已知数组int[] max={6,5,2,9,7,4,0};用快速排序算法按降序对其进行排列,并返回数组public class TestQuickSort {private int[] array = null;private void quickSort(int lowest, int highest) {if (array == null || lowest < 0 || lowest >= highest|| highest >= array.length) {return;}int low = lowest;int high = highest;int key = low++;for (; low <= high;) {if (key < high) {if (array[key] > array[high]) {array[high] = array[key] + (array[key] = array[high]) * 0;key = high;}high--;}if (key > low) {if (array[key] < array[low]) {array[low] = array[key] + (array[key] = array[low]) * 0;key = low;}low++;}}quickSort(lowest, key - 1);quickSort(key + 1, highest);}/*** @param args*/public static void main(String[] args) { TestQuickSort test = new TestQuickSort(); int[] array = {6,5,2,9,7,4,0};test.array = array;test.quickSort(0, array.length - 1);int length = test.array.length;for (int i = 0; i < length; i++) {System.out.println(test.array[i]);}}}快速排序是综合性能最好的内部排序算法!3.请简述面向对象的多态的特性及意义!多态:面向对象的语言使用虚方法表达多态。
.NET面试题大全(C#面试题)2020更新
![.NET面试题大全(C#面试题)2020更新](https://img.taocdn.com/s3/m/83aa5ccd59f5f61fb7360b4c2e3f5727a5e9241a.png)
.NET⾯试题⼤全(C#⾯试题)2020更新⽬录:⼀、笔试⾯试题⼆、问答⾯试题⼀、笔试⾯试题:1. 简述 private、 protected、 public、 internal 修饰符的访问权限。
答 . private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public : 公共成员,完全公开,没有访问限制。
internal: 在同⼀命名空间内可以访问。
2 .列举 页⾯之间传递值的⼏种⽅式。
答. 1.使⽤QueryString, 如....?id=1; response. Redirect()....2.使⽤Session变量3.使⽤Server.Transfer4.使⽤Application5.使⽤Cache6使⽤HttpContext的Item属性7.使⽤⽂件8.使⽤数据库9.使⽤Cookie3. ⼀列数的规则如下: 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 是进⾏基类中函数的重写。
dotNet面试题
![dotNet面试题](https://img.taocdn.com/s3/m/596c4b970b4e767f5acfcea6.png)
public B()
{ Console.Writ eLine('B'); } public new void Fun() { Console.Writ eLine("B.Fu n()"); } public static void Main() { A a = new B(); a.Fun();
产品表 销售计划表 ProductID 产品名 单 价
ProductID 客户名 订货数量 销售单价
1 name1 110
2
m
2
250
2 name2 220
1
n
3
110
3 name3 330
3
n
1
300
4 name4 440
4
m
2
400
1.是否能删 除产品表中 的name2? 请说明理由 与过程。 2.将销售计 划表中m客 户的产品名 为name2的 销售单价更 换为产品表 中相应的单 价 3.求销售计 划表中各客 户各自的销 售总金额的 sql语句
}
} 1. A B A.Fun() 2. A B B.Fun() 3. B A A.Fun() 4. B A B.Fun()
Question 45. (单选) Which of these string definitions will prevent escaping on backslashes in C#?* 1. string s = # ”n Test string”; 2. string s = “’ n Test string ”;
Question 33. (单选)
int[][] myArray3=n ew int[3][]{new int[3]{5,6,2 },new int[5]{6,9,7, 8,3},new int[2]{3,2}} ; myArray3[2] [2]的值是 ()。
.NET面试题汇总(带答案)
![.NET面试题汇总(带答案)](https://img.taocdn.com/s3/m/5de8b27c8f9951e79b89680203d8ce2f006665f4.png)
.NET⾯试题汇总(带答案)1.维护数据库的完整性、⼀致性、你喜欢⽤触发器还是⾃写业务逻辑?为什么?答:尽可能⽤约束(包括CHECK、主键、唯⼀键、外键、⾮空字段)实现,这种⽅式的效率最好;其次⽤触发器,这种⽅式可以保证⽆论何种业务系统访问数据库都能维持数据库的完整性、⼀致性;最后再考虑⽤⾃写业务逻辑实现,但这种⽅式效率最低、编程最复杂,当为下下之策。
2.什么是事务?什么是锁?答:事务是指⼀个⼯作单元,它包含了⼀组数据操作命令,并且所有的命令作为⼀个整体⼀起向系统提交或撤消请求操作,即这组命令要么都执⾏,要么都不执⾏。
锁是在多⽤户环境中对数据的访问的限制。
SqlServer⾃动锁定特定记录、字段或⽂件,防⽌⽤户访问,以维护数据安全或防⽌并发数据操作问题,锁可以保证事务的完整性和并发性。
3.什么是索引,有什么优点?答:索引象书的⽬录类似,索引使数据库程序⽆需扫描整个表,就可以在其中找到所需要的数据,索引包含了⼀个表中包含值的列表,其中包含了各个值的⾏所存储的位置,索引可以是单个或⼀组列,索引提供的表中数据的逻辑位置,合理划分索引能够⼤⼤提⾼数据库性能。
4.视图是什么?游标是什么?答:视图是⼀种虚拟表,虚拟表具有和物理表相同的功能,可以对虚拟表进⾏增该查操作;视图通常是⼀个或多个表的⾏或列的⼦集;视图的结果更容易理解(修改视图对基表不影响),获取数据更容易(相⽐多表查询更⽅便),限制数据检索(⽐如需要隐藏某些⾏或列),维护更⽅便。
游标对查询出来的结果集作为⼀个单元来有效的处理,游标可以定位在结果集的特定⾏、从结果集的当前位置检索⼀⾏或多⾏、可以对结果集中当前位置进⾏修改、5.什么是存储过程?有什么优点?答:存储过程是⼀组予编译的SQL语句它的优点:1.允许模块化程序设计,就是说只需要创建⼀次过程,以后在程序中就可以调⽤该过程任意次。
2.允许更快执⾏,如果某操作需要执⾏⼤量SQL语句或重复执⾏,存储过程⽐SQL语句执⾏的要快。
腾讯_DotNet面试题_参考答案
![腾讯_DotNet面试题_参考答案](https://img.taocdn.com/s3/m/4627c60b763231126edb11e9.png)
答题要求:打*号的部分为必答题,未指明为多选题的选择题均为单选题。
一、.Net Framework部分*1.装箱、拆箱操作发生在: ( C )A.类与对象之间B.对象与对象之间C.引用类型与值类型之间D.引用类型与引用类型之间2.用户类若想支持Foreach语句需要实现的接口是: ( B )A.IEnumerableB.IEnumeratorC.ICollectionD.ICollectData Framework通过什么与COM组件进行交互操作?( C )A.Side By SideB.Web ServiceC.InteropD.PInvoke依靠以下哪一项技术解决COM存在的Dll Hell问题的?( A )A.Side By SideB.InteropC.PInvoke+5.装箱与拆箱操作是否是互逆的操作?( A )A.是B.否6.以下哪个是可以变长的数组?( D )A.ArrayB.string[]C.string[N]D.ArrayList7.用户自定义异常类需要从以下哪个类继承:( C )A.ExceptionB.CustomExceptionC.ApplicationExceptionD.BaseException8.以下代码段中能否编译通过?请给出理由。
try{}catch(FileNotFoundException e1){}catch(Exception e2){}catch(IOException e3){}catch{}不能编译通过,因为e3是e2的子类,所有属于e3异常会被e2捕获。
9.对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序定义的任务?(多选) ( BD )A.CloseB.DisposeC.FinalizeingE.Quit依赖以下哪项技术实现跨语言互用性?( C )A.CLRB.CTSC.CLSD.CTT11.请问: String类与StringBuilder类有什么区别?为什么在.Net类库中要同时存在这2个类?(简答)和JAVA中的StringBuffer类似,StringBuilder可以提高字符串连接时的性能。
传智播客DotNet面试宝典(精)
![传智播客DotNet面试宝典(精)](https://img.taocdn.com/s3/m/a469285bb307e87101f69662.png)
技术类面试、笔试题汇总(整理者:杨中科,部分内容从互联网中整理而来)注:标明*的问题属于选择性掌握的内容,能掌握更好,没掌握也没关系。
下面的参考解答只是帮助大家理解,不用背,面试题、笔试题千变万化,不要梦想着把题覆盖了,下面的题是供大家查漏补缺用的,真正的把这些题搞懂了,才能“以不变应万变”。
回答问题的时候能联系做过项目的例子是最好的,有的问题后面我已经补充联系到项目中的对应的案例了。
1、简述 private、 protected、 public、 internal 修饰符的访问权限。
private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public : 公共成员,完全公开,没有访问限制。
internal: 当前程序集内可以访问。
2、中的五个主要对象Connection:主要是开启程序和数据库之间的连接。
没有利用连接对象将数据库打开,是无法从数据库中取得数据的。
Close和Dispose的区别,Close以后还可以Open,Dispose以后则不能再用。
Command:主要可以用来对数据库发出一些指令,例如可以对数据库下达查询、新增、修改、删除数据等指令,以及调用存在数据库中的存储过程等。
这个对象是架构在Connection 对象上,也就是Command 对象是透过连接到数据源。
DataAdapter:主要是在数据源以及DataSet 之间执行数据传输的工作,它可以透过Command 对象下达命令后,并将取得的数据放入DataSet 对象中。
这个对象是架构在Command对象上,并提供了许多配合DataSet 使用的功能。
DataSet:这个对象可以视为一个暂存区(Cache),可以把从数据库中所查询到的数据保留起来,甚至可以将整个数据库显示出来,DataSet是放在内存中的。
DataSet 的能力不只是可以储存多个Table 而已,还可以透过DataAdapter对象取得一些例如主键等的数据表结构,并可以记录数据表间的关联。
dotNet高级软件工程师面试题
![dotNet高级软件工程师面试题](https://img.taocdn.com/s3/m/534fffac10661ed9ad51f3f9.png)
dotNet高级软件工程师面试题1.有表A,结构如下:A: p_ID p_Num s_id1 10 011 12 022 8 013 11 013 8 03其中:p_ID为产品ID,p_Num为产品库存量,s_id为仓库ID。
请用SQL语句实现将上表中的数据合并,合并后的数据为:p_ID s1_id s2_id s3_id1 10 12 02 8 0 03 11 0 8其中:s1_id为仓库1的库存量,s2_id为仓库2的库存量,s3_id为仓库3的库存量。
如果该产品在某仓库中无库存量,那么就是0代替。
2.叙述Page页面的生命周期。
(即写出Page几个主要的事件运行顺序)3.有ab.aspx页面,在codebehind里动态在页面里创建一checkbox控件,创建后用户在页面选中该checkbox,在codebehind里如何取该checkbox的值?(即是选中还是未选中状态)4.Session跟Cookie有什么关系?假如IE禁止使用cookie,那Session还有用吗?5.c#中的关键字this,在class中和在struck中如何使用?6.如何理解装箱、坼箱操作?运用此操作时对系统性能有什么影响? 7.XML中的XmlDocument 跟 XmlReader有什么区别?8.接口跟抽象有什么异同?你在平时项目设计过程中何时使用接口? 何时使用抽象类?9. public void Check(string s){.....}public void Check(ref string s){.....}Public void Check(out string s){.....}上面的三个方法传入的参数有什么不同?另外请说明string是什么数据类型(值类型?引用类型?)。
10. 如图,如何找出他们的交叉区域。
请写出你的实现思路。
|-------|| || || |--|----|| | || | | ||----|--| | |-------|。
NET面试笔试题 (2)
![NET面试笔试题 (2)](https://img.taocdn.com/s3/m/ea8d8806eff9aef8941e06bf.png)
1.在.net(C# or )中如何获得当前窗体或控件的句柄,特别是控件本身的句柄(请列举)。
答案:this(C#) Me().2.在.net(C# or )中如何取消一个窗体的关闭。
答案:private void Form1_Closing(object sender, ponentModel.CancelEventArgs e){e.Cancel=true;}3.在.net(C# or )中,Appplication.Exit 还是Form.Close有什么不同?答案:一个是退出整个应用程序,一个是关闭其中一个form4.在C#中有一个double型的变量,比如10321.5,比如122235401.21644,作为货币的值如何按各个不同国家的习惯来输出。
比如美国用$10,321.50和$122,235,401.22而在英国则为£10 321.50和£122 235 401.22答案: public static void Main(){//System.Globalization.CultureInfoMyCulture = newSystem.Globalization.CultureInfo("en-US");System.Globalization.CultureInfo MyCulture = newSystem.Globalization.CultureInfo("en-GB");//为英国货币类型decimal y = 9999999999999999999999999999m;string str = String.Format(MyCulture, "My amount = {0:c}", y);Console.WriteLine(str);}//{0,10:c} 0→下标,10→字符串要占用的字符数如果字符数不够也会完整显示 ,:c 格式说明符 d,e,f,g,n,p,x5.某一密码仅使用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 LL问题三:下列哪一个是单词密码?A) KLLN B) LOML C) MLLO D)NMKO答案:C6.62-63=1 等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动?答案:62移动成2的6次方7. 根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁? 并简要说明理由。
Net Framework框架(dotnet)面试题与答案汇编
![Net Framework框架(dotnet)面试题与答案汇编](https://img.taocdn.com/s3/m/4bc62d9fec3a87c24028c4e3.png)
一、简答题:1、您在什么情况下会用到虚方法?它与接口有什么不同?答:实现多态时会用到虚方法,虚方法在基类中实现在子类中重写,接口不能实现,在继承接口的类中实现。
2、Override与重载有什么区别?答:override 与重载的区别。
重载是方法的名称相同。
参数或参数类型不同,进行多次重载以适应不同的需要 Override 是进行基类中函数的重写。
为了适应需要。
3、值类型与引用类型有什么区别?答:值类型与引用类型的区别在于它们在内存中的存储方式,值类型只将值存放在内存中,这些值类型数据都存储在堆栈中。
而引用类型的内存单元中只存放内存堆中对象的地址,而对象本身存放在内存堆中。
如果引用类型的值是null,则表示未引用任何对象。
4、怎样理解静态变量?答:所有实例公用一个的变量5、向服务器发送请求有几种方式?答:get,post。
get一般为链接方式,post一般为按钮方式。
6、DataReader与Dataset有什么区别?答:一个是只能向前的只读游标,一个是内存中的表。
7、如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?答: input type="" url 数据库8、用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?答:一般为3层数据访问层,业务层,表示层。
数据访问层对数据库进行增删查改。
业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等.表示层为了与用户交互例如用户添加表单。
优点:分工明确,条理清晰,易于调试,而且具有可扩展性。
缺点:增加成本。
9、软件开发过程一般有几个阶段?每个阶段的作用?答:需求分析,架构设计,代码编写,QA,部署10、微软推出了一系列的Application Block,请举出您所知道的Application Block并说明其作用?答:Updater Application Block:Updater Application Block是一个.NET Framework组件,用于通过网络从服务器自动检测、下载和部署客户端应用程序。
.NET软件工程师面试题(第二轮)
![.NET软件工程师面试题(第二轮)](https://img.taocdn.com/s3/m/4eda0f7eb90d6c85ed3ac61e.png)
1.C#中的委托是什么?事件是不是一种委托?2.简述 private、 protected、 public、internal 修饰符的访问权限。
3.override与重载的区别4.什么是装箱和拆箱?中读写数据库需要用到那些类?他们的作用?6.列举页面之间传递值的几种方式。
7.请详述在dotnet中类(class)与结构(struct)的异同?8.写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。
9.面向对象的语言具有________性、_________性、________性,________最能体现面向对象的思想。
10.能用foreach遍历访问的对象需要实现 ________________接口或声明________________方法的类型。
11.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?12.如何处理几十万条并发数据?13.成员变量和成员函数前加static的作用?14.请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优点。
15.c#中的三元运算符是?16..当整数a赋值给一个object对象时,整数a将会被?17.类成员有_____种可访问形式?分别是?18.用sealed修饰的类有什么特点?19.在中所有的自定义用户控件都必须继承自________?的错误处理机制是什么?21.在.net中,Appplication.Exit() 还是 Form.Close()有什么不同?22.在C#中,string str = null 与 string str = "" 请尽量使用文字或图象说明其中的区别。
23.引用类型和值类型的区别24.属性(get{}set{})和public字段的区别是什么?25.C#中所有对象共同的基类(父类)是什么?参考《就业指导手册》。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文集中了多条常见的C#.Net经典面试题目例如.NET中类和结构的区别页面之间传递值的几种方式?,并简明扼要的给出了答案,希望能对学习C#.Net的读者有所帮助1,请你说说.NET中类和结构的区别?答:结构和类具有大体的语法,但是结构受到的限制比类要多结构不能申明有默认的构造函数,为结构的副本是又编译器创建和销毁的,所以不需要默认的构造函数和析构函数结构是值类型,所以对结构变量所做的改变不会影响其的原值,而类是应用类型,改变其变量的值会改变其原值申明结构用Struck关键字,申明类用class关键字,向方法传递结构是时是通过值传递的,而不是通过引用与类不同,结构的实例化可以不使用New关键字类可以实现接口2,死锁的必要条件?怎么克服?答:系统的资源不足,进程的推进的顺序不合适,资源分配不当,一个资源每次只能被一个进程使用,一个资源请求资源时,而此时这个资源已阻塞,对已获得资源不放,进程获得资源时,未使用完前,不能强行剥夺3,接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类?答:接口是可以继承接口的,抽象类是可以实现接口的,抽象类可以继承实体类,但是有个条件,条件是,实体类必须要有明确的构造函数4,构造器Constructor是否可以被继承?是否可以被Override?答:Constructor不可以被继承,因此不能被重写(Overriding),但可以被重载(Overloading).5,当一个线程进入一个对象的方法后,其它线程是否可以进入该对象的方法?答:不可以,一个对象的方法只能由一个线程访问6,用最有效的方法算出等于几?[ 8]答:2<<3.7, C#是否可以对内存直接进行操作?答:这个问题比较难回答,也是个很大的问题但是可以这样问答C#是可以对内存进行直接操作的,虽然很少用到指针,但是C#是可以使用指针的,在用的时候需要在前边加unsafe,,在.net中使用了垃圾回收机制(GC)功能,它替代了程序员,不过在C#中不可以直接使用finalize方法,而是在析构函数中调用基类的finalize()方法8,Error和Exception有是区别?答:error表示恢复不是不可能,但是很困难,exception表示一种实际或实现问题,它表示程序运行正常不可以发生的9,谈谈final,finally,finallize的区别?答:final用于申明属性,方法和类,表示属性不可变,方法不可以被覆盖,类不可以被继承Finally是异常处理语句结构中,表示总是执行的部分Finallize表示是object类一个方法,在垃圾回收机制中执行的时候会被调用被回收对象的方法10, HashMap和Hashtable区别?答:HashMap是Hashtable的轻量级实现,非线程安全的实现他们都实现了map接口,主要区别是HashMap键值可以为空null,效率可以高于Hashtable11,Collection和Collections的区别?答:Collection是集合类的上级接口,Collections是针对集合类的一个帮助类,它提供一系列静态方法来实现对各种集合的搜索,排序,线程安全化操作12,C#中委托是什么?事件是不是一种委托?答:委托是一种安全的类似与函数指针,但是她比指针要安全的多,它可以把方法作为一个参数传递给另一个方法,可以理解为指向函数的引用事件是一种消息机制,它是一种委托,委托不带方法体13,Override, Overload,的区别?答:Override是重写的意思,它表示重写基类的方法,而且方法的名称,返回类型,参数类型,参数个数要与基类相同Overload是重载是意思,它也表示重写基类的方法,但是只要方法名相同,别的可以不同14,在一个BS结构中需要传递变量值时,不能使用session,coolke,application,你有几中方法?答:this.server.Transfer,Querystring.15, C#种索引器实现过程,是否只能根据数字索引?答:不是的,可以是任意类型17,任何把一个Array复制到Arraylist中?答:Foreach (object o in Array), ArrayList.Add (0)等有好多中种方法自己想18,概述反射和序列化?答:反射:要给发射下一个定义还是比较难的,这里先说说我的理解反射提供了封装程序集,模块和类型对象,可以用反射动态地创建类型的实例,将类型绑定到现有对象,或者从现有对象类型里获取类型,然后调用类型的方法或访问字段和属性序列化:将对象转换为另一种媒介传输的格式过程如,序列化一个对象,用Http通过internet在客户端和服务器之间传递该对象,在另一端用反序列化从该流中重新得到对象19,Const和ReadOnly?答:Const用来申明编程时申明常量,ReadOnly用来申明运行时常量20,UDP和TCP连接有和异同?答:TCP是传输控制协议,提供的是面向连接的,是可靠的,字节流服务,当用户和服务器彼此进行数据交互的时候,必须在他们数据交互前要进行TCP连接之后才能传输数据TCP提供超时重拨,检验数据功能UDP是用户数据报协议,是一个简单的面向数据报的传输协议,是不可靠的连接21,进程和线程分别该怎么理解?答:进程是比线程大的程序运行单元,都是由操作系统所体会的系统运行单元,一个程序中至少要有一个进程,有一个进程中,至少要有一个线程,线程的划分尺度要比进程要小,进程拥有独立的内存单元,线程是共享内存,从而极大的提高了程序的运行效率同一个进程中的多个线程可以并发执行22,页面之间传递值的几种方式?答:QueryString,session,cookies,application,server.Transfer,respose.redictor.23. 什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTSCLS 和CLR分别作何解释?答:应用程序域:就是为安全性,可靠性,隔离性,和版本控制,及卸载程序提供的隔离边界它通常由运行库宿主创建,应用程序域提供了一个更安全,用途更广的处理单元托管代码:使用CLR编译语言编辑器开发编写的代码就叫托管代码装箱和拆箱:是把值类型转换为引用类型的过程,是隐式的,相反的过程就是拆箱,是显式的CTS是公共类型系统,CLS是公共语言规范,CLR公共语言运行库强类型系统:每个变量和对象都必须具有申明类型24. 值类型和引用类型的区别?答:值类型的值是存放在堆栈中的,改变其值,不改变变量原有的值,而引用类型的值是存放在栈中的,其引用的地址是存放在堆栈中的,改变其值也就改变了变量原有的值值类型不允许包含null值,然而可空类型可以将null赋值给值类型l答:windows,forms,passport26. 解释一下UDDIWSDL的意义及其作用?答:UDDI是统一描述集成协议,是一套基于Web的,分布式的,为WEB服务提供的信息注册的实现标准规范,同时为也是为企业本身提供的Web服务注册以让别的企业能够发现并访问的协议标准提供了基于标准的规范,用于描述和发现服务,还提供了一组基于因特网的实现WSDL这是一个基于XML的描述WEB服务的接口答:是简单访问协议是在分布式环境中,交换信息并实现远程调用的协议是一个基于XML的协议使用SOAP,可以不考虑任何传输协议,但通常还是HTTP协议,可以允许任何类型的对象或代码,在任何平台上,以任一种语言相互通信它是一种轻量级协议答:vs2003,vs2005里边都有发表机制,vs2003可以发布然后在复制部署Vs2005可以直接部署到对应的位置答:.NET中的垃圾回收机制是引用程序对内存的回收和释放当每次用new关键字创建一个对象时,运行库都要从托管堆中为其分配内存,因为空间是有限的,最终垃圾回收机制是要回收不用的内存的已释放内存,重新使用30. 面向对象的三大基本原则?答:封装,继承,多态31. 在.NET中所有类的基类是?答:object32. 能用foreach遍历访问的对象需要实现?答:需要实现IEnumerable接口和GetEnumerator ()方法33. Heap与stack的差别?答:Heap是堆,空间是由手动操作分配和释放的,它的存储区很大的自由存储区Stack是栈,是由是操作系统自动分配和释放的,栈上的空间是有限的程序在编译期间变量和函数分配内存都是在栈上进行的,且在运行时函数调用时的参数的传递也是在栈上进行的.Net面试题及答案1:a=10,b=15,在不用第三方变量的前提下,把a,b的值互换a=a+b;b=a-b;a=(a-b)/2;b=b+a2:已知数组int[] max={6,5,2,9,7,4,0};用快速排序算法按降序对其进行排列,并返回数组 using System;namespace VcQuickSort{/// <summary>/// ClassQuickSort 快速排序。
/// 范维肖/// </summary>public class QuickSort{public QuickSort(){}private void Swap(ref int i,ref int j)//swap two integer{int t;t=i;i=j;j=t;}public void Sort(int [] list,int low,int high) {if(high<=low){//only one element in array list//so it do not need sortreturn;}else if (high==low+1){//means two elements in array list//so we just compare themif(list[low]>list[high])//exchange themSwap(ref list[low],ref list[high]);return;}}//more than 3 elements in the arrary list//begin QuickSortmyQuickSort(list,low,high);}public void myQuickSort(int [] list,int low,int high) {if(low<high){int pivot=Partition(list,low,high);myQuickSort(list,low,pivot-1);myQuickSort(list,pivot+1,high);}}private int Partition(int [] list,int low,int high) {//get the pivot of the arrary listint pivot;pivot=list[low];while(low<high){while(low<high && list[high]>=pivot) {high--;}if(low!=high){Swap(ref list[low],ref list[high]);low++;}while(low<high && list[low]<=pivot) {low++;}if(low!=high){Swap(ref list[low],ref list[high]);high--;}}return low;}}}3:请简述面向对象的多态的特性及意义!在c#中多态性的定义是:同一操作作用于不同的类的实例、不同的类将进行不同的解释、最后产生不同的执行结果。