当前位置:文档之家› .NET开发人员面试题(含答案)

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

.NET开发人员面试题(含答案)
.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方法

三、不定项选择:每题3分

11. 以下叙述正确的是:B C

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

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

C. 接口不能被实例化。

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

12. 从数据库读取记录,你可能用到的方法有:B C D

A. ExecuteNonQuery

B. ExecuteScalar

C. Fill

D. ExecuteReader

13.对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序定义的任务?(多选) ( ABC )

A.Close

B.Dispose

C.Finalize

https://www.doczj.com/doc/5e386006.html,ing

E.Quit

14.以下关于ref和out的描述哪些项是正确的?(多选) ( ACD )

A.使用ref参数,传递到ref参数的参数必须最先初始化。

B.使用out参数,传递到out参数的参数必须最先初始化。

C.使用ref参数,必须将参数作为ref参数显式传递到方法。

D.使用out参数,必须将参数作为out参数显式传递到方法。

15.您要创建https://www.doczj.com/doc/5e386006.html,应用程序用于公司内部的Web站点,这个应用程序包含了50个页面。您想要配置这个应用程序以便当发生一个HTTP代码错误时它可以显示一个自定义的错误页面给用户。您想要花最小的代价完成这些目标,您应该怎么做?(多选)( CD )

A.在这个应用程序的Global.asax文件中创建一个Application_Error过程去处理https://www.doczj.com/doc/5e386006.html,代码错误。

B.在这个应用程序的Web.config文件中创建一个applicationError节去处理https://www.doczj.com/doc/5e386006.html,代码错误。

C.在这个应用程序的Global.asax文件中创建一个CustomErrors事件去处理HTTP错误。

D.在这个应用程序的Web.config文件中创建一个CustomErrors节去处理HTTP错误。

E.在这个应用程序的每一页中添加一个Page指示符去处理https://www.doczj.com/doc/5e386006.html, 代码错误。

四、简答题:每题4分

16、面向对象的三大基本原则?

答:封装,继承,多态。

17、在.NET中所有类的基类是?

答:object。

18、请简述override与Overload的区别?

答:Override是重写的意思,它表示重写基类的方法,而且方法的名称,返回类型,参数类型,参数个数要与基类相同。

Overload是重载是意思,它也表示重写基类的方法,但是只要方法名相同,别的可以不同。

19、请简述C#中的接口和类有什么异同。

答:接口是负责功能的定义,项目中通过接口来规范类,操作类以及抽象类的概念!而类是负责功能的具体实现!在类中也有抽象类的定义,抽象类与接口的区别在于:抽象类是一个不完全的类,类里面有抽象的方法,属性,也可以有具体的方法和属性,需要进一步的专业化。但接口是一个行为的规范,里面的所有东西都是抽象的!一个类只可以继承一个基类也就是父类,但可以实现多个接口

20、请简述UDP连接和TCP连接的异同。

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

21、请简述.net中读写XML的类都归属于哪些命名空间?

答:System.Xml

22、请解释ASP. NET中以什么方式进行数据验证

https://www.doczj.com/doc/5e386006.html, 中有非空验证,比较验证,取值范围验证,正则表达式验证及客户自定义验证五大控件,另还有一个集中验证信息处理控件

23、请解释Const和ReadOnly?

答:Const用来申明编程时申明常量,ReadOnly用来申明运行时常量。

24、请简述在dotnet中类(class)与结构(struct)的异同:(10分)

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

25、请简述一下用Socket进行同步通讯编程的详细步骤

1、在应用程序和远程设备中使用协议和网络地址初始化套接字

2、在应用程序中通过指定端口和地址建立监听

3、远程设备发出连接请求

4、应用程序接受连接产生通信scoket

5、应用程序和远程设备开始通讯(在通讯中应用程序将挂起直到通讯结束)

6、通讯结束,关闭应用程序和远程设备的Socket回收资源

1,请你说说.NET中类和结构的区别?

答:结构和类具有大体的语法,但是结构受到的限制比类要多。类的关键字是class,而结构的关键字是struct,结构不能申明有默认的构造函数,为结构的副本是又编译器创建和销毁的,所以不需要默认的构造函数和析构函数。结构是值类型,所以对结构变量所做的改变不会影响其的原值,而类是引用类型,改变其变量的值会改变其原值。向方法传递结构是时是通过值传递的,而不是通过引用。与类不同,结构的实例化可以不使用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。

11,Collection和Collections的区别?

答:Collection是集合类的上级接口,Collections是针对集合类的一个帮助类,它提供一系列静态方法来实现对各种集合的搜索,排序,线程安全化操作。

12,C#中委托是什么?事件是不是一种委托?

答:委托是一种安全的类似与函数指针,但是她比指针要安全的多,它可以把方法作为一个参数传递给另一个方法,可以理解为指向函数的引用。事件是一种消息机制,它是一种委托,委托不带方

