当前位置:文档之家› .net面试题 总结

.net面试题 总结

.net面试题 总结
.net面试题 总结

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.doczj.com/doc/958745229.html,中的五个主要对象,并简单描述

connection,command,dataReader,trans,dataset ...

9.Server.Transfer,Response.Redirect的区别

过Server.Transfer 引导到另一页面保留服务器资源,通过更改服务器端“焦点”和传输请求来代替告诉浏览器重定向,这就意味着你不会占用较多的HTTP 请求,因此这可以减轻服务器的压力,使你的服务器运行更快。

不过,请注意,由于"transfer" 只能在同一服务器端的同一站点间运行,所以你不能用Server.Transfer 将用户重定向到另一服务器上的站点。要重定向到服务器以外的站点,只有Response.Redirect 能办到。

其次,Server.Transfer 保留浏览器端的URL 地址。这对流线型的数据输入很有帮助,不过这也增加了调试的复杂度。

还有:Server.Transfer 方法还有另一个参数——"preserveForm"。如果你设置这个参数为True,比如:Server.Transfer("WebForm2.aspx", True), 那么query string 和任何form 变量都会同时传递到你定位的页面。

1.Server.Transfer只能够转跳到本地虚拟目录指定的页面,而Response.Redirect则十分灵活;

2. Server.Transfer可以将页面参数方便传递到指定页面;

3. 使用时,Server.Transfer跳到别的页面后,浏览器显示的地址不会改变,有时反而会造成误会,当然也有些场合需要这样的效果;

4. Server.Transfer可以减少客户端对服务器的请求;

System.array.copyTo()和System.array.Clone()的区别

copyTo ()的方法是一个浅拷贝的过程;clone()的方法是一个深拷贝的过程;

copyTo ()它的过程是引用的过程,就相当于

string[] a= new string[]{ "7","1","3","4"};

string[] b;

b = a.copyto();

就相当于b = a;这种情况a和b引用都是相同内存地址;

而clone()就相当于

string[] a= new string[]{ "7","1","3","4"};

string[] b;

string[] c = a.copyto();

b = c;

这种情况a和b引用都是不同内存地址;

10.C#中,string str2= null 与string str1 ="",请尽量用文字说明区别。(要点:说明详细的内存空间分配)

string str ="" 分配空间

string str =""初始化对象分配空间

而string str=null初始化对象

更详细的解释

这样定义后,str1是一个空字符串,空字符串是一个特殊的字符串,只不过这个字符串的值为空,在内存中是有准确的指向的。string str2=null,这样定义后,只是定义了一个string 类的引用,str2并没有指向任何地方,在使用前如果不实例化的话,将报错。

11.详述.NET里class和strUCt的异同!

class:放在? struct放在?

struct值传递

类与结构有很多相似之处:结构可以实现接口,并且可以具有与类相同的成员类型。然而,结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承。结构的值存储在“在堆栈上”或“内联”。细心的程序员有时可以通过聪明地使用结构来增强性能。

12.概述.NET里对remoting 和webservice 两项技术的理解和实际中的应用。

远程逻辑调用,remoing接口只能用在.net中

其实现的原理并没有本质的区别,在应用开发层面上有以下区别:

1、Remoting可以灵活的定义其所基于的协议,如果定义为HTTP,则与Web Service就没有什么区别了,一般都喜欢定义为TCP,这样比Web Service稍为高效一些

2、Remoting不是标准,而Web Service是标准;

3、Remoting一般需要通过一个WinForm或是Windows服务进行启动,而Web Service则需要IIS进行启动。

4、在https://www.doczj.com/doc/958745229.html,开发环境中,专门对Web Service的调用进行了封装,用起来比Remoting方便

我建议还是采用Web Service好些,对于开发来说更容易控制

Remoting一般用在C/S的系统中,Web Service是用在B/S系统中

后者还是各语言的通用接口

相同之处就是都基于XML

13.什么是code-behind技术

ASPX,RESX和CS三个后缀的文件,这个就是代码分离.实现了HTML代码和服务器代码分离.方便代码编写和整理.

14.概述三层结构体系

web/business/dataAccess

https://www.doczj.com/doc/958745229.html,如何实现MVC模式,举例说明!

web/business/dataaccess

1.面向对象的思想主要包括什么?

答:继承多态封装

● 封装:用抽象的数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型内部。

● 继承:子类拥有父类的所有数据和操作。

● 多态:一个程序中同名的不同方法共存的情况。有两种形式的多态–重载与重写。

2.什么是https://www.doczj.com/doc/958745229.html,中的用户控件

答:用户控件就是.ascx扩展名的东西喽,可以拖到不同的页面中调用,以节省代码.比如登陆可能在多个页面上有,就可以做成用户控件,但是有一个问题就是用户控件拖到不同级别的目录下后里面的图片等的相对路径会变得不准确,需要自已写方法调整.

3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?

答:1)应用程序域可以理解为一种轻量级进程。起到安全的作用。占用资源小。

2) unsafe:非托管代码。不经过CLR运行。

3) RTTI:类型识别系统。

4) 从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱。

5) 重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要

6) CTS:公共类型系统。CLS:通用语言规范。CLR:公共语言运行库。

5.值类型和引用类型的区别?写出C#的样例代码。

答:结构是值类型,类是引用类型,所以传结构就是值类型的应用啦,传对象或类就是引用类型的,这个不用多写了吧.

https://www.doczj.com/doc/958745229.html,中常用的对象有哪些?分别描述一下。

答:connection command sqladapter dataset datatable dataview等等.写不完了. Connection 数据库连接对像Command 数据库命令DataReader 数据读取器

DataSet 数据集

7.如何理解委托?

答:据说相当于函数指针,定义了委托就可以在不调用原方法名称的情况下调用那个方法. msdn2005中是这样解释的:

委托具有以下特点:

委托类似于C++ 函数指针,但它是类型安全的。

委托允许将方法作为参数进行传递。

委托可用于定义回调方法。

委托可以链接在一起;例如,可以对一个事件调用多个方法。

方法不需要与委托签名精确匹配。有关更多信息,请参见协变和逆变。

C# 2.0 版引入了匿名方法的概念,此类方法允许将代码块作为参数传递,以代替单独定义的方法。

8.C#中的接口和类有什么异同。

答:抽象类是一个不完全的类,类里面有抽象的方法,属性,也可以有具体的方法和属性,需要进一步的专业化。Interface abstract

但接口是一个行为的规范,里面的所有东西都是抽象的!一个类只可以继承一个基类也就是父类,但可以实现多个接口,抽象类是单一继承,接口可以多继承,

9.。net中读写数据库需要用到哪些类?他们的作用

答:1、DataSet 用来无连接的储存多个表的数据,并包含表与表之间的关联关系

2、DataT able 用来存储一个表的数据

3、SqlConnection 用来创建一个到数据库的连接

4、SqlCommand 用来执行SQL语句

5、SqlDataReader 用来顺序读取数据

6、SqlDataAdapter 用来将数据填充到DataSet或DataT able

10.UDP连接和TCP连接的异同。

答: TCP是有连接状态的,而UDP没有,所以TCP是一种比较安全的通讯协议,而UDP 则比较方便。

前者只管传,不管数据到不到,无须建立连接.后者保证传输的数据准确,须要连结.

https://www.doczj.com/doc/958745229.html,的身份验证方式有哪些?分别是什么原理?

答:Windwos(默认)用IIS...From(窗体)用帐户....Passport(密钥)

12.进程和线程分别怎么理解?

答:进程是系统进行资源分配和调度的单位;线程是CPU调度和分派的单位,一个进程可

以有多个线程,这些线程共享这个进程的资源。

线程是指进程内的一个执行单元,也是进程内的可调度实体.

与进程的区别:

