文档库 最新最全的文档下载
当前位置:文档库 › net面试

net面试

net面试
net面试

.net笔试题

1. 填空: (1)面向对象的语言具有________性、_________性、________性。

(2)能用foreach遍历访问的对象需要实现__Inu______________接口或声明

________________方法的类型。

(3)列举https://www.wendangku.net/doc/908616941.html,中的五个主要对象_______________、_____________、

_______________、_______________、_________________。

2. 不定项选择:

(1) 以下叙述正确的是:

A. 接口中可以有虚方法。

B. 一个类可以实现多个接口。

C. 接口不能被实例化。

D. 接口中可以包含已实现的方法。

(2) 从数据库读取记录,你可能用到的方法有:

A. ExecuteNonQuery

B. ExecuteScalar

C. Fill

D. ExecuteReader

3. 简述private、protected、public、internal 修饰符的访问权限。

4. 写出一条Sql语句:取出表A中第31到第40记录(SQLServer, 以自动增长的ID 作为主键, 注意:ID可能不是连续的。)

5 .列举https://www.wendangku.net/doc/908616941.html, 页面之间传递值的几种方式。

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 converte

d.";

}

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位数是多少,用递归算法实现。(C#语言)

10. 程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)

要求: 1.要有联动性,老鼠和主人的行为是被动的。

2.考虑可扩展性,猫的叫声可能引起其他联动效应。

参考答案:

1. (1) 继承性、封装性、多态性。(考基本概念)

(2) IEnumerable 、GetEnumerator (对foreach机制的理解,本来不想出这题的,凑分)

(3) ... (送分题, 对https://www.wendangku.net/doc/908616941.html,的了解)

评分标准:一空1分,满分10分。

2. (1) B、C (考对接口的理解) (2) B、C、D (考查对https://www.wendangku.net/doc/908616941.html,的熟练程度)

评分标准: 一题5分,不选或者错选均不得分。漏选得2分。满分10分。

3. . private : 私有成员, 在类的内部才可以访问。

protected : 保护成员,该类内部和继承类中可以访问。

public : 公共成员,完全公开,没有访问限制。

internal: 在同一命名空间内可以访问。

评分标准:答对1题2分,2题5分,3题7分。全对10分。(送分题)

4. 解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)

评分标准:写对即10分。(答案不唯一,datagrid 分页可能需要用到)

5. 1.使用QueryString, 如....?id=1; response. Redirect()....

2.使用Session变量

3.使用Server.Transfer

....等等

评分标准:答对1点得3分,两点7分,3点10分。

6. (考查值引用和对象引用)

10

21

str

string being converted.

评分标准:答对一点得2分,满分10分。

7. A

B

A.Fun()

评分标准:写出A.B 得5分,写出A.Fun()得5分,满分10分。

(考查在继承类中构造函数, 以及new 方法, )

8. 2

5

1

6

评分标准:答对一点得2分,两点得5分,3点得7分。全对得10分。

(一些人做这题,头都晕了.... ^_^ )

9.

public class MainClass

{

public static void Main()

{

Console.WriteLine(Foo(30));

}

public static int Foo(int i)

{

if (i <= 0)

return0;

else if(i > 0 && i <= 2)

return1;

else return Foo(i -1) + Foo(i - 2);

}

}

评分标准:写出return Foo(i -1) + Foo(i - 2); 得5分。

写出if(i > 0 && i <= 2) return 1; 得5分。

方法参数过多需要扣分(扣除分数= 参数个数-1)

不用递归算法扣5分

(递归算法在树结构建立等方面比较常用)

10

要点:1. 联动效果,运行代码只要执行Cat.Cryed()方法。2. 对老鼠和主人进行抽象评分标准: <1>.构造出Cat、Mouse、Master三个类,并能使程序运行(2分)

<2>从Mouse和Master中提取抽象(5分)

<3>联动效应,只要执行Cat.Cryed()就可以使老鼠逃跑,主人惊醒。(3分)

public interface Observer

{

void Response(); //观察者的响应,如是老鼠见到猫的反映

}

public interface Subject

{

void AimAt(Observer obs); //针对哪些观察者,这里指猫的要扑捉的对象---老鼠 }

public class Mouse : Observer

{

private string name;

public Mouse(string name, Subject subj)

{

https://www.wendangku.net/doc/908616941.html, = name;

subj.AimAt(this);

}

public void Response()

{

Console.WriteLine(name + " attempt to escape!");

}

}

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 void 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();

}

}

//---------------------------------------------------------------------------------------------

设计方法二: 使用event -- 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 abstract 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) {

https://www.wendangku.net/doc/908616941.html, = name;

}

public override void Response()

{

Console.WriteLine(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();

}

}

面试:

1. C#中 property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里?