法体。

13,Override, Overload,的区别?

答:Override是重写的意思,它表示重写基类的方法,而且方法的名称,返回类型,参数类型,参数个数要与基类相同。

Overload是重载是意思,它也表示重写基类的方法,但是只要方法名相同,别的可以不同。

14,在一个BS结构中需要传递变量值时,不能使用session,coolke,application,你有几中方法?

答:this.server.Transfer,Querystring.

15, C#种索引器实现过程,是否只能根据数字索引?

答:不是的,可以是任意类型。

16,New有种用法?

答:有3种,第一种是,实例化如:New Class()

第二种是,public new 隐藏基类的方法

第三种是,在泛型类申明中的任何类型参数都必须有公共的无参构造函数。

17,任何把一个Array复制到Arraylist中?

答:Foreach (object o in Array), ArrayList.Add (0)

等有好多中种方法。

18,概述反射和序列化?

答:反射:要给发射下一个定义还是比较难的,这里先说说我的理解。反射提供了封装程序集,模块和类型对象,可以用反射动态地创建类型的实例,将类型绑定到现有对象,或者从现有对象类型里获取类型,然后调用类型的方法或访问字段和属性。

序列化:将对象转换为另一种媒介传输的格式过程。如,序列化一个对象,用Http通过internet 在客户端和服务器之间传递该对象,在另一端用反序列化从该流中重新得到对象。

19,Const和ReadOnly?

答:Const用来申明编程时申明常量,const字段只能在该字段的声明中初始化。const默认是静态的

ReadOnly用来申明运行时常量。readonly字段可以在声明或构造函数中初始化,根据不同的构造函数,readonly可以有不同的值。readonly设置为静态,是必须先声明的。

20,UDP和TCP连接有和异同?

答:TCP是传输控制协议,提供的是面向连接的,是可靠的,字节流服务,当用户和服务器彼此进行数据交互的时候,必须在他们数据交互前要进行TCP连接之后才能传输数据。TCP提供超时重拨,检验数据功能。UDP是用户数据报协议,是一个简单的面向数据报的传输协议,是不可靠的连接。

21,进程和线程分别该怎么理解?

答:进程是比线程大的程序运行单元,都是由操作系统所体会的系统运行单元,一个程序中至少要有一个进程,有一个进程中,至少要有一个线程,线程的划分尺度要比进程要小,进程拥有独立的内存单元,线程是共享内存,从而极大的提高了程序的运行效率同一个进程中的多个线程可以并发执行。

22,https://www.doczj.com/doc/5e386006.html,页面之间传递值的几种方式?

答:QueryString,session,cookies,application,server.Transfer,respose.redictor,url。

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

答:应用程序域:就是为安全性,可靠性,隔离性,和版本控制,及卸载程序提供的隔离边界。它通常由运行库宿主创建,应用程序域提供了一个更安全,用途更广的处理单元。它由公共语言运行库围绕同一个应用程序范围内创建的对象建立。

托管代码:使用CLR编译语言编辑器开发编写的代码就叫托管代码。由公共语言运行库环境执行的代码。

非托管代码:在公共语言运行库环境外部,由操作系统直接执行的代码。

CTS是公共类型系统,CLS是公共语言规范,CLR公共语言运行库。

装箱和拆箱:是把值类型转换为引用类型的过程,是隐式的,相反的过程就是拆箱,是显式的。

强类型系统:每个变量和对象都必须具有申明类型。

https://www.doczj.com/doc/5e386006.html,/paper/archive/2009/08/01/1536586.html

24. 值类型和引用类型的区别?

答:值类型的值是存放在堆栈中的,改变其值,不改变变量原有的值,而引用类型的值是存放在栈中的,其引用的地址是存放在堆栈中的,改变其值也就改变了变量原有的值。值类型不允许包含null值,然而可空类型可以将null赋值给值类型l。

https://www.doczj.com/doc/5e386006.html,/paper/archive/2009/08/01/1536540.html

25. https://www.doczj.com/doc/5e386006.html,的身份验证方式有哪些?

答:windows(IIs),forms,passport

26. 解释一下UDDI、WSDL的意义及其作用?

答:UDDI是统一描述集成协议,是一套基于Web的,分布式的,为WEB服务提供的信息注册的实现标准规范,同时为也是为企业本身提供的Web服务注册以让别的企业能够发现并访问的协议标准。提供了基于标准的规范,用于描述和发现服务,还提供了一组基于因特网的实现。

WSDL这是一个基于XML的描述WEB服务的接口。

27. 什么是SOAP?