(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位

(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行

(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于

进程的资源.

(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销

明显大于创建或撤消线程时的开销。

14.活动目录的作用。

答:活动目录是微软推出的目录服务,他的主要功能是集中化、统一化的管理计算机和用户以及网络资源。这就是他的主要作用,他的主要管理方法是通过组策略来实现的。他的作用还可以为用户实现统一的网络身份验证。更重要的是他是微软其他几大高级服务的后台服务。

16.解释一下UDDI、WSDL的意义及其作用。

7.什么是SOAP,有哪些应用。

答:SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一直语言相互通信。这种相互通信采用的是XML格式的消息,

18.如何部署一个https://www.doczj.com/doc/958745229.html,页面。

19.如何理解.net中的垃圾回收机制。

答:GC?对象创建了总要清除啊,不然内存哪够用?

GC是垃圾收集器。程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:

System.gc()

Runtime.getRuntime().gc()

20.常用的调用webservice方法有哪些?

答: 1.使用WSDL.exe命令行工具。

2.使用https://www.doczj.com/doc/958745229.html,中的Add Web Reference菜单选项

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

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

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

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

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

4.C#中的委托是什么?事件是不是一种委托?

答:

委托可以把一个方法作为参数代入另一个方法。

委托可以理解为指向一个函数的引用。

是,是一种特殊的委托

5.override与重载的区别

答:override 与重载的区别。重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要

Override 是进行基类中函数的重写。为了适应需要。

7.请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?

foreach (System.Windows.Forms.Control control in this.Controls)

{

if (control is System.Windows.Forms.TextBox)

{

System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control ; tb.Text = String.Empty ;

}

}

8.请编程实现一个冒泡排序算法?

int [] array = new int

;

int temp = 0 ;

for (int i = 0 ; i < array.Length - 1 ; i++)

{

for (int j = i + 1 ; j < array.Length ; j++)

{

if (array[j] < array[i])

{

temp = array[i] ;

array[i] = array[j] ;

array[j] = temp ;

}

}

}

9.描述一下C#中索引器的实现过程,是否只能根据数字进行索引?

答:不是。可以用任意类型。

10.求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m

int Num = this.TextBox1.Text.ToString() ;

int Sum = 0 ;

for (int i = 0 ; i < Num + 1 ; i++)

{

if((i%2) == 1)

{

Sum += i ;

}

else

{

Sum = Sum - I ;

}

}

System.Console.WriteLine(Sum.ToString());

System.Console.ReadLine() ;

13.什么叫应用程序域?

答:应用程序域可以理解为一种轻量级进程。起到安全的作用。占用资源小。

14.CTS、CLS、CLR分别作何解释?

答:CTS:公共类型系统。CLS:通用语言规范。CLR:公共语言运行库。

15.什么是装箱和拆箱?

答:从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱。

16.什么是受管制的代码?

答:unsafe:非托管代码。不经过CLR运行。

17.什么是强类型系统?

答:RTTI:类型识别系统。

https://www.doczj.com/doc/958745229.html,中读写数据库需要用到那些类?他们的作用?

答:DataSet:数据存储器。

DataCommand:执行语句命令。

DataAdapter:数据的集合,用语填充。

https://www.doczj.com/doc/958745229.html,的身份验证方式有哪些?分别是什么原理?

答:10。Windwos(默认)用IIS...From(窗体)用帐户....Passport(密钥)

21.在.net中,配件的意思是?

答:程序集。(中间语言,源数据,资源,装配清单)

https://www.doczj.com/doc/958745229.html, Remoting 的工作原理是什么?

答:服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置。

24.在C#中,string str = null 与string str = “” 请尽量使用文字或图象说明其中的区别。

答:string str = null 是不给他分配内存空间,而string str = "" 给它分配长度为空字符串的内存空间。

25.请详述在dotnet中类(class)与结构(struct)的异同?

答:Class可以被实例化,属于引用类型,是分配在内存的堆上的,Struct属于值类型,是分配在内存的栈上的.

26.根据委托(delegate)的知识,请完成以下用户控件中代码片段的填写:

namespace test

{

public delegate void OnDBOperate();

public class UserControlBase : https://www.doczj.com/doc/958745229.html,erControl

{

public event OnDBOperate OnNew;

privatevoidtoolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonC lickEventArgs e)

{

if(e.Button.Equals(BtnNew))

{

//请在以下补齐代码用来调用OnDBOperate委托签名的OnNew事件。

}

}

}

答:if( OnNew != null )

OnNew( this, e );

27.分析以下代码,完成填空

string strTmp = "abcdefg某某某";

int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;

int j= strTmp.Length;

以上代码执行完后,i= j=

答:i=13,j=10

30.简要谈一下您对微软.NET 构架下remoting和webservice两项技术的理解以及实际中的应用。

答:WS主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。

31. 公司要求开发一个继承System.Windows.Forms.ListView类的组件,要求达到以下的特殊功能:点击ListView各列列头时,能按照点击列的每行值进行重排视图中的所有行 (排序的方式如DataGrid相似)。根据您的知识,请简要谈一下您的思路

答:根据点击的列头,包该列的ID取出,按照该ID排序后,在给绑定到ListView中。

32.给定以下XML文件,完成算法流程图。

< DriverC >

请画出遍历所有文件名(FileName)的流程图(请使用递归算法)。

答:

void FindFile( Directory d )

{

FileOrFolders = d.GetFileOrFolders();

foreach( FileOrFolder fof in FileOrFolders )

{

if( fof is File )

You Found a file;

else if ( fof is Directory )

FindFile( fof );

}

}

34.面向对象的语言具有________性、_________性、________性

答:封装、继承、多态。

35.能用foreach遍历访问的对象需要实现 ________________接口或声明

________________方法的类型。

答:IEnumerable 、 GetEnumerator。

36.GC是什么? 为什么要有GC?

答:GC是垃圾收集器。程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:

System.gc()

Runtime.getRuntime().gc()

37.String s = new String("xyz");创建了几个String Object?

答:两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。

38.abstract class和interface有什么区别?

答:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。

接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

39.启动一个线程是用run()还是start()?

答:启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。

40.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体

类(concrete class)?

答:接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。

41.构造器Constructor是否可被override?

答:构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。

42.是否可以继承String类?

答:String类是final类故不可以继承。

43.try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

答:会执行,在return前执行。

44.两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?答:不对,有相同的hash code。

45.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

答:switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。

47.当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

不能,一个对象的一个synchronized方法只能由一个线程访问。

48.abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?

答:都不能。

49.List, Set, Map是否继承自Collection接口?

答:List,Set是Map不是

equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。

51.数组有没有length()这个方法? String有没有length()这个方法?

答:数组没有length()这个方法,有length的属性。String有有length()这个方法。52.sleep() 和 wait() 有什么区别?

答:sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级

(b)正在运行的线程因为其它原因而阻塞。

wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。

53.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

答:short s1 = 1; s1 = s1 + 1;有错,s1是short型,s1+1是int型,不能显式转化为short型。可修改为s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正确。

54.谈谈final, finally, finalize的区别。

final —修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为 final的方法也同样只能使用,不能重载

finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。

finalize —方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。

55.如何处理几十万条并发数据?

答:用存储过程或事务。取得最大标识的时候同时更新..注意主键不是自增量方式这种方法并发的时候是不会有重复主键的..取得最大标识要有一个存储过程来获取.

56.Session有什么重大BUG,微软提出了什么方法加以解决?

答:是iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sate server

或SQL Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件。

58.堆和栈的区别?

栈:由编译器自动分配、释放。在函数体中定义的变量通常在栈上。

堆:一般由程序员分配释放。用new、malloc等分配内存函数分配得到的就是在堆上。59.成员变量和成员函数前加static的作用?

答:它们被称为常成员变量和常成员函数,又称为类成员变量和类成员函数。分别用来反映类的状态。比如类成员变量可以用来统计类实例的数量,类成员函数负责这种统计的动作。

61.产生一个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];

62.请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。

答:session(viewstate) 简单,但易丢失

application 全局

cookie 简单,但可能不支持,可能被伪造

input ttype="hidden" 简单,可能被伪造

url参数简单,显示于地址栏,长度有限

数据库稳定,安全,但性能相对弱

63.请指出GAC的含义?

答:全局程序集缓存。

65.DataReader与Dataset有什么区别?

答:一个是只能向前的只读游标,一个是内存中的表。

67.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?using 指令和语句 new 创建实例 new 隐藏基类中方法。

答:using 引入名称空间或者使用非托管资源

new 新建实例或者隐藏父类方法

68.需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中间还有连续空格的话,仅保留一个空格,即允许字符串中间有多个空格,但连续的空格数不可超过一个.

答:string inputStr=" xx xx ";

inputStr=Regex.Replace(inputStr.Trim()," *"," ");

69.下面这段代码输出什么?为什么?

int i=5;

int j=5;

if (Object.ReferenceEquals(i,j))

Console.WriteLine("Equal");

else

Console.WriteLine("Not Equal");

答:不相等,因为比较的是对象

70.什么叫做SQL注入,如何防止?请举例说明。

答:利用sql关键字对网站进行攻击。过滤关键字'等

71.什么是反射?

答:动态获取程序集信息

72.用Singleton如何写设计模式

答:static属性里面new ,构造函数private

74.什么是虚函数?什么是抽象函数?

答:虚函数:没有实现的,可由子类继承并重写的函数。抽象函数:规定其非虚子类必须实现的函数,必须被重写。

76.什么是Web Service?UDDI?

答:Web Service便是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。

UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service 提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service 注册,以使别的企业能够发现的访问协议的实现标准。

77.什么是https://www.doczj.com/doc/958745229.html,中的用户控件?

答:用户控件一般用在内容多为静态,或者少许会改变的情况下..用的比较大..类似ASP中

的include..但是功能要强大的多。

https://www.doczj.com/doc/958745229.html,中常用的对象有哪些?分别描述一下。

答:Connection 数据库连接对象

Command 数据库命令

DataReader 数据读取器

DataSet 数据集

81.什么是SOAP,有哪些应用。

答:simple object access protocal,简单对象接受协议.以xml为基本编码结构,建立在已有通信协议上(如http,不过据说ms在搞最底层的架构在tcp/ip上的soap)的一种规范Web Service使用的协议..

82.C#中 property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里?答:一个是属性,用于存取类的字段,一个是特性,用来标识类,方法等的附加性质

84.c#中的三元运算符是?

答:?:。

85.当整数a赋值给一个object对象时,整数a将会被?

答:装箱。

86.类成员有this.;new Class().Method;_种可访问形式?

87.public static const int A=1;这段代码有错误么?是什么?

答:const不能用static修饰。

88.float f=-123.567F; int i=(int)f;i的值现在是_____?

答:-123。

89.委托声明的关键字是______?

答:delegate.

90.用sealed修饰的类有什么特点?

答:密封,不能继承。

91.在https://www.doczj.com/doc/958745229.html,中所有的自定义用户控件都必须继承自________?

答:Control。

92.在.Net中所有可序列化的类都被标记为_____?

答:[serializable]

93.在.Net托管代码中我们不用担心内存漏洞,这是因为有了______?

答:GC。

94.下面的代码中有什么错误吗?_______

using System;

class A

{

public virtual void F(){

Console.WriteLine("A.F");

}

}

abstract class B:A

{

public abstract override void F(); 答:abstract override 是不可以一起修饰.

} // new public abstract void F();

95.当类T只声明了私有实例构造函数时,则在T的程序文本外部,___可以___(可以 or 不可以)从T派生出新的类,不可以____(可以 or 不可以)直接创建T的任何实例。

答:不可以,不可以。

96.下面这段代码有错误么?

switch (i){

case(): 答://case()条件不能为空

CaseZero();

break;

case 1:

CaseOne();

break;

case 2:

dufault; 答://wrong,格式不正确

CaseTwo();

break;

}

97.在.Net中,类System.Web.UI.Page 可以被继承么?

答:可以。

https://www.doczj.com/doc/958745229.html,的错误处理机制是什么?

答:.net错误处理机制采用try->catch->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。

99.利用operator声明且仅声明了==,有什么错误么?

答:要同时修改Equale和GetHash() ? 重载了"==" 就必须重载 "!="

100.在.net(C# or https://www.doczj.com/doc/958745229.html,)中如何用户自定义消息,并在窗体中处理这些消息。

答:在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;

}

}

101.在.net(C# or https://www.doczj.com/doc/958745229.html,)中如何取消一个窗体的关闭。

答:private void Form1_Closing(object sender,

https://www.doczj.com/doc/958745229.html,ponentModel.CancelEventArgs e)

{

e.Cancel=true;

}

102.在.net(C# or https://www.doczj.com/doc/958745229.html,)中,Appplication.Exit 还是 Form.Close有什么不同?答:一个是退出整个应用程序,一个是关闭其中一个form。

103. 在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);

104.某一密码仅使用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次方

105.对于这样的一个枚举类型:

enum Color:byte

{

Red,

Green,

Blue,

orange

}

答:string[] ss=Enum.GetNames(typeof(Color));

byte[] bb=Enum.GetValues(typeof(Color));

106. C#中 property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里?答:attribute:自定义属性的基类;property :类中的属性

107.C#可否对内存进行直接的操作?

答:在.net下,.net引用了垃圾回收(GC)功能,它替代了程序员不过在C#中,不能直接实现Finalize方法,而是在析构函数中调用基类的Finalize()方法

108.ADO。NET相对于ADO等主要有什么改进?

答:1:https://www.doczj.com/doc/958745229.html,不依赖于ole db提供程序,而是使用.net托管提供的程序,2:不使用com3:不在支持动态游标和服务器端游 4:,可以断开connection而保留当前数据集可用 5:强类型转换 6:xml支持

109.写一个HTML页面,实现以下功能,左键点击页面时显示“您好”,右键点击时显示“禁止右键”。并在2分钟后自动关闭页面。

110.大概描述一下ASP。NET服务器控件的生命周期

答:初始化加载视图状态处理回发数据加载发送回发更改通知处理回发事件预呈现保存状态呈现处置卸载

111.Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

答:不能,可以实现接口

112.Static Nested Class 和 Inner Class的不同,说得越多越好

答:Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。

113.,&和&&的区别。

&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and).

114.HashMap和Hashtable的区别。

答:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable.

115.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

答:short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)

short s1 = 1; s1 += 1;(可以正确编译)

116.Overloaded的方法是否可以改变返回值的类型?

答:Overloaded的方法是可以改变返回值的类型。

117.error和exception有什么区别?

答:error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。

exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。

118.<%# %> 和 <% %>有什么区别?

答:<%# %>表示绑定的数据源

<% %>是服务器端代码块

119. 你觉得https://www.doczj.com/doc/958745229.html, 2.0(VS2005)和你以前使用的开发工具(.Net 1.0或其他)有什么最大的区别?你在以前的平台上使用的哪些开发思想(pattern / architecture)可以移植到https://www.doczj.com/doc/958745229.html, 2.0上 (或者已经内嵌在https://www.doczj.com/doc/958745229.html, 2.0中)

答:1 https://www.doczj.com/doc/958745229.html, 2.0 把一些代码进行了封装打包,所以相比1.0相同功能减少了很多代码.

2 同时支持代码分离和页面嵌入服务器端代码两种模式,以前1.0版本,.NET提示帮助只有

在分离的代码文件,无法在页面嵌入服务器端代码获得帮助提示,

3 代码和设计界面切换的时候,2.0支持光标定位.这个我比较喜欢

4 在绑定数据,做表的分页.Update,Delete,等操作都可以可视化操作,方便了初学者

5 在https://www.doczj.com/doc/958745229.html,中增加了40多个新的控件,减少了工作量

120.重载与覆盖的区别?

答:1、方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系

2、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。

3、覆盖要求参数列表相同;重载要求参数列表不同。

4、覆盖关系中,调用那个方法体,是根据对象的类型(对象对应存储空间类型)来决定;重载关系,是根据调用时的实参表与形参表来选择方法体的。

121.描述一下C#中索引器的实现过程,是否只能根据数字进行索引?

答:不是。可以用任意类型。

122.在C#中,string str = null 与 string str = " " 请尽量使用文字或图象说明其中的区别。

答:null是没有空间引用的;

" " 是空间为0的字符串;

123.分析以下代码,完成填空

string strTmp = "abcdefg某某某";

int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;

int j= strTmp.Length;

以上代码执行完后,i= j=

答:i=13.j=10

125.分析以下代码。

public static void test(string ConnectString)

{

System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(); conn.ConnectionString = ConnectString;

try

{

conn.Open();

…….

}

catch(Exception Ex)

{

MessageBox.Show(Ex.ToString());

}

finally

{

if (!conn.State.Equals(ConnectionState.Closed))

conn.Close();

}

}

1)以上代码可以正确使用连接池吗?

答:回答:如果传入的connectionString是一模一样的话,可以正确使用连接池。不过一模一样的意思是,连字符的空格数,顺序完全一致。

2)以上代码所使用的异常处理方法,是否所有在test方法内的异常都可以被捕捉并显示出来?