2. 讲一讲你理解的web service,在dot net framework中,怎么很好的结合xml?(讲概念就行了)(源码网教程下载,https://www.wendangku.net/doc/908616941.html,)

3. C#, Java 和 c++的特点,有什么相同的地方,不同的地方,C#分别从c++和java 中吸取了他们那些优点?

4. C#可否对内存进行直接的操作?(这可是个难点哦?要注意!)

5. 用Visual C++

6.0编写的代码(unmanaged code),如何在CLR下和其他dot net component结合?

6. 以前作过的一些项目?介绍一下自己的编程经验。(这是蒙混不过去的,基本一问就知道是真是假)

7. 你对公司有什么期望?你的薪水期望值?为什么学计算机?以前的工作经验(这非常重要)?

.net面试题.

1. 简要说一下.Net的编译过程. 答: NET平台中代码的物理单元是可移植可执行程序(protable executable,PE)格式,编译程序和库时,和平常一样生成EXE与DLL 文件,但在.NET框架下,任何可执行程序项目都链接到公共语言运行库,并由它代理编译和执行。 .NET中程序编译的最主要部分是汇编(assembly),汇编包括一个manifest,它是一组元数据,标识汇编向其他应用程序提供的文件和类型;manifest还可以包含强名称(strong name)、组合汇编名、版本信息和可选文化信息。在使用强名称的汇编中,元数据包含一个公用密钥签名,公共语言运行库用其验证汇编自编译之后是否发生改变。 汇编还可以包括数字签名,例如用验证码(authenticode certificate)验证代码源,以解决在公共语言运行库保证汇编签名的真实性问题。汇编分为专用汇编和共享汇编。专用汇编只在安装这个汇编的应用程序中使用,而共享汇编则安装在全局汇编缓冲区(global assembly cache,GAC)中,全局汇编缓冲区用汇编的引用计数和版本信息管理库,包括框架的基类库(base class library,BCL),并通过公共语言运行库避免因库的版本冲突而形成DLL Hell的情形。123 选择专用汇编和共享汇编是一个重要决策。将汇编安装到全局缓冲区后,就可以在多个应用程序中使用汇编的一个备份,但是还需要用Windows Installer之类的安装程序将应用程序安装到计算机上。如果使用专用汇编,则得到Microsoft所谓的"XCOPY部署",这样用户可以将应用程序复制到目标计算机上,方便地进行安装。 .NET程序编译过程如图1.2所示。 2. https://www.wendangku.net/doc/908616941.html,与ASP的区别

.NET开发人员面试题(含答案)

.NET开发人员试题(综合) 每题5分 1、用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 2、软件开发过程一般有几个阶段?每个阶段的作用? 3、请列举一些您用到过的设计模式以及在什么情况下使用该模式? 4、您对编程的兴趣如何?工作中遇到不懂的问题是怎样去解决的?您一般怎样去提高自己的编程水平? 5、您离职的原因是什么?

.NET开发人员试题(基础) 一、填空:每题2分 1.面向对象的语言具有继承性、封装性、多态性。 2. 能用foreach遍历访问的对象需要实现 IEnumerable _接口或声明 3.委托声明的关键字是delegate ? 4.在.Net托管代码中我们不用担心内存漏洞,这是因为有了gc __? 5.当类T只声明了私有实例构造函数时,则在T的程序文本外部,不可以(可以or 不可以)从T派生出新的类,不可以(可以or 不可以)直接创建T的任何实例。 二、单选:每题2分 6.在对SQL Server 数据库操作时应选用(A)。 a)SQL Server .NET Framework 数据提供程序; b)OLE DB .NET Framework 数据提供程序; c)ODBC .NET Framework 数据提供程序; d)Oracle .NET Framework数据提供程序; 7.以下描述错误的是(A) a)在C++中支持抽象类而在C#中不支持抽象类。 b)C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。 c)在C#中可使用new 修饰符显式隐藏从基类继承的成员。 d)在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。 8.C#的数据类型有(A) a)值类型和调用类型; b)值类型和引用类型; c)引用类型和关系类型; d)关系类型和调用类型; 9.下列描述错误的是(D) a)类不可以多重继承而接口可以; b)抽象类自身可以定义成员而接口不可以; c)抽象类和接口都不能被实例化; d)一个类可以有多个基类和多个基接口; 10.在DOM中,装载一个XML文档的方法(D) a)save方法b)load方法c)loadXML方法d)send方法

国内最全net面试题目

国内最全net面试题目

国内最全的.net面试题目-07-10 16:10 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.列举https://www.wendangku.net/doc/908616941.html,中的五个主要对象,并简单描述 connection,command,dataReader,trans,dataset . .. 9.执行下面代码后:

net面试题(程序员必看 附答案)

NET面试题一 想看答案往下翻 .NET技术题 1.类成员有几种可访问性? 2.用sealed修饰的类有什么特点 3.执行下面代码后: String strTemp ="abcdefg 某某某"; Int i System.Text.Encoding.Default.GetBytes(strTemp).Length; Int j = strTemp.Length; 1.问:i,j分别为多少并说明理由 4.概述三层结构体系? https://www.wendangku.net/doc/908616941.html,中读写XML的类都归属于哪些命名空间? 6.a=10,b=15,在不用第三方变量的前提下,把a,b的值互换? 7.对数据的并发采用什么办法进行处理较好。 8.override与重载的区别? 9.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您 有几种方法进行处理? 10.什么叫应用程序域 11.CTS、CLS、CLR分别作何解释 12.什么是装箱和拆箱 13.什么是Code-Behind技术 14.GC是什么? 为什么要有GC 15.接口是否可继承接口? 抽像类是否可实现(implements)接口? 抽像类是否可继承实体类(concrete class)? 16.数组有没有length()这个方法? String有没有length()这个方法? 17.堆和栈的区别? 18.请指出GAC的含义 19.DataReader与Dataset有什么区别 20.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义? 21.C/S结构模式与B/S结构模式的主要区别是什么 22.C#中的数组类型有何特点? 23.ASP。NET与ASP相比,主要有哪些进步? 24.结构和类的区别是什么? 25.&和&&的区别 26.<%#%>和<%%>有什么区别? 27.在https://www.wendangku.net/doc/908616941.html,中,下列代码运行后的输出结果是? DataTable dt = new DataTable(); dt.Columns.Add(“编号“,typeof(System.Int16)); dt.Columns.Add(“成绩“,typeof(System.Int16)); for(int i=1; i<=3;i++){ dataRow dr = dt.NewRow(); dr[0]=i;