答:是简单访问协议。是在分布式环境中,交换信息并实现远程调用的协议。是一个基于XML 的协议。使用SOAP,可以不考虑任何传输协议,但通常还是HTTP协议,可以允许任何类型的对象或代码,在任何平台上,以任一种语言相互通信。它是一种轻量级协议。

28. 如何部署一个https://www.doczj.com/doc/5e386006.html,页面?

答:vs2003,vs2005里边都有发表机制,vs2003可以发布然后在复制部署。

Vs2005可以直接部署到对应的位置。

29. 如何理解.net中的垃圾回收机制?

答:.NET中的垃圾回收机制是引用程序对内存的回收和释放。当每次用new关键字创建一个对象时,运行库都要从托管堆中为其分配内存,因为空间是有限的,最终垃圾回收机制是要回收不用的内存的。已释放内存,重新使用。

30. 面向对象的三大基本原则?

答:封装,继承,多态。

31. 在.NET中所有类的基类是?

答:object。

32. 能用foreach遍历访问的对象需要实现?

答:需要实现IEnumerable接口和GetEnumerator ()方法。

33. Heap与stack的差别?

答:Heap是堆,空间是由手动操作分配和释放的,它的存储区很大的自由存储区。

Stack是栈,是由是操作系统自动分配和释放的,栈上的空间是有限的。程序在编译期间变量和函数分配内存都是在栈上进行的,且在运行时函数调用时的参数的传递也是在栈上进行的。

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

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

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

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

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

35.用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?答:一般为3层

数据访问层,业务层,表示层。

数据访问层对数据库进行增删查改。

业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。

表示层为了与用户交互例如用户添加表单。

优点:分工明确,条理清晰,易于调试,而且具有可扩展性。

缺点:增加成本。

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

答:DataSet:数据存储器。DataCommand:执行语句命令。DataAdapter:数据的集合,用语填充。

37.什么是Code-Behind技术?

答:代码后植。

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

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

39.常用的调用WebService的方法有哪些?

答:1.使用WSDL.exe命令行工具。2.使用https://www.doczj.com/doc/5e386006.html,中的Add Web Reference菜单选项https://www.doczj.com/doc/5e386006.html, Remoting 的工作原理是什么?

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

41.在C#中,string str = null 与string str = “”请尽量使用文字或图象说明其中的区别。答:string str = null 是不给他分配内存空间,而string str = "" 给它分配长度为空字符串的内存空间。

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

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

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

string strTmp = "abcdefg某某某";

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

int j= strTmp.Length;

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

答:i=13,j=10

44.SQLSERVER服务器中,给定表table1 中有两个字段ID、LastUpdateDate,ID表示更新的事务号,LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号

答:Select ID FROM table1 Where LastUpdateDate = (Select MAX (LastUpdateDate) FROM table1)

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

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

https://www.doczj.com/doc/5e386006.html,/paper/archive/2009/08/01/1536539.html

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

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

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

答:解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)

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

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

System.gc()

Runtime.getRuntime().gc()

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

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

[启动一个线程是调用start()方法,这并不意味着线程就会立即运行,只是进入了可运行状态。直

接调用run()方法不会产生线程,而是把它当作普通的方法调用,马上执行。]

50.是否可以继承String类?

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

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

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

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

答:不对,有相同的hash code。

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

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

4.当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 答:不能,一个对象的一个synchronized方法只能由一个线程访问。

5.abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized? 答:都不能。

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

答:List,Set是Map不是

7.Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?

答:Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。

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

答:数组没有length()这个方法,有length的属性。String有有length()这个方法。

9.sleep() 和wait() 有什么区别?

答:sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级(b)正在运行的线程因为其它原因而塞。wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。

10.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正确。

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

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

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

答:是iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sate server或SQL Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件。

13.进程和线程的区别?

答:进程是系统进行资源分配和调度的单位;线程是CPU调度和分派的单位,一个进程可以有多个线程,这些线程共享这个进程的资源。

14.堆和栈的区别?

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

堆:一般由程序员分配释放。用new、malloc等分配内存函数分配得到的就是在堆上。

15.成员变量和成员函数前加static的作用?

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

16.ASP。NET与ASP相比,主要有哪些进步?

答:asp解释形,aspx编译型,性能提高,有利于保护源码。

https://www.doczj.com/doc/5e386006.html,/paper/archive/2009/08/03/1537378.html

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

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

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

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

url参数简单,显示于地址栏,长度有限数据库稳定,安全,但性能相对弱

18.请指出GAC的含义?

答:全局程序集缓存。

19.向服务器发送请求有几种方式?

答:get,post。get一般为链接方式,post一般为按钮方式。

20.DataReader与Dataset有什么区别?

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

21.软件开发过程一般有几个阶段?每个阶段的作用?

答:需求分析,架构设计,代码编写,QA,部署

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

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

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

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

答:string inputStr=" xx xx ";

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

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

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

25.什么是反射?

答:动态获取程序集信息