答:只可以捕捉数据库连接中的异常吧. (finally中,catch中,如果有别的可能引发异常的操作,也应该用try,catch。所以理论上并非所有异常都会被捕捉。)

126. 公司要求开发一个继承System.Windows.Forms.ListView类的组件,要求达到以下的特殊功能:点击ListView各列列头时,能按照点击列的每行值进行重排视图中的所有行(排序的方式如DataGrid相似)。根据您的知识,请简要谈一下您的思路:

答:根据点击的列头,包该列的ID取出,按照该ID排序后,在给绑定到ListView中

127.什么是WSE?目前最新的版本是多少?

答:WSE (Web Service Extension) 包来提供最新的WEB服务安全保证,目前最新版本2.0。128.在下面的例子里

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的实例时,产生什么输出?

答:X=1,Y=0

129.下面的例子中

using System;

class A

{

public static int X;

static A(){

X=B.Y+1;

}

}

{

public static int Y=A.X+1;

static B(){}

static void Main(){

Console.WriteLine("X={0},Y={1}",A.X,B.Y);

}

}

产生的输出结果是什么?

答:x=1,y=2

130.abstract class和interface有什么区别?

答:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。

接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

4、DataReader和DataSet的异同

DataReader和DataSet最大的区别在于,DataReader使用时始终占用SqlConnection,在线操作数据库..任何对SqlConnection的操作都会引发DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因为DataReader的特殊性和高性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条了..

DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗内存...但是确比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行回传更新操作...

二.简答题

1.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?

Using 引入一个名子空间,或在使用了一个对像后自动调用其IDespose,New 实例化一个对

2.在下面的例子里

using System;

class A

{

最新一个常见的软件测试面试题

一个常见的软件测试面试题 一个常见的软件测试面试题 考官从办公室(面试现场)随意选取一个简单物品,假定是一个喝水的带广告图案的花纸杯,让应聘人对它设计出尽可能多的测试用例。 测试项目:杯子 需求测试:查看杯子使用说明书 界面测试:查看杯子外观 功能度:用水杯装水看漏不漏;水能不能被喝到 安全性:杯子有没有毒或细菌 可*性:杯子从不同高度落下的损坏程度 可移植性:杯子再不同的地方、温度等环境下是否都可以正常使用 兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等 易用性:杯子是否烫手、是否有防滑措施、是否方便饮用 用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述 疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等 压力测试:用根针并在针上面不断加重量,看压强多大时会穿透 跌落测试:??杯子加包装(有填充物),在多高的情况摔下不破损 震动测试: 杯子加包装(有填充物),六面震动,检查产品是否能应对恶劣的铁路\公路\航空运输 测试数据: 测试数据具体编写此处略(最讨厌写测试数据了)。其中应用到:场景法、等价类划分法、因果图法、错误推测法、边界值法等方法 期望输出:

该期望输出需查阅国标、行标以及使用用户的需求 说明书测试: 检查说明书书写准确性 给大家提三个产品:1.手机 2.电饭锅 3.电梯 有兴趣的同学可以把答案写出来 一个常见的软件测试面试题 问题集 1.软件测试分哪两种方法?分别适合什么情况? 2.一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。 3.软件测试的类型有那些?分别比较这些不同的测试类型的区别与联系。 4.测试用例通常包括那些内容?着重阐述编制测试用例的具体做法 5.在分别测试winform的C/S结构与测试WEB结构的软件是,应该采取什么样的方法分别测试?他们存在什么样的区别与联系? 6.在测试winform的C/S结构软件时,发现这个软件的运行速度很慢,您会认为是什么原因?您会采取哪些方法去检查这个原因? 7.描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程8.如果您是测试组长,您会采取什么样的方式管理团队?在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么? 问题解答: 1.软件测试分哪两种方法?分别适合什么情况? 软件测试方法一般分为两种:白盒测试与黑盒测试。白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,它着重于程序的内部结构及算法,通常不关心功能与性能指标;黑盒测试又被称为功能测试、数据驱动测试或基于规格说明的测试,它实际上是站在最终用户的立场,检验输入输出信息及系统性能指标是否符合规格说明书中有关功能需求及性能需求的规定。 2.一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。 计划阶段、设计阶段、白盒单元、白盒集成、黑盒单元、黑盒集成、系统测试、回归测

JAVA、net 后端技术岗笔试题

net开发工程师笔试题目 1.一列数的规则如下:1、1、2、3、5、8、13、21、34……求第30位数是多少,用递归算法实现。 2.用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 3.在C#中,string str = null 与string str = "" 请使用文字说明其中的区别。 4.根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?并简要说明理由。 public void test(int i) { lock(this) { if (i>10) { i--; test(i); } } }

5.简要谈一下您对微软。NET 构架下remoting和webservice两项技术的理解以及实际中的应用。 6.公司要求开发一个继承System.Windows.Forms.ListView类的组件,要求达到以下的特殊功能:点击ListView各列列头时,能按照点击列的每行值进行重排视图中的所有行(排序的方式如DataGrid相似)。根据您的知识,请简要谈一下您的思路 7.给定以下XML文件,完成算法流程图。 < DriverC >

请请使用递归算法遍历所有文件名(FileName)。 8.写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。

操作系统面试问答题大全

操作系统习题与答案 (经典型) 第一章引言 1.什么是计算机系统?它由哪几部分组成? 计算机系统是按用户的要求接收和存储信息,自动进行数据处理并输出结果信息的系统。计算机系统由硬件系统和软件系统组成。硬件系统是计算机系统赖以工作的实体,软件系统保证计算机系统按用户指定的要求协调地工作。 2.计算机系统的资源包括哪些? 计算机系统的资源包括两大类:硬件资源和软件资源。硬件资源主要有中央处理器、主存储器、辅助存储器和各种输入输出设备。软件资源有编译程序、编辑程序等各种程序以及有关数据。 3简述操作系统的定义。 操作系统是计算机系统的一种系统软件,它统一管理计算机系统的资源和控制程序的执行。 4.为计算机设计操作系统要达到什么目的?设计时应考虑哪些目标? 操作系统是一种系统程序,其目的是为其他程序的执行提供一个良好的环境。它有两个主要设计目标:一是使计算机系统使用方便,二是使计算机系统能高效地工作。 5.从操作系统提供的服务出发,操作系统可分哪几类? 从操作系统提供的服务出发,操作系统可分为:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。 6.何谓批处理操作系统? 用户准备好要执行的程序、数据和控制作业执行的说明书,由操作员输入到计算机系统中等待处理,操作系统选择作业并按其作业说明书的要求自动控制作业的执行。采用这种批量化处理作业的操作系统称为批处理操作系统。 7.为什么说批处理多道系统能极大地提高计算机系统的工作效率? 批处理多道系统能极大地提高系统的工作效率,表现在四个方面:(1)多道作业并行工作,减少了处理器的空闲时间;(2)作业调度可以合理选择装入主存储器中的作业,充分利用计算机系统的资源;(3)作业执行过程中不再访问低速设备,而直接访问高速的磁盘设备,缩短执行时间;(4)作业成批输入,减少了从操作到作业的交接时间。 8.分时系统如何使各终端用户感到好像自己独占一台计算机? 在分时系统中、系统把CPU时间划分成许多时间片,每个终端每次可以使用由一个时间片规定的cPu时间,多个终端用户就这样轮流地使用cPU,每人都得到了及时响应,感到好像自己独占了一台计算机。 9.网络操作系统有何主要功能? 网络操作系统把计算机网络中的各台计算机有机地联合起来,实现各计算机之间的通信及网络中各种资源的共享。

Sql常见面试题 受用了

Sql常见面试题受用了 1. 用一条SQL 语句查询出每门课都大于80 分的学生姓名 name kecheng fenshu 张三语文81 张三数学75 李四语文76 李四数学90 王五语文81 王五数学100 王五英语90 A: select distinct name from table where name not in (select distinct name from table where fenshu<=80) select name from table group by name having min(fenshu)>80 2. 学生表如下: 自动编号学号姓名课程编号课程名称分数 1 2005001 张三0001 数学69 2 2005002 李四0001 数学89 3 2005001 张三0001 数学69 删除除了自动编号不同, 其他都相同的学生冗余信息 A: delete tablename where 自动编号not in(select min( 自动编号) from tablename group by 学号, 姓名, 课程编号, 课程名称, 分数) 3. 一个叫team 的表,里面只有一个字段name, 一共有4 条纪录,分别是a,b,c,d, 对应四个球对,现在四个球对进行比赛,用一条sql 语句显示所有可能的比赛组合. 你先按你自己的想法做一下,看结果有我的这个简单吗? 答:select https://www.doczj.com/doc/958745229.html,, https://www.doczj.com/doc/958745229.html, from team a, team b where https://www.doczj.com/doc/958745229.html, < https://www.doczj.com/doc/958745229.html, 4. 请用SQL 语句实现:从TestDB 数据表中查询出所有月份的发生额都比101 科目相应月份的发生额高的科目。请注意:TestDB 中有很多科目,都有1 -12 月份的发生额。AccID :科目代码,Occmonth :发生额月份,DebitOccur :发生额。 数据库名:JcyAudit ,数据集:Select * from TestDB 答:select a.* from TestDB a ,(select Occmonth,max(DebitOccur) Debit101ccur from TestDB where AccID='101' group by Occmonth) b where a.Occmonth=b.Occmonth and a.DebitOccur>b.Debit101ccur ******************************************************************************* ***** 5. 面试题:怎么把这样一个表儿 year month amount 1991 1 1.1

DoNet面试题(选择题)原题

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

标记,而aspx页面可以包含 B.用户控件不能触发服务器端的事件,只是一种外观重用方式,而aspx页面可以 C.用户控件继承自https://www.doczj.com/doc/958745229.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.a SPNET支持三种验证方式,不属于其中的是(B) A.passport B.SqlServer身份 C.Windows D.Forms

计算机专业复试面试问题有答案

1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 2. 嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?while(1){}或者for(;;){} 3. 用变量a给出下面的定义 a) 一个整型数(An integer) b)一个指向整型数的指针( A pointer to an integer) c)一个指向指针的的指针,它指向的指针是指向一个整型数( A pointer to a pointer to an intege)r d)一个有10个整型数的数组( An array of 10 integers) e) 一个有10个指针的数组,该指针是指向一个整型数的。(An array of 10 pointers to integers) f) 一个指向有10个整型数数组的指针( A pointer to an array of 10 integers) g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that takes an integer as an argument and returns an integer) h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数( An array of ten pointers to functions that take an integer argument and return an integer ) 答案是: a) int a; // An integer b) int *a; // A pointer to an integer c) int **a; // A pointer to a pointer to an integer d) int a[10]; // An array of 10 integers e) int *a[10]; // An array of 10 pointers to integers f) int (*a)[10]; // A pointer to an array of 10 integers g) int (*a)(int); // A pointer to a function a that takes an integer argument and returns an integer h) int (*a[10])(int); // An array of 10 pointers to functions that take an integer argument and return an integer 4.关键字static的作用是什么? 这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用: 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。 大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人能懂得第三部分。这是一个应试者的严重的缺点,因为他显然不懂得本地化数据和代码范围的好处和重要性。