DoNet面试题(选择题)

1.下面有关用户控件与aspx页面区别说法错误的是(B) A.用户控件不能再包含

标记,而aspx页面可以包含 B.用户控件不能触发服务器端的事件,只是一种外观重用方式,而aspx页面可以 C.用户控件继承自https://www.wendangku.net/doc/908616941.html,erControl,而aspx页面继承自System.Web.UI.Page D.用户控件可以包含其它用户控件,但是不能直接访问,必须包含在某个aspx页面中才可以访问,而aspx 页面是可以直接访问的 2.想在在aspx页面使用用户控件,则aspx页面开始部分必须添加下面哪个页面指令A A. <%@ Page %> B.<%@ Master %> C. <%@ Control %> D. <%@ Register %> 3.根据你的理解,你认为第三控件与用户控件的主要区别是A A.第三方控件是编译后的代码,后缀为dll,只要应用程序引用进来,就可以使用,而用户控件是页面文件,属于非编译代码,只限于在当前应用程序中使用 B.用户控件比第三方控件更灵活,可以在应用程序中多个地方使用 C.用户控件出现在工具箱中,而第三方控件不会出现在工具箱中 D.用户控件比第三方控件的执行效率要高一些 4.下面关于HttpHandler与HttpModule说法正确的是C A.一个Http请求中可以经历多个HttpModule和一个HttpHandler B.一个Http请求中可以经历多个HttpHandler和一个HttpModule C.HttpModule是一个Http请求的最终处理者 D.HttpHandler通常做一些停止数据向客户端输出的操作 5.在aSPNET中,关于HttpHandler说法不正确的是:(D) A.通常文件后缀名为ashx B.它是一个Http请求处理的最终点 C.它实现了IHttpHandler D.当它的IsReusable属性为false时,表示只能使用一次 6.下面哪个选项不能在web.config文件中配置的(C) A.连接字符串 B.身份验证 C.网站导航 D.程序出现错误时,定向到的错误提示页面 7.aSPNET支持三种验证方式,不属于其中的是(B) A.passport B.SqlServer身份 C.Windows

.Net程序员面试题大全

1. 简述 private、 protected、 public、 internal 修饰符的访问权限。 答 . private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 在同一命名空间内可以访问。 2 .列举https://www.wendangku.net/doc/908616941.html, 页面之间传递值的几种方式。 答. 1.使用QueryString, 如....?id=1; response. Redirect().... 2.使用Session变量 3.使用Server.Transfer 3. 一列数的规则如下: 1、1、2、3、5、8、13、21、3 4...... 求第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 是进行基类中函数的重写。为了适应需要。 6.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理? 答: this.Server.Transfer

ASPNET面试题

https://www.wendangku.net/doc/908616941.html,面试题 1.举https://www.wendangku.net/doc/908616941.html, 页面之间传递值的几种方式。(优缺点) 1.URL传值:只能传递少量数据(256KB),安全性低xxx.aspx?id=1&name= /kongzhiqi/action?key=value 2.Session传值:占用服务器内存,一些情况下session会丢失20分钟 3.Application传值:占用服务器内存,所有用户共享 4.Cookie传值:存储在客户端,但是安全性低. 5.ViewState传值:不能跨多个页面传递值 MVC里面使用ViewData 2.什么是Code-Behind技术?代码后植技术 答:就是代码的编写和页面的设计分开,提供一个清晰的设计编写模式,同时也能实现页面的设计与后台代码的编写同步进行。 3.请解释ASP。NET中的web页面与其隐藏类之间的关系?继承关系。页面继承到。 Cs类 一个https://www.wendangku.net/doc/908616941.html,页面一般都对应一个隐藏类,一般都在https://www.wendangku.net/doc/908616941.html,页面的声明中指定了隐藏类例。在编译时Web页面中服务器控件代码会和隐藏类合并为一个类,但是页面中的<% %>和<%= %>中的代码会单独编译为一个类,并继承页面类 后台的。Cs文件是.aspx页面的父类 4.常用的调用WebService的方法有哪些? 答:1、在https://www.wendangku.net/doc/908616941.html,中,使用添加web引用菜单选项 2、在非.Net环境中,利用XMLHttpRequest对象发送和接收数据 5.Session有什么重大BUG,微软提出了什么方法加以解决? 1)session保存到特定的数据库里面 2)Sessin保存到服务器里面iis 3)Session保存到cookie里面 答:是iis中由于有进程回收机制,系统繁忙的话Session会丢失,还有服务器端的文件发生更改时(例如配置文件)也会导致Session丢失 可以用Sate server或SQL Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件 https://www.wendangku.net/doc/908616941.html,与ASP相比,主要有哪些进步? Asp开发模式是解释型的,里面只有5个内置对象,server,request,response,session,aaplication,缺点无法编译,代码冗余,没办法封装,无法调试. 答:asp解释型,aspx编译型,性能提高,有利于保护源码。 在https://www.wendangku.net/doc/908616941.html,中页面部分和代码是分开的 Asp是直接浏览器去解释页面的代码,不能封装,不能调试。 https://www.wendangku.net/doc/908616941.html, 是先编译在解释的技术,可以封装,能够调试,扩展性能好。 7.请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。 答:session(viewstate) 简单,但易丢失 application 全局 cookie 简单,但可能不支持,可能被伪造 input ttype="hidden" 简单,可能被伪造 url参数简单,显示于地址栏,长度有限