26.用Singleton如何写设计模式

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

27.什么是Application Pool?

答:Web应用,类似Thread Pool,提高并发性能。

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

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

29.什么是XML?

答:XML即可扩展标记语言。eXtensible Markup Language.标记是指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,即可以选择国际通用的标记语言,比如HTML,也可以使用象XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从SGML中简化修改出来的。它主要用到的有XML、XSL和XPath等。

30.什么是Web Service?UDDI?

答:Web Service便是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。

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

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

32.列举一下你所了解的XML技术及其应用

答:xml用于配置,用于保存静态数据类型.接触XML最多的是web Services..和config

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

答:Connection 数据库连接对象

Command 数据库命令

DataReader 数据读取器

DataSet 数据集

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

答:一个是属性,用于存取类的字段,一个是特性,用来标识类,方法等的附加性质

35.XML 与HTML 的主要区别

答:1. XML是区分大小写字母的,HTML不区分。

2. 在HTML中,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略或者之类的结束标记。在XML中绝对不能省略掉结束标记。

3. 在XML中,拥有单个标记而没有匹配的结束标记的元素必须用一个/ 字符作为结尾。这样分析器就知道不用查找结束标记了。

4. 在XML中,属性值必须分装在引号中。在HTML中,引号是可用可不用的。

5. 在HTML中,可以拥有不带值的属性名。在XML中,所有的属性都必须带有相应的值。

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

答:?:。

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

答:装箱。

38.类成员有_____种可访问形式?

答:this.;new Class().Method;

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

答:const不能用static修饰。

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

答:-123。

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

答:delegate.

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

答:密封,不能继承。

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

答:Control。

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

答:[serializable]

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

答:可以。

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

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

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

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

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

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

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

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

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

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

51.请解释web.config文件中的重要节点

答:appSettings包含自定义应用程序设置。

system.web 系统配置

compilation动态调试编译设置

customErrors自定义错误信息设置

authentication身份验证,此节设置应用程序的身份验证策略。

authorization授权, 此节设置应用程序的授权策略.

52概述o/r mapping 的原理

答:利用反射,配置将类于数据库表映射

软件测试工程师笔试题及答案

测试工程师笔试题 一、计算机知识(30分) 1、在Linux系统中,一个文件的访问权限是755,其含义是什么 参考答案: 755表示该文件所有者对该文件具有读、写、执行权限,该文件所有者所在组用户及其他用户对该文件具有读和执行权限。 2、Linux中,如何从root用户切换到普通用户 参考答案:su su user1 切换到user1,但切换后的当前目录还是root访问的目录 su – user1 切换到user1,并且当前目录切换到user1的根目录下(/home/user1/) 3、简述一下C/S模式和B/S模式的区别 参考答案: c/s 是客户端/服务器架构 b/s 是浏览器/服务器架构 C/S模式有以下特点: S模式将应用与服务分离,系统具有稳定性和灵活性 S模式配备的是点对点的结构模式,适用于局域网,有可靠的安全性 3.由于客户端实现与服务器端的直接连接,没有中间环节,因此响应速度快 4.在C/S模式中,作为客户机的计算机都要安装客户机程序,一旦软件系统升级,每台客户机都要安装客户机程序,系统升级和维护较为复杂 B/S模式有以下特点: 1.系统开发、维护、升级方便 每当服务器应用程序升级时,只要在服务器上升级服务应用程序即可,用户计算机上的浏览器软件不需要修改,系统开发和升级维护方便 S模式具有很强的开放性 在B/S模式下,用户通过通用的浏览器进行访问,系统开放性好 S模式的结构易于扩展 由于Web的平台无关性,B/S模式的结构可以任意扩展,可以从包含一台服务器和几个用户的小型系统扩展成为拥有成千上万个用户的大型系统 4.用户使用方便 B/S模式的应用软件都是基于Web浏览器的,而Web浏览器的界面是类似的。对于无用户交换功能的页面。用户接触的界面都是一致的,用户使用方便 4、Windows操作系统中PATH环境变量的作用是什么 参考答案: PATH是Windows操作系统环境变量,PATH作用是用户在命令行窗口执行一个命令,则在PATH变量设置的目录下依次寻找该命令或对应的执行文件,若找到,则执行,若没有找到,则命令行窗口返回无效命令。 5、TCP和UDP有什么区别 参考答案: TCP-有连接,所以握手过程会消耗资源,过程为可靠连接,不会丢失数据,适合大数据量交换UDP-非可靠连接,会丢包,没有校验,速度快,无须握手过程

平安银行软件开发笔试题

平安银行软件开发笔试题