.net高级工程师面试题

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

o存在装箱(值=》引用)拆箱的操作,会带来很大的性能损耗 List: 优点: o声明List集合时,需要声明集合内数据的对象类型 o避免了类型安全问题和装箱拆箱的性能问题 2.简述装箱和拆箱操作中的性能损耗是如何产生的。 3.简述对https://www.doczj.com/doc/958745229.html,中的事件机制的理解。 4.在一个https://www.doczj.com/doc/958745229.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算法。

计算机基础知识面试题库

对于项目 1. 明确你的项目到底是做什么的,有哪些功能 2. 明确你的项目的整体架构,在面试的时候能够清楚地画给面试官看并且清楚地指出从哪里调用到哪里、使用什么方式调用 3. 明确你的模块在整个项目中所处的位置及作用 4. 明确你的模块用到了哪些技术,更好一些的可以再了解一下整个项目用到了哪些技术 操作系统 1.操作系统的四大特性: a)并发性 b)共享性 c)虚拟性 d)不确定性 2.请叙述一下并发和并行两个概念的区别? a)并行是指两个或多个事件在同一时刻发生,并发是指两个或多个事件在同一时间 间隔内发生。 3.什么是进程?什么是线程? a)“进程是一个可并发执行的,具有独立功能的程序关于某个数据集合的一次执行过 程,也是操作系统进行资源分配和调度的独立单位”。进程是资源分配的基本单 位。 b)线程也称为轻量级进程(LWP),是程序执行流量的最小单位,它是进程的一个实 体,是系统独立调度和分派处理机的基本单位。线程是操作系统调度的最小单 位。 4.进程和线程的区别?从调度、并发性、拥有资源和系统开销四个方面来比较: a)调度。在引入线程的操作系统中,把线程作为调度和分派CPU的基本单位,把进 程作为资源分配的基本单位,显著提高了并发程度。由于系统调度的基本单位是 线程,所以每个进程至少创建一个线程,否则无法被调度。 b)并发性。多线程可以提高服务的质量,在一个线程阻塞时,还有其他线程提供服 务。

c)拥有资源。进程是拥有资源的独立单位,线程自己不拥有系统资源,而是共享进 程的资源(包括代码段、数据段即系统资源等)。 d)系统开销。进程切换的开销远远大于线程切换的开销,进程的切换需要保存很多 现场,但线程只需要保存和设置少量的寄存器内容,不涉及存储器管理方面的操 作。 5.进程的特征: a)动态性:进程是动态产生和动态消亡的,有其生存周期。 b)并发性:一个进程可以与其他进程一起向前推进。 c)独立性:一个进程是一个相对完整的调度单位。 d)异步性:每个进程都已相对独立、不可预知的速度向前推进。 e)结构性:为了控制和管理进程,系统为每个进程设立一个进程控制块(PCB)。 6.进程有几种状态? a)就绪状态 b)运行状态:单CPU环境下,系统处于运行状态的进程最多只有一个。 c)阻塞状态 7.进程的组成: a)程序: b)数据集合:进程独有 c)进程控制块(PCB):它和进程一一对应,PCB是操作系统能感知进程存在的唯一标 识,操作系统正是通过管理PCB来管理进程的。系统创建进程时,为每个进程分 配PCB,进程执行完成后,系统释放PCB,进程也随之消亡。 8.进程的切换: a)进程上下文包含用户级上下文、系统级上下文、寄存器上下文 b)进程上下文切换是核心态的切换,不发生在用户态。 c)用户态到核心态之间的转变是CPU模式的改变。模式切换不同于进程切换,并不 引起进程状态的改变。 9.为什么会提出线程这个概念?进程的缺点是什么? a)进程切换开销大 b)进程通信代价大 c)进程之间并发性粒度粗,并发度不高