.NET面试过程详解(个人的亲身面试经历)

.NET面试过程详解(个人的亲身面试经历) 开门见山,我就先介绍下我的工作吧: 本人就职于某国企石油公司,两年多的.net开发,但是实际开发项目只有一年时间,剩下的一年多的时间一直处于项目的运维阶段,就是改bug,改需求。至于为啥离职?无外乎就是待遇,要么就是干的不爽了,再者就是接触的技术层面和学习发展的机会小之又小。 接下来我们就一起具体聊一下我的面试情况吧: 我声明一下,我在智联招聘只投递了三家公司的简历,只有两家公司给我打电话邀请面试,其次还有三家邀请面试的公司我没有投递简历,他们是在智联招聘人才库里面找到的我,进行了简历筛选之后给我打的电话。总共面试五家公司,四家公司属于外包。我将五家公司安排在了一天半的时间进行面试,因为我还没有办离职手续。所以时间对我来说很紧张。 面试一: 2017年5月11日,下午两点,面试的是在五道口清华大学的一家公司,是外包公司。去了之后没有做笔试题,业务总经理亲自面试,问了很多关于自己以前做过的项目的技术和遇到问题时候的解决方案。聊了半个来小时左右,双方感觉还算满意。但是唯一的是他们现在招聘的是c/s程序的开发,wifrom程序运维。而我的回答是更倾向于b/s

开发,也许就是我的最后这句话的回答,导致了之前谈的一切都是白谈了吧,我看到她笑了一笑。然后就没有然后了...... 面试二: 2017年5月11日,下午四点,面试的是一家位于朝阳门的公司,也是外包公司,不过他的外包是北京地铁相关系统的开发及运维。说到这个公司,我都想骂人了,去了之后跟我说是公司主要倾向于c++\c 语言的开发,也有c#。然后给了我一套笔试题,上面都是c++的题。我还没看一分钟,项目经理过来了,问我做的怎么样了,我说还没有开始做呢,他就直接说先面试吧,自我介绍还没两句话,就打断了我。说我的应聘岗位是.net开发,他们现在招聘的是c++开发。顿时无语啊,还说我的期望工资他们也给不了,最高7.5k。这不是应届生的工资标准码?这是在逗我吗?说完就走人了。 面试三: 2017年5月12日,上午十点,面试的是一家位于北沙滩的外包公司,国企性质。首先笔试题是必不可少的,拿到笔试题后,看着都挺简单的,比如面向对象三大特性、委托、反射、值类型和引用类型、using 语句的用法、overried和overload的区别,然后就是编程题、数据库查询语句、聚合函数、order by排序等一些比较基础的问题,一套题半个小时左右的时间就搞定了。千万别以为笔试题答得很好,面试就不会问技术问题了,恰恰相反,反而问的技术问题都是你在项目开发过程

谈谈.Net技术面试