1、做过的项目中,你认为有哪里亮点?举例说明。 2、项目中遇到冲突问题,你是怎么处理的? 3、举例说明。 4、String和StringBuffer的区别? String是final类,不能被继承,一旦创立,不能修改它的值。 StringBuffer是可变类,对字符串的操作效率比String高。 5、线程安全是怎么回事?java是怎么解决线程安全 的? 线程安全是为了解决资源冲突,防止死锁的发生,java中用synchronized解决,具体有:同步对象、同步代码块、同步方法。 6、Java中异常处理机制的关键字? Throws、throw、try、catch、finally。 7、java中有哪里基础数据类型?String是不是java基础数据类型? byte、short、int、long、float、double、char、boolean。不是。 8、javascript怎么获取一个对象的值,这个对象是个 数组,也就是有多个同名的对象。例:

Var ids=document.getElementsByName(‘report_id’); 9、sql中select语句中group by在order by之前还是 之后? 之前 10、sql中查询用了group by,对分组后的条件进行过 滤,用哪个关键字? Having 11、索引的作用?创立索引有哪些注意事项? 提高查询效率。 创立索引时应该考虑该字段修改,删除的是否频繁、不要建立重复索引等。 12、如何优化SQL? 如:SQL索引优化、调整表的使用顺序,调整查询条件的先后顺序等。 13、写一个sql语句,查询二月份工资最高的人。如:表结构: T1(id,name),T2(id,salary,month)

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可能不是连续的。

java软件工程师面试题集

java软件工程师面试题集 EJB方面 1、EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别? 答:规范内容包括Bean提供者,应用程序装配者,EJB容器,EJB配置工具,EJB服务提供者,系统管理员。这里面,EJB容器是EJB之所以能够运行的核心。EJB容器管理着EJB的创建,撤消,激活,去活,与数据库的连接等等重要的核心工作。JSP,Servlet,EJB,JNDI,JDBC,JMS..... 2、EJB与JAVA BEAN的区别? 答:Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java 类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB 必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。 3、EJB的基本架构 答:一个EJB包括三个部分: Remote Interface 接口的代码 package Beans; import javax.ejb.EJBObject; import java.rmi.RemoteException; public interface Add extends EJBObject { //some method declare } Home Interface 接口的代码

Java软件开发工程师笔试题(答案)

Java工程师笔试题 一、填空题(本大题10小题,每空1分,共20分)。 1.Java语言的三大特性即是: 继承、封装、多态。 2.在Java中,char 型采用____unicode_______编码方案,这样,无论是中文字符还是英文字符,都是占用__2___个字节的内存空间。 3. 形式参数指的是方法被__定义____ 时的参数行,实际参数是方法被__调用__ _ 时所传递进去的变量或值。 4.JSP内置对象中,application对象是代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息,而session 对象则是每个客户专用的。 5.如果想把一个对象写入一个流,那么这个类就必须实现Seralizable 接口。 6.程序中实现多线程的方法有两种:继承Thread类和实现___Runable _ 接口。 7.多线程中,可以通过调用相应的setPriority() 方法来修改一个线程的相对优先级。 8.面向对象编程的五大设计原则,分别是单一职责、开放封闭、 里氏替换、依赖倒置、接口分离 9.通过Ajax,客户端获取的数据主要有两种类型:文本型和xml 10.Socket通常也称为套接字,用于描述__ ip 和_ _接口 二、选择题(本大题20 小题,每小题2分.共40分)。 1.在JA V A中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写.应该使用( )关键字来声明父类的这些方法: A) final B) static C) abstract D) void 2.在JA V A中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是()。 A) interface A extend B,C B) interface A implements B,C C) class A implements B,C D) class A implements B, implements C

.net高级工程师面试题

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

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

DoNet面试题(选择题)原题

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

标记,而aspx页面可以包含 B.用户控件不能触发服务器端的事件,只是一种外观重用方式,而aspx页面可以 C.用户控件继承自https://www.doczj.com/doc/5e386006.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

软件工程师面试题(含答案)