运维常用面试题

简述DNS 分离解析的工作原理,关键配置 DNS 分离解析:针对同一个域名,为不同的客户机提供不同的解析结果 关键配置:通过view 语句为客户端分类,在每个视图内使用match-client 来匹配客户机的来源地址,每个视图内都定义目标DNS 区域但调用不同的地址库文件 简述MySQL 体系结构的组成,指带有数据库并整合了数据库管理软件的计算机系统并描述每个组成部分的作用。 主要包括8 个部分: 连接池:进程数限制、内存检查、缓存检查等。 SQL 接口:用户通过sql 客户端发过来的命令,由sql 接口接收,sql 操作(DML 数据操作语言:查询、修改、升级数据等;DDL 数据定义语言:创建一个新的数据库、新的索引、删除一个用户等;存储过程、视图触发器。 分析器: 分析查询语句事务处理对象访问权限。 优化器: 优化访问路径、生成执行树。 缓存和缓冲:保存sql 查询结果。 存储引擎:用于管理存储的文件系统,将逻辑结构转换为物理结构的程序;不同的存储引擎有不同的功能和存储方式。 管理工具:备份,恢复,安全,移植,集群等,这些工具一般和文件系统打交道,不需要和mysql-server 打交道,它们对应的都是命令。 物理存储设备(文件系统) 构建主从同步的思路 1. 确保数据相同–从库必须要有主库上的数据。 2. 配置主服务器–启用binlog 日志及设置格式,指带有数据库并整合了数据库管理软件的计算机系统设置server_id, 授权用户 3. 配置从服务器–设置server_id ,指带有数据库并整合了数据库管理软件的计算机系统指定主数据库服务器信息 4. 测试配置–客户端连接主库,指带有数据库并整合了数据库管理软件的计算机系统写入的数据,指带有数据库并整合了数据库管理软件的计算机系统在连接从库的时候也能够访问到。

软件开发工程师面试题(基础知识)

.NET开发人员试题(综合) 1、用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的 关系以及为什么要这样分层? 2、软件开发过程一般有几个阶段?每个阶段的作用? 3、您对编程的兴趣如何?工作中遇到不懂的问题是怎样去解决的?您一 般怎样去提高自己的编程水平? .NET开发人员试题(基础) 1、请你说说.NET中类和结构的区别? 答:结构是值类型,在堆栈上分配地址,所有的基类型都是结构类型,如 System.int或System.string,不能被继承 类是引用类型(new),可以被继承,在堆上分配地址,堆栈的执行效率要比堆的执行效率高,但堆栈的资源有限, 2、死锁的必要条件?怎么克服? 答:系统资源不足,资源分配不当,一个资源每次只能被一个进程使用,一个资源请求资源时,而此时这个资源阻塞,且对已获得的资源不放 3、接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以 继承实 体类? 答:接口是可以继承接口;抽象类是可以实现接口;抽象类可以继承实体类,只要实体类有明确的构造函数. 4、构造器 Constructor是否可以被继承?是否可以被Override? 答: Constructor不可以被继承,因此不能被重写(Override),但可以被重载(Overloading) 5、当一个线程进入一个对象的方法后,其它线程是否可以进入该对象的 方法?

答:不可以,一个对象的方法只能由一个线程访问 6、C#是否可以对内存直接进行操作? 答:可以,因为可以使用指针 7、数组有没有Length()这个方法?string有没有这个方法?8、谈谈final,finally,finallize的区别? 答:final用来申明属性、方法、类,表示属性不可变,方法不可以被覆盖,类不可以被继承 Finally是异常处理语句结构,总是执行 Finallize是object类一个方法,在垃圾回收机制中执行的时候会被调用被回收对象的方法 9、C#中委托是什么?事件是不是一种委托? 答:委托是一种安全的类似于函数指针,但比指针安全,它可以把方法作为一个参数传递给另一个方法,可理解为指向函数的引用,事件是一种消息机制,是一种委托,委托不带方法体。 10、Override, Overload,的区别? 11、概述反射、序列化和反序列化?12、UDP和TCP连接有和异 同?13、进程和线程分别该怎么理解? 14、ASP。NET页面之间传递值的几种方式? 15、a=10,b=15在不使用第三方变量的前提下,把a,b的值互换。 答:a=b+(b=a)*0; 16、请简述面向对象的多态的特性及意义? 17、Session喜欢丢值且占内存,Cookies不安全,请问用什么办法替代这两种方法? 18、try{}里有一个return语句,那紧跟在这个后边有个finally{}里的代码会不会被执行,什么时候执行? 20、求当前日期所在的周的起止日期。 答:select sysdate-to_char(sysdate, 'D ')+1 as起始日 期,sysdate+7-to_char(sysdate, 'D ') as 中止日期 from dual 21、c#中的&符号与&&符号有什么区别?22、函数和存储过程的区别?

Linu面试题大全

L i n u面试题大全文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

一.填空题 1. 在Linux系统中,以(文件)方式访问设备。 2. Linux内核引导时,从文件(/etc/fstab)中读取要加载的文件系统。 3. Linux文件系统中每个文件用(i节点)来标识。 4. 全部磁盘块由四个部分组成,分别为(引导块、专用块、 i节点表块和数据存储块)。 5. 链接分为:(硬链接和符号链接)。 6. 超级块包含了i节点表和空闲块表等重要的文件系统信息。 7. 某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为:( 644 ),该文件属性是 (目录) 。 8. 前台起动的进程使用 (Ctrl+c )终止。 9. 静态路由设定后,若 (网络拓扑结构) 发生变化,需由系统管理员修改路由的设置。 10. 网络管理的重要任务是: (控制和监控) 。 11. 安装Linux系统对硬盘分区时,必须有两种分区类型:(文件系统分区和交换分区)。 13. 编写的Shell程序运行前必须赋予该脚本文件 (执行) 权限。 14. 系统管理的任务之一是能够在 (分布式 )环境中实现对程序和数据的安全保护、备份、恢复和更新。 15. 系统交换分区是作为系统(虚拟存储器)的一块区域。 16. 内核分为(进程管理系统、内存管理系统、 I/O管理系统和文件管理系统)等四个子系统。

17. 内核配置是系统管理员在改变系统配置(硬件)时要进行的重要操作。 18. 在安装Linux系统中,使用netconfig程序对网络进行配置,该安装程序会一步步提示用户输入主机名、域名、域名服务器、IP地址、网关地址和子网掩码等必要信息。 19. 唯一标识每一个用户的是用户(ID)和用户名。 20 . RIP 协议是最为普遍的一种内部协议,一般称为(动态路由选择协议)。 21. 在Linux系统中所有内容都被表示为文件,组织文件的各种方法称为(文件系统)。 22. DHCP可以实现动态(IP)地址分配。 23. 系统网络管理员的管理对象是(服务器、用户和服务器的进程以及系统的各种资源)。 24. 网络管理通常由监测、传输和管理三部分组成,其中管理部分是整个网络管理的中心。 25. 当想删除本系统用不上的(设备驱动程序)时必须编译内核,当内核不支持系统上的(设备驱动程序)时,必须对内核(升级)。 26 Ping命令可以测试网络中本机系统是否能到达(一台远程主机),所以常常用于测试网络的连通性。 27. vi编辑器具有两种工作模式: (命令模式和输入模式 )。 28. 可以用ls –al命令来观察文件的权限,每个文件的权限都用10位表示,并分为四段,其中第一段占 (1 )位,表示 (文件类型) ,第二段占(3)位,表示 (文件所有者) 对该文件的权限。

操作系统常见面试题及答案

操作系统常见面试题及答案 1.什么是进程(Process)和线程(Thread)?有何区别? 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行。 进程与应用程序的区别在于应用程序作为一个静态文件存储在计算机系统的硬盘等存储空间中,而进程则是处于动态条件下由操作系统维护的系统资源管理实体。2.Windows下的内存是如何管理的? Windows提供了3种方法来进行内存管理:虚拟内存,最适合用来管理大型对象或者结构数组;内存映射文件,最适合用来管理大型数据流(通常来自文件)以及在单个计算机上运行多个进程之间共享数据;内存堆栈,最适合用来管理大量的小对象。 Window操纵内存可以分两个层面:物理内存和虚拟内存。 其中物理内存由系统管理,不允许应用程序直接访问,应用程序可见的只有一个2G地址空间,而内存分配是通过堆进行的,对于每个进程都有自己的默认堆,当一个堆创建后,就通过虚拟内存操作保留了相应大小的地址块(不占有实际的内存,系统消耗很小),当在堆上分配一块内存时,系统在堆的地址表里找到一个空闲块(如果找不到,且堆创建属性是可扩充的,则扩充堆大小)为这个空闲块所包含的所有内存页提交物理对象(物理内存上或硬盘上的交换文件上)。这时可以就访问这部分地址了。提交时,系统将对所有进程的内存统一调配,如果物理内存不够,系统试图把一部分进程暂时不访问的页放入交换文件,以腾出部分物理内存。释放内存时,只在堆中将所在的页解除提交(相应的物理对象被解除),继续保留地址空间。 如果要知道某个地址是否被占用/可不可以访问,只要查询此地址的虚拟内存状VirtualQuery),如果是提交,则可以访问。如果仅仅保留,或没保留,则产生一个软件异常。此外有些内存页可以设置各种属性。如果是只读,向内写也会产生软件异常。3.Windows消息调度机制是? A. 指令队列; B.指令堆栈; C.消息队列; D.消息堆栈 答案:C 处理消息队列的顺序。首先windows绝对不是按队列先进先出的次序来处理的,而是有一定优先级的。优先级通过消息队列的状态标志来实现的。首先最高优先级的是别的线程发过来的消息(通过sendmessage),其次是处理登记消息队列消息,再次处理QS_QUIT标志,再处理虚拟输入队列,再处理wm_paint最后是wm_timer 4.描述实时系统的基本特性 在特定时间内完成特定的任务,实时性与可靠性。 所谓“实时操作系统”,实际上是指操作系统工作时,其各种资源可以根据需要随时进行动态分配。由于各种资源可以进行动态分配,因此其处理事务的能力较强、速度较快。5.中断和轮询的特点。 对I/O设备的程序轮询的方式,是早期的计算机系统对I/O设备的一种管理方式。它定时对各种设备轮流询问一遍有无处理要求。轮流询问之后,有要求的,则加以处理。在处理I/O设备的要求之后,处理机返回继续工作。尽管轮询需要时间,但轮询要比I/O设备的速

