C#面试常见问题


Posted in 面试题 onFebruary 25, 2013
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 0:
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 {
int num = rnd.Next(1, 101);
if (!myList.Contains(num))
myList.Add(num);
}
for (int i = 0; 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++;

3.A类是B类的基类,并且都有自己的构造,析构函数,请举例证明B类从实例化到消亡过程中构造,析构函数的执行过程.
构造先父后子,析够反之

4.需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中间还有连续空格的话,仅保留一个空格,即允许字符串中间有多个空格,但连续的空格数不可超过一个.
string inputStr=” xx xx “;
inputStr=Regex.Replace(inputStr.Trim(),” *”,” “;

二.简答题

1.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?using 指令 和语句 new 创建实例 new 隐藏基类中方法
using 引入名称空间或者使用非托管资源
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));

试写一段程序显示出枚举类型中定义的所有符号名称以及它们对应的数值。
foreach

9.什么叫做SQL注入,如何防止?请举例说明。
利用sql关键字对网站进行攻击。过滤关键字’等

10.下面这段代码输出什么?为什么?
复制 保存
int i = 5;
int j = 5;
if (Object.ReferenceEquals(i, j))
Console.WriteLine(“Equal”);
else
Console.WriteLine(“Not Equal”);
//不相等,因为比较的是对象

1.写一个实现对一段字符串翻转的方法,附加一些条件,如其中包括“,”、“.”,对其设计测试用例 。
inputStr=inputStr.ToCharArray().Reverse().ToString();

2.对一支纸杯设计测试用例(可以是广义的杯,不一定是某一支特定功能的杯)
太宽了。。。

开发语言概念题

3.什么是反射?
动态获取程序集信息

4.用Singleton如何写设计模式
static属性里面new ,构造函数private

5.C#中的垃圾回收机制是怎样的?
三个generation,当每个generation内存满了的时候检查引用,无引用就回收内存

6.什么是Application Pool?
Web应用,类似Thread Pool,提高并发性能

7.链表和数组的区别,各有什么优缺点.
一个可以动态增长,一个固定(VB中可以Redim),性能数组教好

8.Remoting在客户端服务器怎么实现 ?
9.什么是友元函数?
friendly声明,可以访问protect级别方法

11.什么是虚函数?
可以被重写

12.什么是抽象函数?
必须被重写

13.什么是内存泄漏,怎样最简单的方法判断被存泄漏 ?
C++,C中忘了释放内存,内存不会再次分配

数据库知识题
17.使用什么工具来调用存储过程
任何一种语言

18.SQL Server的两种索引是何形式?索引的作用?索引的优缺点?
cluster和非cluster,加速查找,占用额外控件,维护索引耗费时间

19.触发器的作用
保证数据库操作变更能接到通知

其它知识题及问题
20.什么是Web Service?
使应用程序在整个网上可以被调用

21.什么是XML?
可扩展标记语言,可以做配置文件,可以传输数据,可以存储数据

22.Socket怎么实现?
这个不知道怎么说了。。。

Tags in this post...

面试题 相关文章推荐
Java中compareTo和compare的区别
Apr 12 面试题
试述DBMS的主要功能
Nov 13 面试题
商得四方公司面试题(gid+)
Apr 30 面试题
什么是托管函数?托管函数有什么用?
Jun 15 面试题
Does C# support multiple inheritance? (C#支持多重继承吗)
Jan 04 面试题
C#笔试题
Jul 14 面试题
C#中类(class)与结构(struct)的异同
Nov 03 面试题
几个Shell Script面试题
Apr 18 面试题
Linux如何命名文件--使用文件名时应注意
Jan 22 面试题
Linux操作面试题
May 16 面试题
如何用Python来进行查询和替换一个文本字符串
Jan 02 面试题
UNIX文件系统常用命令
May 25 面试题
What's the difference between deep copy and shallow copy? (深拷贝与浅拷贝有什么区别)
Nov 10 #面试题
override和overload的区别
Mar 09 #面试题
武汉瑞得软件笔试题
Oct 27 #面试题
What's the difference between Debug and Trace class? (Debug类与Trace类有什么区别)
Sep 10 #面试题
什么是索引指示器
Aug 20 #面试题
new修饰符是起什么作用
Jun 28 #面试题
Can a struct inherit from another struct? (结构体能继承结构体吗)
Sep 25 #面试题
You might like
用PHP+MySql编写聊天室
2006/10/09 PHP
PHP 选项及相关信息函数库
2006/12/04 PHP
php文件缓存类用法实例分析
2015/04/22 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
javascript 定义初始化数组函数
2009/09/07 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
2013/08/06 Javascript
html5 canvas js(数字时钟)实例代码
2013/12/23 Javascript
原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
2014/08/30 Javascript
Nodejs全栈框架StrongLoop推荐
2014/11/09 NodeJs
Javascript实现字数统计
2015/07/03 Javascript
JS实现iframe自适应高度的方法(兼容IE与FireFox)
2016/06/24 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
利用forever和pm2部署node.js项目过程
2017/05/10 Javascript
浅谈pc端rem字体设置的问题
2017/08/03 Javascript
解决JS表单验证只有第一个IF起作用的问题
2018/12/04 Javascript
JS实现马赛克图片效果完整示例
2019/04/13 Javascript
JavaScript 如何计算文本的行数的实现
2020/09/14 Javascript
keep-alive保持组件状态的方法
2020/12/02 Javascript
matplotlib简介,安装和简单实例代码
2017/12/26 Python
python 对key为时间的dict排序方法
2018/10/17 Python
对python pandas 画移动平均线的方法详解
2018/11/28 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
2019/01/05 Python
关于django 1.10 CSRF验证失败的解决方法
2019/08/31 Python
Python爬虫防封ip的一些技巧
2020/08/06 Python
浅析两列自适应布局的3种思路
2016/05/03 HTML / CSS
图解CSS3制作圆环形进度条的实例教程
2016/05/26 HTML / CSS
基于HTML5 audio元素播放声音jQuery小插件
2011/05/11 HTML / CSS
Shoes For Crews法国官网:美国领先的防滑鞋设计和制造商
2018/01/01 全球购物
开业庆典邀请函
2014/01/08 职场文书
酒店led欢迎词
2014/01/09 职场文书
军训学生自我鉴定
2014/02/12 职场文书
优秀实习生感言
2014/03/01 职场文书
文明礼仪标语
2014/06/13 职场文书
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS
Python中第三方库Faker的使用详解
2022/04/02 Python