一、你对MVC的理解,MVC有什么优缺点?结合Struts,说明在一个Web应用如何去使用? 答: MVC设计模式(应用观察者模式的框架模式) M: Model(Business process layer),模型,操作数据的业务处理层,并独立于表现层(Independent of presentation)。 V: View(Presentation layer),视图,通过客户端数据类型显示数据,并回显模型层的执行结果。C: Controller(Control layer),控制器,也就是视图层和模型层桥梁,控制数据的流向,接受视图层发出的事件,并重绘视图 MVC框架的一种实现模型 模型二(Servlet-centric): JSP+Servlet+JavaBean,以控制为核心,JSP只负责显示和收集数据,Sevlet,连接视图和模型,将视图层数据,发送给模型层,JavaBean,分为业务类和数据实体,业务类处理业务数据,数据实体,承载数据,基本上大多数的项目都是使用这种MVC的实现模式。StrutsMVC框架(Web application frameworks) Struts是使用MVC的实现模式二来实现的,也就是以控制器为核心。 Struts提供了一些组件使用MVC开发应用程序: Model:Struts没有提供model类。这个商业逻辑必须由Web应用程序的开发者以JavaBean 或EJB的形式提供 View:Struts提供了action form创建form bean, 用于在controller和view间传输数据。此外,Struts提供了自定义JSP标签库,辅助开发者用JSP创建交互式的以表单为基础的应用程序,应用程序资源文件保留了一些文本常量和错误消息,可转变为其它语言,可用于JSP中。Controller:Struts提供了一个核心的控制器ActionServlet,通过这个核心的控制器来调用其他用户注册了的自定义的控制器Action,自定义Action需要符合Struts的自定义Action规范,还需要在struts-config.xml的特定配置文件中进行配置,接收JSP输入字段形成Action form,然后调用一个Action控制器。Action控制器中提供了model的逻辑接口。 二、什么是WebService? 答: WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。 WebService实现不同语言间的调用,是依托于一个标准,webservice是需要遵守WSDL (web服务定义语言)/SOAP(简单请求协议)规范的。 WebService=WSDL+SOAP+UDDI(webservice的注册) Soap是由Soap的part和0个或多个附件组成,一般只有part,在part中有Envelope和Body。 Web Service是通过提供标准的协议和接口,可以让不同的程序集成的一种SOA架构。Web Service的优点 (1) 可以让异构的程序相互访问(跨平台) (2) 松耦合 (3) 基于标准协议(通用语言,允许其他程序访问) Web Service的基本原理 (1) Service Provider采用WSDL描述服务 (2) Service Provider 采用UDDI将服务的描述文件发布到UDDI服务器(Register server)

软件工程师笔试题目

软件工程师笔试题目 (考试时间:60分钟,满分100分) 1、请简要描述TCP/IP参考模型和OSI参考模型。(10分) 2、简述如下物联网设备Wi-FI、Bluetooth、ZigBee、RFID、NB-IoT的各自特点。(10分) 3、编程实现如下运算:1!+ 2!+ 3!+ ……+ 17! + 18! + 19! + 20!。(15分) 4、假设有个字符数组A,有10个元素,请对这10个元素进行从小到大排列。(10分)

5、假定x=9999,求下面函数的返回值(10分) int func(x) { int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx; } 6、对整型数组a[10]输入10个元素,然后用指针方式依次输出各元素值。(15分) 7、在SQL server上创建名为XuGuang的数据库,然后创建WCM730Q的列表,第一列MAC address为主键,第二列为VID_PID,第三列为BT_FW,第四列为Staff_No. (10分) 8、linux基础命令填空(10分) (1)获取Kernel版本信息的linux命令是____________ (2)实现一个新建文件夹功能的linux命令是____________ (3)用来查看和配置网络接口(网卡)的linux命令是____________ (4)把文件从A路径拷贝到B路径的linux命令是____________ (5)使用vim对文档完成修改后,实现保存退出的功能的命令是____________ 9、请用英文写作,描述下个人基本信息、兴趣爱好、专业技能、职业规划等(10分)(请背面作答)

(完整word版)https://www.doczj.com/doc/5e386006.html,面试题132道

1. 简述private、protected、public、internal 修饰符的访问权限。 答 . private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 在同一命名空间内可以访问。 2 .列举https://www.doczj.com/doc/5e386006.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 是进行基类中函数的重写。为了适应需要。

软件工程师常见面试题及答案.doc

软件工程师常见面试题及答案 需求调查: 全面了解您的系统概况、应用领域、软件开发周期、软件开发环境、开发组织、时间安排、功能需求、性能需求、质量需求及测试要求等根据系统概况进行项目所需的人员、时间和工作量估计及项目报价。 制定初步的项目计划: 在与您充分共同和协商的基础上制定我们的测试计划。 测试准备: 组织测试团队、培训、建立测试和管理环境等。 测试设计: 按照测试要求进行每个测试项的测试设计,包括测试用例的设计及测试脚本的开发等。 测试实施: 按照测试计划进行实施测试。 测试评估: 根据测试的结果,出具测试评估报告。 2、根据你的经验说说你对软件测试/质量保证的理解? 软件质量保证与测试是根据软件开发阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据和预期的输出结果),并利用这些测试用例去运行程序,以发现错误的过程。它是对应用程序的各个方面进行测试以检查其功能、语言有效性及外观排布.。 3、(1) 你对SQA的职责和工作活动(如软件度量)的理解: SQA就是独立于软件开发的项目组,通过对软件开发过程的监控,来保证软件的开发流程按照指定的CMM规程(如果有相应的CMM规程),对于不符合项及时提出建议和改进方案,必要是可以要高层经理汇报以求问题的解决。通过这样的途径来预防缺陷的引入,从而减少后期软件的维护成本。SQA主要的工作活动包括制定SQA工作计划,参与阶段产物的评审,进行过程质量、功能配置及物理配置的审计等;对项目开发过程中产生的数据进行度量等等;