网络工程师面试题(附答案)

1、解决路由环问题的方法有(ABD) A.水平分割 B.路由保持法 C.路由器重启 D.定义路由权的最大值 2、下面哪一项正确描述了路由协议(C) A.允许数据包在主机间传送的一种协议 B.定义数据包中域的格式和用法的一种方式 C.通过执行一个算法来完成路由选择的一种协议 D.指定MAC地址和IP地址捆绑的方式和时间的一种协议 3、以下哪些内容是路由信息中所不包含的(A) A.源地址 B.下一跳 C.目标网络 D.路由权值 4、以下说法那些是正确的(BD) A.路由优先级与路由权值的计算是一致的 B.路由权的计算可能基于路径某单一特性计算,也可能基于路径多种属性

C.如果几个动态路由协议都找到了到达同一目标网络的最佳路由,这几条路由都会被加入路由表中 D.动态路由协议是按照路由的路由权值来判断路由的好坏,并且每一种路由协议的判断方法都是不一样的 5、IGP的作用范围是(C) A.区域内 B.局域网内 C.自治系统内 D.自然子网范围内 6、距离矢量协议包括(AB) A.RIP B.BGP C.IS-IS D.OSPF 7、关于矢量距离算法以下那些说法是错误的(A) A.矢量距离算法不会产生路由环路问题 B.矢量距离算法是靠传递路由信息来实现的 C.路由信息的矢量表示法是(目标网络,metric) D. 使用矢量距离算法的协议只从自己的邻居获得信息

A. MTU B. 时延 8、如果一个内部网络对外的出口只有一个,那么最好配置 (A ) A. 缺省路由 B. 主机路由 C. 动态路由 9、BGP 是在(D)之间传播路由的协议 A. 主机 B. 子网 C. 区域 (area) D. 自治系统 (AS) 10、在路由器中,如果去往同一目的地有多条路由, 则决定最佳路由的因素有 (AC) A. 路由的优先级 B. 路由的发布者 C. 路由的 metirc 值 D. 路由的生存时间 11、在RIP 协议中,计算metric 值的参数是(D)

操作系统考试及面试重要基础知识点

1、进程管理 1、进程是具有独立功能程序在某个数据集合上的一次执行过程。线程是进程内的一个执行实体或执行单元。 进程和线程的区别: (a)不同进程的地址空间是独立的,而同一进程内的线程共享同一地址空间。一个进程的线程在另一个进程内是不可见的。 (b)在引入线程的操作系统中,进程是资源分配和调度的单位,线程是处理机调度和分配的单位,资源是分配给进程的,线程只拥有很少资源,因而切换代价比进程切换低。 区别版本二 1)调度方面。在传统的操作系统中,拥有资源和独立调度的基本单位都是进程。而在引入线程的操作系统中,线程是独立调度的基本单位,进程是资源拥有的基本单位。在同一进程中,线程的切换不会引起进程的切换。在不同的进程中进行线程切换,将会引起进程切换。2)拥有资源。不论是传统操作系统还是设有线程的操作系统,进程都是拥有资源的基本单位,而线程不拥有系统资源(也有一点必不可少的资源),但线程可以访问其隶属进程的系统资源。 3)并发性。在引入线程的操作系统中,不仅进程之间可以并发执行,而且同一进程内的多个线程之间也可以并发执行。 4)系统开销。由于创建进程或撤销进程时,系统都要为之分配或回收资源,操作系统所付出点开销远大于创建或撤销线程时的开销。在进行进程切换时,涉及到整个当前进程CPU 环境的保护及新调度到新进程的CPU环境设置;而线程切换时,只需保护和设置少量寄存器内存,因此开销很小。另外,由于同一进程内的多个线程共享进程的地址空间,因此,多线程之间的同步与通信非常容易实现,甚至无需操作系统的干预。 程序与进程的区别 (1)进程是一个动态概念,而程序是一个静态概念。 (2)进程具有并行特征,而程序不反映执行所以没有并行特征 (3)进程是竞争计算机系统资源的基本单位,而程序不反映执行也就不会竞争计算机系统资源 (4)不同的进程可以包含同一程序,只要该程序所对应的数据集不同。 1、进程是并发过程中程序的执行过程 2、进程的特征:结构特征、动态性、并发性、独立性、异步性 3、临界区指在每个进程中访问临界资源的那段代码

11个常见的linux基础面试题

11个常见的linux面试题 Q.1: Linux 操作系统的核心是什么? Shell Kernel Command Script Terminal 答: 内核(Kernel)是Linux 操作系统的核心。Shell是一个命令行解释器,命令(Command)是针对计算机的指令,脚本(Script)是存储在文件中的命令的集合,终端(Termial)是命令行接口。 Q.2: Linus Torvalds 都创建过什么东东? Fedora Slackware Debian Gentoo Linux 答: Linux Torvalds 创建了Linux,Linux是所有上述操作系统的核心,同样也是其他一些Linux 操作系统的核心。 Q.3: Torvalds,使用C++语言编写了Linux内核的大部分代码,是这样吗? 答: 不! Linux内核包含了12,020,528行代码,其中注释占去了2,151,595 行。因此剩下的9,868,933 行就是纯代码了。而其中7,896,318行都是用C语言写的。 剩下的1,972,615行则是使用C++,汇编,Perl, Shell Script, Python, Bash Script, HTML, awk, yacc, lex, sed等。 注:代码行数每天都在变动,平均每天超过3,509行代码添加到内核。 Q.4: 起初,Linux 是为Intel X86 架构编写的,但是后来比其他操作系统移植的硬件平台都多,是这样吗? 答: 是的,我同意。Linux那时候是为x86机器写的,而且现已移至到所有类型的平台。今天超过90%的超级计算机都在使用Linux。Linux在移动手机和平板电脑领域前景广阔。事实上我们被Linux包围着,远程遥控,太空科学,研究,Web,桌面计算等等,举之不尽。 Q.5: 编辑Linux 内核合法吗? 答: 是的,内核基于GPL发布,任何人都可以基于GPL允许的权限随意编辑内核。Linux 内核属于免费开源软件(FOSS)。