1、引子 最近一直在负责.net(B/S方向)技术面试相关的工作,前前后后面试了不少人,但是通过率较低,大概只有20%左右;有颇多感慨。 最近也一直比较困惑,原因究竟是什么? 是我们要求太高,应聘者本身的问题,还是是面试的内容本身的问题? 2、我们的岗位要求 这是之前项目组整理的一个简单的岗位(.Net中高级职位)要求,贴一下:必须技能: ?有2~3年实际的项目经验(特别说明:工作经验不一定要进入实际的公司才能积累的) ?思路比较清晰,有较强的独立解决问题的能力 ?熟悉b/s开发的各项基本知识(如css、javascript、html、https://www.wendangku.net/doc/908616941.html,),不要求全会,但至少能看懂别人写的东西,另外各项里面必须有一项较为突出; ?对.net框架比较熟悉,熟悉多层模型,编码能力较强,编码规范,打字速度不能太慢(特别说明:这应该属于最最基本的技能,但是很让人不解的是面试过 程中有不少的应聘者竟然尖着个手指头在那儿慢慢敲字!!!) ?数据库知识比较扎实 优先考虑: ?对web报表比较熟悉者 ?有过多种数据库开发经验,能够罗列出各种数据库之间的一些细微差别 ?有过一些c/s开发经验者 ?前端开发经验比较丰富者(如实际负责过ExtJS、JQuery、Dojo、YUI、AjaxPro 相关工作的) 3、使用的面试问题 面试过程中针对上面的岗位要求主要会涉及到以下几项内容 1)给10分钟左右的时间,做一个详细的自我介绍 2)C#、https://www.wendangku.net/doc/908616941.html,、前端、数据库等基础知识 一般会问到以下一些问题 ?a) 下面三句代码有没有错,以inboxing或者unboxing为例,解释一下内存是怎么变化的 ?int i=10; object obj = i; int j = obj;

.net笔试题选择题集

1. 以下叙述正确的是: B C A. 接口中可以有虚方法。 B. 一个类可以实现多个接口。 C. 接口不能被实例化。 D. 接口中可以包含已实现的方法。 2. 从数据库读取记录,你可能用到的方法有:B C D A. ExecuteNonQuery B. ExecuteScalar C. Fill D. ExecuteReader 3.对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序定义的任务?(多 选) ( ABC ) A.Close B.Dispose C.Finalize https://www.wendangku.net/doc/908616941.html,ing E.Quit 4.以下关于ref和out的描述哪些项是正确的?(多选) ( ACD ) A.使用ref参数,传递到ref参数的参数必须最先初始化。 B.使用out参数,传递到out参数的参数必须最先初始化。 C.使用ref参数,必须将参数作为ref参数显式传递到方法。 D.使用out参数,必须将参数作为out参数显式传递到方法。 5.在对SQL Server 数据库操作时应选用(A)。 a)SQL Server .NET Framework 数据提供程序; b)OLE DB .NET Framework 数据提供程序; c)ODBC .NET Framework 数据提供程序; d)Oracle .NET Framework数据提供程序; 6.下列选项中,(C)是引用类型。 a)enum类型 b)struct类型 c)string类型 d)int类型 7.关于https://www.wendangku.net/doc/908616941.html,中的代码隐藏文件的描述正确的是(C) a)Web窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。编程逻辑唯一与用户界面不同的文件中。该文件称作为“代码隐藏”文件,如果用C #创建,该文件将具有“.ascx.cs”扩展名。 b)项目中所有Web窗体页的代码隐藏文件都被编译成.EXE文件。 c)项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件。 d)以上都不正确。 8.以下描述错误的是(A) a)在C++中支持抽象类而在C#中不支持抽象类。 b)C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。 c)在C#中可使用 new 修饰符显式隐藏从基类继承的成员。 d)在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。 9.C#的数据类型有(A) a)值类型和调用类型; b)值类型和引用类型;c)引用类型和关系类型;d)关系类型和调用类型; 10.下列描述错误的是(D) a)类不可以多重继承而接口可以; b)抽象类自身可以定义成员而接口不可以; c)抽象类和接口都不能被实例化; d)一个类可以有多个基类和多个基接口;

Net软件工程师面试题精编版

N e t软件工程师面试题公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-

一.填空题(每空1分,共12分) 1面向对象的语言具有__封装______性、__继承_______性、__多态______性。2能用foreach遍历访问的对象需要实现____Ienumerable____________接口或声明_____GetEnumerator___________方法的类型。 3当类T只声明了私有实例构造函数时,则在T的程序文本外部,___不可以___(可以or不可以)从T派生出新的类,在T的内部__可以__(可以or不可以)直接创建T的任何实例,在T的外部__不可以__(可以or不可以)直接创建T 的任何实例。 4.委托声明的关键字是__Delegate____ 5.override与重载的区别:override覆盖是基类中函数的重写。重载:方法或函数的名称相同,参数或许参数类型不同,进行多次重载实现功能。 二.不定项选择(每题2分,共18) Question 1 以下叙述正确的是: A.接口中可以有虚方法。 B.一个类可以实现多个接口。 C.接口不能被实例化。 D.接口中可以包含已实现的方法。 Question 2 以下描述错误的是() 1.在C++中支持抽象类而在C#中不支持抽象类。 2. C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。

3.在C#中可使用new修饰符显式隐藏从基类继承的成员。 4.在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。Question 3 声明一个委托public delegate int myCallBack(int x);则用该委托产生的回调方法的原型应该是 1. void myCallBack(int x) 2. int receive(int num) 3. string receive(int x) 4.不确定的 Question 4 下列描述错误的是() a)类不可以多重继承而接口可以; b)抽象类自身可以定义成员而接口不可以; c)抽象类和接口都不能被实例化; d)一个类可以有多个基类和多个基接口; Question 5 下列关于构造函数的描述正确的是() a)构造函数可以声明返回类型。 b)构造函数不可以用private修饰 c)构造函数必须与类名相同 d)构造函数不能带参数 Question 6

.net高级工程师面试题

.net软件工程师面试题 基础题: 1.简述string[]、ArrayList、List的区别。 数组: 优点: o数组在内存中是连续存储的,索引速度非常快; o赋值和修改元素也很简单; 不足: o两个数据之间插入数据比较麻烦; o声明数组的时候,必须指明数组的长度,数组长度过长会造成内存浪费,数组的长度过短,会造成数据溢出错误。 ArrayList: 优点: https://www.wendangku.net/doc/908616941.html, framework 提供的用于数据存储和检索的专用类 o大小依据存储的数据来动态扩展和收缩 o继承IList,可以方便的进行数据的添加、插入和删除 缺点: o允许插入不同类型的数据,都当做object类型处理 o数据处理时可能出现类型不匹配的错误

o存在装箱(值=》引用)拆箱的操作,会带来很大的性能损耗 List: 优点: o声明List集合时,需要声明集合内数据的对象类型 o避免了类型安全问题和装箱拆箱的性能问题 2.简述装箱和拆箱操作中的性能损耗是如何产生的。 3.简述对https://www.wendangku.net/doc/908616941.html,中的事件机制的理解。 4.在一个https://www.wendangku.net/doc/908616941.html,的三层结构系统中,以登录操作为例,简述在各层中如何组织代码。 5.简述相比DATASET,实体类在WEB项目中的优点与缺点。 6.简述GC是如何工作的。 Java采用VM(Virtual Machine)机制,由VM来管理程序的运行当然也包括对GC管理。90年代末期.NET出现了,.NET采用了和Java类似的方法由CLR(Common Language Runtime)来管理。 Garbage Collector(垃圾收集器,在不至于混淆的情况下也成为GC)以应用程序的root 为基础,遍历应用程序在Heap上动态分配的所有对象[2],通过识别它们是否被引用来确定哪些对象是已经死亡的、哪些仍需要被使用。已经不再被应用程序的root或者别的对象所引用的对象就是已经死亡的对象,即所谓的垃圾,需要被回收。这就是GC工作的原理。为了实现这个原理,GC有多种算法。比较常见的算法有Reference Counting,Mark Sweep,Copy Collection等等。目前主流的虚拟系统.NET CLR,Java VM和Rotor都是采用的Mark Sweep算法。

面试真题及答案最新.net面试题

面试真题 面试范本.net 理论知识 什么是面向对象 面向对象OO = 面向对象的分析OOA + 面向对象的设计OOD + 面向对象的编程OOP; 通俗的解释就是万物皆对象,把所有的事物都看作一个个可以独立的对象(单元),它们可以自己完成自己的功能,而不是像C那样分成一个个函数; 现在纯正的OO语言主要是java和C#,C++也支持OO,C是面向过程的。 阐述面向接口、面向对象、面向方面编程的区别 面向对象不好解释,可以理解为以一切元素都是对象,在设计时以对象为单位,考虑它的属性及方法。设计中采用了封装、继承、抽象的手法 面向接口本身就是面向对象的,无所谓区别,只不过面向接口的好处是耦合性低 面向方面Aspect-Oriented Programming (AOP)就是大名鼎鼎的AOP。其实有点象struts里的拦截。 举例:假设有在一个应用系统中,有一个共享的数据必须被并发同时访问,首先,将这个数据封装在数据对象中,称为Data Class,同时,将有多个访问类,专门用于在同一时刻访问这同一个数据对象。 为了完成上述并发访问同一资源的功能,需要引入锁Lock的概念,也就是说,某个时刻,当有一个访问类访问这个数据对象时,这个数据对象必须上锁Locked,用完后就立即解锁unLocked,再供其它访问类访问。 面向对象的思想主要包括什么? 继承:子类拥有父类的所有数据和操作。 封装:用抽象的数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型内。 多态:一个程序中同名的不同方法共存的情况。有两种形式的多态–重载与重写。 抽象类是否可以继承实体类? 抽象类可以继承实体类,但是有个条件,条件是,实体类必须要有明确的构造函数。 当类T只声明了私有实例构造函数时,则在T的程序文本外部,是否可以从T派生出新的类,是否可以直接创建T的任何实例。 不可以,不可以 C#中有没有静态构造函数,如果有是做什么用的? 有. 静态构造函数用于初始化类。在创建第一个实例或引用任何静态成员之前,将自动

NET软件工程师48个面试题目

NET软件工程师48个面试题目

.NET软件工程师48个面试题目 一.填空题 1.面向对象的语言具有(继承)性、(多态)性、(封装)性。 2.能用foreach遍历访问的对象需要实现(IEnumberable)接口或声明(GetEnumberator)方法的类型。 3.列举https://www.wendangku.net/doc/908616941.html,中的五个主要对象(Command)、(Connection)、(DataReader)、(DataSet)、(DataAdapter)。 4.C#中的三元运算符是__(?:)__ 5.当整数a赋值给一个object对象时,整数a将会被__(装箱)___ 6.类成员有__(3)__种可访问形式 7.float f=-123.567F;int i=(int)f;i的值现在是_(-123)__

8.委托声明的关键字是___(delegate)_ 9.在https://www.wendangku.net/doc/908616941.html,中所有的自定义用户控件都必须继承自_ (https://www.wendangku.net/doc/908616941.html,erControl) __ 10.在.Net中所有可序列化的类都被标记为__[serializable]___ 11.在.Net托管代码中我们不用担心内存漏洞,这是因为有了_ GC __ 12.当类T只声明了私有实例构造函数时,则在T的程序文本外部,_不能够_(能够or 不能够)从T派生出新的类,_不能够_(能够or 不能够)直接创立T的任何实例。 二.选择题 1.以下叙述正确的是:BC A. 接口中能够有虚方法。 B. 一个类能够实现多个接口。 C. 接口不能被实例化。 D. 接口中能够包含已实现的方法。

2.从数据库读取记录,你可能用到的方法有:BCD A. ExecuteNonQuery B. ExecuteScalar C. Fill D. ExecuteReader 3.对于一个实现了IDisposable接口的类,以下哪些项能够执行与释放或重置非托管资 相关的应用程序定义的任务?(多 选) ( ABC ) A.Close B.Dispose C.Finalize D. using E.Quit 4.以下关于ref和out的描述哪些项是正确的?(多选) ( ACD ) A.使用ref参数,传递到ref参数的参数必须最先初始化。 B.使用out参数,传递到out参数的参数必须最先初始化。 C.使用ref参数,必须将参数作为ref参数显式传递到方法。

.net软件工程师面试题

.net软件工程师面试题 3 .软件测试方法分为()()。 4 . .NET通过对各语言先编译成(),然后再执行时用()将其编译成本地平台代码,来实现异构平台下对象的互操作 5 .在SQL SERVER中游标的声明的语句是()释放的语句是()。 6 . SQL SERVER的编程语言是()语言 7 .委托声明的关键字是()。 8 .在MS SQL Server中,用来显示数据库信息的系统存储过程是()9. SQL语言中,用于事务回滚的语句是()。10 .如果两个实体之间具有M : N联系,则将它们转换为关系模型的结果是()个表。11 . Codebehind 主要是通过把()和()放在不同的文件中来实现代码分离的。12 .在C#中由值类型转换为引用类型称为(),有引用类型转换为值类型称为()13 . SQL SERVER 中索引类型包括的三种类型分别是()()()。14 .软件工程的三大文档()()()。15.在SQL SERVER2000 中的四中约束()()() ()。二.简答题1.什么是中间语言(IL) ?它的作用? 2 . C#中与 基类通信的关键字什么?作用是什么? 3 .什么是元数据?4. ASP。NET和ASP的主要优势?5. Override与重载有什么区别?6 . SQL SERVER中的触发器的理解?7. ref与out有什么区别?8 .大概描述下ASP。NET中服务器控件的生命周期?9 .什么是强类型系统? 10 .触发器分为事前触发和事后触发,有何区别?11 .谈谈final, fin ally, fin alize 的区别。12 .在.n et (C# or https://www.wendangku.net/doc/908616941.html, )中,

https://www.wendangku.net/doc/908616941.html,和数据库方面的一套笔试题

https://www.wendangku.net/doc/908616941.html,和数据库方面的一套笔试题 1.面向对象的思想主要包括什么? 2.什么是https://www.wendangku.net/doc/908616941.html,中的用户控件 3.列举一下你所了解的XML技术及其应用 4.值类型和引用类型的区别?写出C#的样例代码。 https://www.wendangku.net/doc/908616941.html,中常用的对象有哪些?分别描述一下。 6.C#中的接口和类有什么异同。 7.。net中读写数据库需要用到 答:https://www.wendangku.net/doc/908616941.html,摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++ , VB , JS等等,当然,最合适的编程语言还是MS为.Net Frmaework专门推出的C(读c sharp),它可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上 1.https://www.wendangku.net/doc/908616941.html, 可以在哪些系统下运行2.Aspx文件可以用一种以上的语言吗?3.https://www.wendangku.net/doc/908616941.html,可以有多个Form吗?4.Dataset和ADO的记录集有什么区别有什么特点,有什么不足之处5. ADO和https://www.wendangku.net/doc/908616941.html, 有什么不同?https://www.wendangku.net/doc/908616941.html, 是ADO的后续版本吗? 6. Dataset,Datatable,Datar 一、什么是SQL注入式攻击?所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的

输入参数,这类表单特 https://www.wendangku.net/doc/908616941.html,的脚本是雨HTML分离的,代码被编译成了DLL, DLL 可以在server端执行。ASP的脚本是与HTML在一起的,每次都会进行解释执行。 WEB控件分为:内部控件, 列表控件, 复杂控件, 验证控件内部控件–内部控件的使用方法与HTML 控件相同,它们映射到HTML 元素并通过使用runat = “server”属性在服务器上执行列表控件–用于在Web 页中创建数据列表复杂控件–?当希望控件拥有复杂的功能

《C#与.NET程序员面试宝典》

C#/.NET常见面试题 题目虽然有点多,但是都是最常见的面试题。如果大家准备参加相关的面试,最好看看。尤其最后的几十个跨国公司面试题。现在国内很多企业都开始学习这套方式,来为难大家。有准备,就容易成功。 即使大家今年不打算找工作,也可以作为一个水平考察,看看自己到底可以应对多少。 面试题1 介绍https://www.wendangku.net/doc/908616941.html, 答:https://www.wendangku.net/doc/908616941.html,是建立在通用语言运行库的程序架构,通过https://www.wendangku.net/doc/908616941.html,可以开发出非常强大的Web应用程序。 面试题2 介绍https://www.wendangku.net/doc/908616941.html,和ASP的区别 答:1、https://www.wendangku.net/doc/908616941.html,支持预编译。 2、https://www.wendangku.net/doc/908616941.html,拥用更为强大的https://www.wendangku.net/doc/908616941.html,、身份认证体系、众多服务器控件、支持自定义控件编写。 3、https://www.wendangku.net/doc/908616941.html,拥有事件驱动的控件。 面试题3 说明https://www.wendangku.net/doc/908616941.html,的Application特性 答:Application对象用于记录不同用户访问网站留下的信息,如:可以用来当前访问网页的IP数,在服务运行期间都能持久的保存数据。Application支持启动和结束等事件。 面试题4 简述https://www.wendangku.net/doc/908616941.html,的页面运行机制 答:1、IIS接到客户请求。 2、IIS把请求交给aspnet_ispai.dll进行处理。 3、(第一次运行)装载Bin目录下的dll。 4、(第一次运行)读取Web.config配置。 5、(第一次运行)初始化HttpApplication实例 6、创建HttpContext,创建HttpTextWrite。 7、找到对应的HttpHandler(.aspx页面),处理http请求 8、处理Session。 9、返回结果结客户。 面试题5 简述https://www.wendangku.net/doc/908616941.html,一个页面的生命周期 答:客户端请求页面 预初始化(OnPreInit) 初始化(OnInit) 完成初始化(OnInitComplete) 载入ViewState(LoadViewState) 处理回送数据(IPostBackDataHandler) Page_OnPreLoad—》Page_OnLoad 回发更改通知(RaisePostDataChangedEvent) 处理回发事件(RaisePostBackEvent) Page_OnLoadComplete 预呈现(OnPreRender) 完成预呈现(OnPreRenderComplete) 保存ControlState(SaveControlState) 保存ViewState(SaveViewState) 呈现(Render) Page_UnLoad。 面试题6 C#中的托管代码是什么

.NET-初中高级开发人员面试题Word版

初级.NET开发人员- 任何使用.NET的人都应知道的 1. 描述线程与进程的区别? 进程是系统所有资源分配时候的一个基本单位,拥有一个完整的虚拟空间地址,并不依赖线程而独立存在。进程可以定义程序的一个实例,但它只是占据应用程序所使用的地址空间。为了让进程完成一定的工作,进程必须至少占有一个线程,这个线程即为主线程,默认程序的工作都在这个主线程中完成,可以通过程序创建多个线程,使多个线程可以同时运行(多CPU支持下),这就是多线程技术。 线程(Thread)与进程(Process)二者都定义了某种边界,不同的是进程定义的是应用程序与应用程序之间的边界,不同的进程之间不能共享代码和数据空间,而线程定义的是代码执行堆栈和执行上下文的边界。同一进程中的不同线程共享代码和数据空间。 2. 什么是Windows服务,它的生命周期与标准的EXE程序有什么不同? Windows服务是运行在windows后台指定用户下(默认System)的应用程序,它没有标准的UI界面,相比标准的EXE程序,Windows服务是在服务开始的时候创建,而在服务结束的时候销毁,而且可以设置服务是否与操作系统一起启动,一起关闭。它支持三种方式:1)自动方式2)手动方式3)禁用。自动方式下,Windows服务控制器将指导OS启动后自动启动服务并运行,而手动方式则必须手工启动服务,禁用的情况下服务将不能被启动。另外标准的EXE默认使用的当前登录的用户,而Windows服务则默认使用System用户,这在对系统资 源访问的时候特别需要注意。 3. Windows上的单个进程所能访问的最大内存量是多少?它与系统的最大虚拟内存一样吗?这对于系统设计有什么影响? 这个需要针对硬件平台,公式为单个进程能访问的最大内存量=2的处理器位数次方/2,比 如通常情况下,32位处理器下,单个进程所能访问的最大内存量为:232/2 = 2G。单个进程 能访问的最大内存量是最大虚拟内存的1/2,因为要分配给操作系统一半虚拟内存。 4. EXE和DLL之间的区间是什么? EXE文件有一个入口点,比如说Main()函数,这样CLR可以由此处执行这个EXE文件,而DLL不包含这样一个入口点所以不是可执行的。DLL文件主要包含一些程序集供其它函数调用。 5. 什么是强类型,什么是弱类型?哪种更好些?为什么? 强类型是在编译的时候就确定类型的数据,在执行时类型不能更改,而弱类型在执行的时候才会确定类型。没有好不好,二者各有好处,强类型安全,因为它事先已经确定好了,而且效率高。一般用于编译型编程语言,如C#、Java与C++等,弱类型相比而言不安全,在运 行的时候容易出现错误,但它灵活,多用于解释型编程语言,如Javascript,VB等。 6. PID是什么?在做系统的故障排除时如何使用它? PID是进程编号,在系统发现故障的时候,可以根据它寻找故障所发生的具体进程。可通过Visual Studio将故障进程附加到进程中进行调试。 7. 单个TCP/IP端口上能够被多少个进程侦听? 1个 8. 什么是GAC?它解决了什么问题? GAC是Global Assembly Cache,全局程序集缓存的简称。它解决了几个程序共享某一个程序集的问题。不必再将那个被共享的程序集拷贝到应用程序目录了,.NET应用程序在加载

33条C#、.Net经典面试题目及答案

33条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,效率可以高于Hashtable。

相关文档