(2) 说说你对软件配置管理的理解: 项目在开发的过程中要用相应的配置管理工具对配置项(包括各个阶段的产物)进行变更控制,配置管理的使用取决于项目规模和复杂性能及风险的水平。软件的规模越大,配置管理就显得越重要。还有在配置管理中,有一个很重要的概念,那就是基线,是在一定阶段各个配置项的组合,一个基线就提供了一个正式的标准,随后的工作便基于此标准,并且只有经过授权后才能变更这个标准。配置管理工具主要有CC,VSS,CVS等,偶只用过CVS,对其它的不熟悉 (3) 怎样写测试计划和测试用例: 简单点,测试计划里应有详细的测试策略(测试方法等),合理详尽的资源安排等,至于测试用例,那是依赖于需求(包括功能与非功能需求)是否细化到功能点,是否可测试等。 (4) 说说主流的软件工程思想(如CMM,CMMI,RUP,XP,PSP,TSP等)的大致情况以及对它们的理解: CMM:SW Capability Maturity Model 软件能力成熟度模型,其作用是用于软件过程的改进、评估及软件能力的评鉴CMMI:Capability Maturity Model Integration 能力成熟度模型集成CMMI融入了大部分最新的软件管理实践,同时弥补了SW-CMM模型中的缺陷 RUP:rational unified process 是软件工程化过程。 XP:extreme program,即极限编程的意思,适用于小型团队的软件开发,想上面第三个问题就可以结合原型法采用这样的开发流程。要明白测试对于xp开发的重要性,强调测试(重点是单元测试)先行的理念。编程可以明显提高代码的质量,持续集成对于快速定位问题很有好处。 PSP ,TSP 分别是个体软件过程(Personal Software Process),群组软件过程(Team Software Process)大家都知道,CMM只是告诉你怎么做但并没有告诉你如何做,所以PSP/TSP就是告诉你企

软件工程师面试中常见的问题

面试中常见的问题 1、请你自我介绍一下你自己, 回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有,其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。企业很重视一个人的礼貌,求职者要尊重考官,在回答每个问题之后都说一句“谢谢”。企业喜欢有礼貌的求职者。 2、你觉得你个性上最大的优点是什么? 回答提示:沉着冷静、条理清楚、立场坚定、顽强向上。 乐于助人和关心他人、适应能力和幽默感、乐观和友爱。 3、说说你最大的缺点? 回答提示:这个问题企业问的概率很大,通常不希望听到直接回答的缺点是什么等,如果求职者说自己小心眼、爱忌妒人、非常懒、脾气大、工作效率低,企业肯定不会录用你。绝对不要自作聪明地回答“我最大的缺点是过于追求完美”,有的人以为这样回答会显得自己比较出色,但事实上,他已经岌芨可危了。企业喜欢求职者从自己的优点说起,中间加一些小缺点,最后再把问题转回到优点上,突出优点的部分。企业喜欢聪明的求职者。 4、你对加班的看法?

愿意为公司奉献。 回答样本:如果是工作需要我会义不容辞加班。我现在单身,没有任何家庭负担,可以全身心的投入工作。但同时,我也会提高工作效率,减少不必要的加班 5、你对薪资的要求? 回答提示:如果你对薪酬的要求太低,那显然贬低自己的能力;如果你对薪酬的要求太高,那又会显得你分量过重,公司受用不起。一些雇主通常都事先对求聘的职位定下开支预算,因而他们第一次提出的价钱往往是他们所能给予的最高价钱。他们问你只不过想证实一下这笔钱是否足以引起你对该工作的兴趣。 回答样本一:“我对工资没有硬性要求。我相信贵公司在处理我的问题上会友善合理。我注重的是找对工作机会,所以只要条件公平,我则不会计较太多 回答样本二:我受过系统的软件编程的训练,不需要进行大量的培训。而且我本人也对编程特别感兴趣。因此,我希望公司能根据我的情况和市场标准的水平,给我合理的薪水。 回答样本三:如果你必须自己说出具体数目,请不要说一个宽泛的范围,那样你将只能得到最低限度的数字。最好给出一个具体的数字,这样表明你已经对当今的人才市场作了调查,知道像自己这样学历的雇员有什么样的价值 6、在五年的时间内,你的职业规划? 回答提示:这是每一个应聘者都不希望被问到的问题,但是几乎每个人都会被问到。比较多的答案是“管理者”。但是近几年来,许多公司都已经建立了专门的技术途径。这些工作地位往往被称作“顾问”、“参议技师”或“高级软件工程师”等等。当然,说出其他一些你感兴趣的职位也是可以的,比如产品销售部经理,生产部经理等一些与

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开发人员试题(综合) 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、函数和存储过程的区别?

