内容发布更新时间 : 2024/12/25 13:36:18星期一 下面是文章的全部内容请认真阅读。
一、简答题:
1、 您在什么情况下会用到虚方法?它与接口有什么不同?
答:实现多态时会用到虚方法,虚方法在基类中实现在子类中重写,接口不能实现,在继承接口的类中实现。 2、 Override与重载有什么区别?
答 :override 与重载的区别。重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要 Override 是进行基类中函数的重写。为了适应需要。 3、 值类型与引用类型有什么区别?
答:值类型与引用类型的区别在于它们在内存中的存储方式,值类型只将值存放在内存中,这些值类型数据
都存储在堆栈中。而引用类型的内存单元中只存放内存堆中对象的地址,而对象本身存放在内存堆中。如果引用类型的值是null,则表示未引用任何对象。 4、 怎样理解静态变量?
答:所有实例公用一个的变量 5、 向服务器发送请求有几种方式?
答:get,post。get一般为链接方式,post一般为按钮方式。 6、 DataReader与Dataset有什么区别?
答:一个是只能向前的只读游标,一个是内存中的表。
7、 如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种
方法进行处理?
答 : input type=\数据库
8、 用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 答:一般为3层
数据访问层,业务层,表示层。 数据访问层对数据库进行增删查改。
业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等. 表示层为了与用户交互例如用户添加表单。
优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。 缺点: 增加成本。
9、 软件开发过程一般有几个阶段?每个阶段的作用? 答:需求分析,架构设计,代码编写,QA,部署 10、 微软推出了一系列的Application Block,请举出您所知道的Application Block并说明其作用?
答:Updater Application Block: Updater Application Block是一个.NET Framework组件,用于通过网络从
服务器自动检测、下载和部署客户端应用程序。通过扩展其源代码,还可以用于执行文件下载等工作。 Data Access Application Bloack: Data Access Application Block 是一个 .NET 组件,包含优化的数据访问代码,可以帮助用户调用存储过程以及向 SQL Server 数据库发出 SQL 文本命令。 11、 请列举一些您用到过的设计模式以及在什么情况下使用该模式? 答:著名的singleton(单态) 12、 C#中有没有运算符重载?能否使用指针? 答:有,C#中也有运算符重载,如对运算符“+”进行重载;
C#中也可以使用指针,但要声明为unsafe。
13、 C#中有很多类被定义为public有什么意义? 14、 答:C#中很多类被定义为public 表示当前类的外部对于当前类的访问没有任何限制。 15、 Params是什么含义?
答: Params是C#中的关键字,采用此关键字可以指定参数数目为可变;在方法声明中的 params 关键字之后
不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。 如:
public int fConvert(params int[] iParas) {
? }
16、 通过超链接怎样传递中文参数? 答:URLEncode URLDecode
1
17、
举例子描述一下ASP.NET服务器控件的生命周期
答:初始化加载视图状态处理回发数据加载发送回发更改通知处理回发事件预呈现保存状态呈现处置卸载. 16、 详细介绍Static Nested Class 和 Inner Class的不同
答:Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。
17、 用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本身就能排序 18、 谈谈类和结构的区别?
答:1结构是值类型,类是引用类型。
2结构不能从另外一个结构或者类继承,本身也不能被继承,类可以继承其他类和接口,自身也能被继承。
3结构没有默认的构造函数,但是可以添加构造函数,没有析构函数,没有 abstract 和 sealed(因为不能继承),不能有protected 修饰符,可以不使用new 初始化。类有默认的构造函数,有析构函数,可以使用 abstract 和 sealed,有protected 修饰符,必须使用new 初始化。
19、 什么叫应用程序域? 答:应用程序域可以理解为一种轻量级进程。起到安全的作用。占用资源小。 20、 什么是受管制的代码? 答:unsafe:非托管代码。不经过CLR运行。 21、 什么是强类型系统? 答:RTTI:类型识别系统。
22、 什么是重载? 答:重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要。 23、 你对XMLHTTP、WEBSERVICE 了解吗?简单描述其特点、作用? 24、 答:xmlhttp可以主动获取远端web代码,类似HttpWebRequest。
25、 接口和抽象类有什么区别?你选择使用接口和抽象类的依据是什么?答:接口用于规范,抽象类用于共性。 26、 自定义控件和一般用户控件的异同?如果要用这两者之一,你会选择哪种?为什么?
答:1、自定义控件默认继承自System.Windows.Fomrs.Control.用户控件默认继承自
System.Windows.Fomrs.UserControl
2、用户控件只能在当前项目中使用,而自定义控件可以在多个项目中重复使用
3、自定义控件最终编译成动态连接库形式,使用自定义控件时,可以在项目中直接添加对该动态库的引用,然后通过代码创建该自定义控件
4、如果自定义控件从已有的控件继承而来,则可以在已有的控件的OnPaint事件中重绘该控件的外观
27、 面向对象的概念,主要特点? 答:封装,基层,多态 28、 UML 答:统一建模语言
29、 请说明.net中的错误处理机制,并举例?
答:.net错误处理机制采用try->catch->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。
30、 请说出强名的含义? 答:具有自己的key,可以在GAC为公用
31、 请列出c#中几种循环的方法,并指出他们的不同? 答:for wile foeach
2
请指出.net中所有类型的基类? 答:object 请指出GAC的含义? 答:全局程序集缓存
C#中接口和类的异同? 答:类是方法功能的实现和集合,接口是规范类.约束类
有哪几种方法可以实现一个类存取另外一个类的成员函数及属性,并请举列来加以说明和分析? 答:同一个名称控件直接,或者反射
36、 如果需记录类的实例个数,该如何实现,请写一个简单的类于以证明? 37、 答:const static int classNum=0; classNum++;
38、 A类是B类的基类,并且都有自己的构造,析构函数,请举例证明B类从实例化到消亡过程中构造,析构函数
的执行过程?
答:构造先父后子,析构反之
39、 需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中间还有连续空格的话,仅保
留一个空格,即允许字符串中间有多个空格,但连续的空格数不可超过一个? 答:string inputStr=\ xx \
inputStr=Regex.Replace(inputStr.Trim(),\
40、 在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?using 指令 和语句 new 创建实
例 new 隐藏基类中方法?
答:using 引入名称空间或者使用非托管资源 new 新建实例或者隐藏父类方法
41、 下面这段代码输出什么?为什么?
int i=5; int j=5;
if (Object.ReferenceEquals(i,j))
Console.WriteLine(\ else
Console.WriteLine(\答:不相等,因为比较的是对象
42、 写一个实现对一段字符串翻转的方法,附加一些条件,如其中包括“,”、“.”,对其设计测试用例。
答:inputStr=inputStr.ToCharArray().Reverse().ToString();
43、 什么是反射? 答:动态获取程序集信息
44、 用Singleton如何写设计模式? 答:static属性里面new ,构造函数private
45、 C#中的垃圾回收机制是怎样的?三个generation,当每个generation内存满了的时候检查引用,无引用就
回收内存
46、 什么是Application Pool? 答:Web应用,类似Thread Pool,提高并发性能
47、 链表和数组的区别,各有什么优缺点? 答:一个可以动态增长,一个固定(VB中可以Redim),性能数组
教好
48、 什么是友元函数? 答:用关键字friendly声明,可以访问protect级别方法
49、 什么是内存泄漏,怎样最简单的方法判断被存泄漏? 答:C++,C中忘了释放内存,内存不会再次分配 50、 什么是XML? 答:可扩展标记语言,可以做配置文件,可以传输数据,可以存储数据
51、 Socket怎么实现?答:不同的语言有不同的方式,有不同的包,有不同的通讯方式!就java和c#来说:
他们都有net包/命名空间直接使用类就可以了。
52、 public static const int A=1;这段代码有错误么?是什么? 答:const不能用static修饰 53、 面向对象的思想主要包括什么?
答:面向对象三大特征:继承,封套,多态.面相对象的思想也不是一句两句就能说清楚..主要思想就是减少
代码重复,增大代码复用率..
54、 什么是ASP.net中的用户控件
答 :用户控件一般用在内容多为静态,或者少许会改变的情况下,用的比较大。类似ASP中的include但是功能要强大的多。
55、 列举一下你所了解的XML技术及其应用
答:xml用于配置,用于保存静态数据类型.接触XML最多的是web Services..和config
3
32、 33、 34、 35、