(word完整版)计算机复试面试题目大全,推荐文档

2. 比较TCP与UDP TCP与UDP都是传输层的协议,且都用端口号标识数据所达的进程。 TCP提供的是面向连接服务,提供可靠交付。且具有流量控制和拥塞控制。可用于可靠要求高的场合如:SMTP,FTP,HTTP等 UDP提供的是无连接服务,提供不可靠交付,且无确认机制。主要用于即时强的场合如:视频聊天,语音电话等。 3.2. 比较TCP与UDP TCP与UDP都是传输层的协议,且都用端口号标识数据所达的进程。 TCP提供的是面向连接服务,提供可靠交付。且具有流量控制和拥塞控制。可用于可靠要求高的场合如:SMTP,FTP,HTTP等 UDP提供的是无连接服务,提供不可靠交付,且无确认机制。主要用于即时强的场合如:视频聊天,语音电话等。 7. 数据库保护(访问)的内容有哪些? 利用权限机制,利用完整性约束防止法数据进入数据库,提供故障恢复能力,提供并发访问控制 8. 在交互式系统中,非剥夺是不是一个好的策略?为什么? 非剥夺方式:分派程序一旦把处理机分配给某进程后便让它一直运行下去,直到进程完成或发生某事件而阻塞时,才把处理机分配给另一个进程。 剥夺方式:当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,将之分配给其它进程。剥夺原则有:优先权原则、短进程、优先原则、时间片原则。 在分时系统中不剥夺并不是一个好的策略。因为,在分时系统中,除了交互性以外,及时性是很重要的性能因素。当一个作业被阻塞后,CPU就完全空闲了,别的用户的及时性就无法保证了,而完全可以把这些时间分配给别的作业运行。以提高整体的吞吐量。 9. DBA的职责是什么? DBA则是这个机构的一个(组)人员,负责全面管理和控制数据库系统.职责有: (1)决定数据库中的信息内容和结构:数据库中要存放哪些信息 (2)决定数据库的存储结构和存取策略:获得较高的存取效率和存储空间利用率 (3)约定义数据的安全性要求和完整性约束条件:负责确定各个用户对数据库的存取权限、数据的保密级别和完整性约束条件 (4)监控数据库的使用和运行:转储数据、维护日志文件、故障恢复 (5) 数据库的改进和重组重构:对运行情况进行记录、统计分析,以此来不断改进数据库设计 10. 系统调用的定义 系统调用是OS与应用程序之间的接口,它是用户程序取得OS服务的惟一途径。它与一般的过程调用的区别: 运行在不同的系统状态。调用程序在运行在用户态,而被调用的程序运行在系统态; 通过软中断机制,先由用户态转为系统态,经枋心分析后,才能转向相应的系统调用处理子程序; 一般的过程调用返回后继续执行,但对系统调用,当调用的进程仍具有最高优先权时,才返回到调用进程继续处理;否则只能等被重新调度; 11. 死锁是什么? 指多个有关进程由于争夺资源而造成的一种僵局,在无外力的情况下这些进程都将无法再向前推进的状态。 12. CPU不执行程序的时候干什么?

IT知名企业常见面试题

IT名企面试步骤一般为四面:一面:技术面,考核技能水平;二面:综合面:考核综合素质;三面:HR面,职业规划,优势与劣势,期望工资与工作地点;四面:老总面,最后决定命运。一、通用面试例题分析 1. 在学校里你学习了哪些课程,成绩如何?答:首先看看计算机专业的课程:系统原理、微机原理、汇编语言、网络基础、Visual Basic编程、SQL、HTML语言、高等数学……基本上以对计算机科学结构性、设计性的课程为主。然后是自动化专业,这张课表上少了汇编语言等系统基础的课程,增加了POWER BUILDER、NT Sever等网络方面的内容,毕竟现在的自动化与网络密不可分。而信息管理工程专业的课程就显然偏重应用的色彩。除VB、VC编程语言的课程外,Windows、Photoshop、Flash/Firework/Dreamweaver网页制作工具等课程也赫然在目。2. 想着手编写一个程序,在整个开发过程中,其中包含了大量细节,并推荐了许多步骤和文档,那么,时刻提醒自己注意的是什么问题?整个过程是什么?答:时刻提醒自己注意的问题是:(1) 对象是什么?(怎样将自己的项目分割成一系列单独的组件?)(2) 它们的接口是什么?(需要将什么消息发给每一个对象?)整个过程可划分为四个阶段,阶段0刚刚开始采用某些形式的结构。阶段0:拟出一个计划第一步是决定在后面的过程中采取哪些步骤。在这个阶段,可能要决定一些必要的附加处理结构。在整个过程中设置几个标志,或者“路标”,将更有益于你集中注意力。经过了一个接一个的路标以后,可对自己的进度有清晰的把握。阶段1:要制作什么?在上一代程序设计中(即“过程化或程序化设计”),这个阶段称为“建立需求分析和系统规格”。应尽可能总结出自己系统的一套完整的“使用条件”或者“应用场合”。阶段2:如何构建?在这一阶段,必须拿出一套设计方案,并解释其中包含的各类对象在外观上是什么样子,以及相互间是如何沟通的。阶段3:开始创建全面的思考、周密的准备、良好的构造不仅使程序更易构建与调试,也使其更易理解和维护,而那正是一套软件赢利的必要条件。构建好系统,并令其运行起来后,必须进行实际检验,以前做的那些需求分析和系统规格便可派上用场了。全面地考察自己的程序,确定提出的所有要求均已满足。现在一切似乎都该结束了?阶段4:校订第一次做的东西并不完善,所以需为自己留下一个深入学习、认知的空间,再回过头去作一些改变”。对于要解决的问题,随着对它的学习和了解愈加深入,可能需要作出大量改动。进行这些工作的一个动力是随着不断的改革优化,终于能够从自己的努力中得到回报,无论这需要经历一个较短还是较长的时期,达到理想的状态。3. 什么是UML?答:是一种能够描述问题、描述解决方案、起沟通作用的语言。这就是UML。UML(Unified Modeling Language 统一建模语言)是由Rational公司发明,目前由OMG(标准化对象管理机构)维护。作为一种建模语言,UML的定义包括UML语义和UML 表示法两个部分:UML语义描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的最佳表达方法所造成的影响。此外UML还支持对元模型的扩展定义。UML 表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。标准建模语言UML的重要内容可以由下列五类图(共9种图形)来定义:用例图、静态图、行为图、交互图、实现图。从应用的角度看,当采用面向对象技术设计系统时,首先是描述需求;其次根据需求建立系统的静态模型,以构造系统的结构;第三步是描述系统的行为。其中在第一步与第二步中所建立的模型都是静态的,包括用例图、类图(包含包)、对象图、组件图和配置图等五个图形,是标准建模语言UML的静态建模机制。其中第三步中所建立的模型或者可以执行,或者表示执行时的时序状态或交互关系。它包括状态图、活动图、顺序图和合作图等四个图形,是标准建模语言UML的动态建模机制。因此,标准建模语言UML的主要内容也可以归纳为静态建模机制和动态建模机制两大类。4. 什么是软件重用?答:软件重用(Reuse)是软件工程中最重要的思想之一,只有软件重用,才能降低软件

相关主题
文本预览
相关文档 最新文档