软件工程师面试题含答案

、你对MVC的理解,MVC有什么优缺点?结合Struts,说明在一个Web应用如何去使用? 答: MVC设计模式(应用观察者模式的框架模式) M: Model(Business process layer) ,模型,操作数据的业务处理层, 并独立于表现层(Independent of presentation) 。 V: View(Presentation layer) ,视图,通过客户端数据类型显示数据, 并回显模型层的执行结果。 C: Controller(Control layer) ,控制器,也就是视图层和模型层桥梁,控制数据的流向,接受视图层发出的事件,并重绘视图 MVC框架的一种实现模型 模型二(Servlet-centric) : JSP+Servlet+JavaBean ,以控制为核心,JSP 只负责显示和收集数据,Sevlet ,连接视图和 模型,将视图层数据,发送给模型层,JavaBea n,分为业务类和数据实体,业务类处理业 务数据,数据实体,承载数据,基本上大多数的项目都是使用这种MVC的实现模式。StrutsMVC 框架(Web application frameworks) Struts是使用MVC勺实现模式二来实现的,也就是以控制器为核心。 Struts提供了一些组件使用MVC开发应用程序: Model: Struts没有提供model类。这个商业逻辑必须由Web应用程序的幵发者以JavaBean 或EJB的形式提供 View:Struts 提供了action form 创建form bean, 用于在controller 和view 间传输数据。此外,Struts 提供了自定义JSP标签库,辅助幵发者用JSP创建交互式的以表单为基础的应用程序,应用程序资源文件保留了一些文本常量和错误消息,可转变为其它语言,可用于JSP中Controller :Struts 提供了一个核心的控制器ActionServlet ,通过这个核心的控制器来

.NET_初中高级开发人员面试题

初级.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 位处理器下,单个进程所能访问的最大存量为:2 32/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 应用程序在

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

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)

(招聘面试)软件开发人员招聘笔试试题

(招聘面试)软件开发人员招聘笔试试题

2002年度软件开发人员招聘笔试试题应聘者资料:

试题壹:基础知识 1、从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写于答卷的对应栏内。 假设某计算机具有1M字节的内存(目前使用的计算机往往具有64M字节之上的内存),且按字节编址,为了能存取该内存各地址的内容,其地址寄存器至少需要二进制_A_位。为使4字节组成的字能从存储器中壹次读出,要求存放于存储器中的字边界对齐,壹个字的地址码应_B_。若存储周期为200NS,且每个周期可访问4个字节,则该存储器带宽为_C_BIT/S。假如程序员可用的存储空间为4M字节,则程序员所用的地址为_D_,而真正访问内存的地址称为_E_。 供选择的答案: A:①10②16③20④32 B:①最低俩位为00②最低俩位为10③最高俩位为00④最高俩位为10 C:①20M②40M③80M④160M D:①有效地址②程序地址③逻辑地址④物理地址 E:①指令②物理地址③内存地址④数据地址 2、从供选择的答案中。选出应填入下面叙述中_?_内的最确切的解答,把相应编号写于答卷的对应栏内。 给定结点的关键字序列(F、B、J、G、E、A、I、D、C、H),对它按字母的字典顺序进行排列,采用不同方法,其最终结果相同。但中间结果是不同的。 Shell排序的第壹趟扫描(步长为5)结果应为_A_。 冒泡排序(大数下沉)的第壹趟起泡的效果是_B_3. 快速排序的第壹趟结果是_C_。

二路归且排序的第壹趟结局是_D_。 供选择的答案 A:①(B、F、G、J、A、D、I、E、H、C) ②(B、F、G、J、A、E、D、I、C、H) ③(A、B、D、C、E、F、I、J、G、H) ④(C、B、D、A、E、F、I、G、J、H) B:①(A、B、D、C、F、E、I、J、H、G) ②(A、B、D、C、E、F、I、H、G、J) ③(B、F、G、E、A、I、D、C、H、J) ④(B、F、G、J、A、E、D、I、C、H) C:①(C、B、D、A、F、E、I、J、G、H) ②(C、B、D、A、E、F、I、G、J、H) ③(B、A、D、E、F、G、I、J、H、C) ④(B、C、D、A、E、F、I、J、G、H) D:①(B、F、G、J、A、E、D、I、G、H) ②(B、A、D、E、F、G、I、J、H、C) ③(A、B、D、C、E、F、I、J、G、H) ④(A、B、D、C、F、E、J、I、H、C) 3、从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答.把相应编号写于答卷的对应栏内。 进程是操作系统中的壹个重要概念。进程是壹个具有壹定独立功能的程序于某个数据集合上的壹次_A2_。

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