2020年度多个面试题含答案.docx
多个面试题含答案一.选择,填空题在ADO. NET中,对于Command对象的 ExecuteNonQuery ()方法和 ExecuteReader () 方法,下面叙述错误的是(C)。a) insert、update> delete 等操作的 Sql语句主要用ExecuteNonQuery ()方法来 执行;b) ExecuteNonQuery ()方法返回执行 Sql 语句所影响的行数。c) Select操作的Sql语句只能由ExecuteReader()方法来执行;d) ExecuteReader ()方法返回一个 DataReder 对象;2 .面向对象的语言具有一继承性一性、一封 装性一性、一多态性性。3 .能用foreach遍历访问的对象需要实现 接 或声明 方法的类型。询)答:I Enumerable、 GetEnumerator ()4 .在C#中,表示一个字符串的变量应使用以下哪 条语句定义?( B )A. CString str;B. string str;C. Dim str as stringD. char * str;5 .在C#编制的财务程序中,需要创立一个存储流 动资金金额的临时变量,则应使用下列哪条语 句?( A )A. decimal theMoney;B. int theMoney;C. string theMoney;D. Dim theMoney as double6 . C#中,新建一字符串变量str,并将字符串” Tom's Living Room”保存到串中,则应该使用下列哪条语句?(B)A. string str = "m's Living Room”;B. string str = "m's Living Room"C. string str( "Tom's Living Room");D. string str ( "Tom" s Living Room");7 .应用ADO. NET访问数据时,Connection对象 的连接字符串中Initial Catalog子串的含义是(A )A. Connection对象连接到的数据库的名称B. Connection对象的身份验证信息C. Connection对象的最大连接时间D. Connection对象使用的缓存大小8,使用Visual Studio .NET 的”新建C# 项 目”创立一个名为“ SimpleForm”的Windows表单应用程序,则在生成 文件中可设置该程序集的Copyright、Trademark等属性信息.(D )A. Forml. resxB. SimpleForm, sinC. SimpleForm. csprojD. Assemblyinfo, cs9. C#程序中,为使变量myForm引用的窗体对象 显示为对话框,必须:(C )A.使用myForm. ShowDailog方法显示对话框B,将myForm对象的isDialog属性设为trueC,将myForm 对象的FormBorderStyle 枚举属 性设置为FixedDialogD,将变量myForm改为引用System. Windows. Dialog 类的对象io,下列哪些语言能够用来开发XML Web Service? ( A, B, C, D )A. CB. C+C. JavaD. C#11 . Web表单中,按钮的默认事件是(A )A. Click 事件B. Load事件C. Init事件D. Command 事件12 .关于ASP. NET窗体应用程序,下列说法哪些是 正确的? ( D )A. Web窗体是在浏览器中进行解释执行的B. Web窗体程序中脚本和代码必须严格分开C. Web窗体程序产生的HTML页面只能运行于 IE浏览器D. Web窗体程序的代码能够使用任何种,NET 兼容的编程语言编写13 .关于结构类型,下列说法哪些是正确的?(A )A.结构是值类型B.结构中不允许定义带参数的实例构造函数;C.结构中不允许定义析构函数D.结构中能够定义成员方法,可是方法内不能 使用this指针E.不能使用new关键字创立结构类型的实例14.关于线程和进程,下列说法哪些是正确的?(A D )A.线程是操作系统分配处理器时间的基本单 位;B.进程是操作系统分配处理器时间的基本单 位;C, 个线程能够属于多个进程;D, 个进程能够有多个线程;15 .为从某个网站访问xml信息,应使用(一)类 的对象分析下载返回的xml文档(C D)A StreamReaderB TextReaderC XmlReaderD XmlTextReader16 .面向对象编程中的“继承”的概念是指(B)A派生类对象能够不受限制地访问所有的基类 对象B派生自同一个基类的不同类的对象具有一些 共同特征C对象之间经过消息进行交互D对象的内部细节被隐藏17 .以下叙述正确的是(D )。A, 一条表示式中能够同时出现浮点数类型和 decima! 类型B.类能够继承,而且能够多重继承C. int , b=new int 4, 5创立了一个二维数组,第一维长为4,第二维长为5D. int x=23; object o=x; int y=(int) o; 实现了一次装箱操作18.以下有关结构类型和枚举类型的叙述错误的 是(C )。A.结构类型和枚举类型都是复合类型B.结构类型只能是简单值类型的组合C,枚举类型要求成员只能是整数类型D,枚举类型的变量在某时刻只19.接口和类最主要的区别在于(D )A.类能够重载而接口不能够B.类不能够重载而接口能够C.类能够多重重载而接口不能够D.类不能够多重重载而接口能够20 .关于静态域成员与非静态域成员,以下说法正 确的是(C )A, 个类的所有对象共享非静态域成员B, 一个类的一个对象分别拥有不同的非静态域 成员的实例C.静态域成员都能在不生成实例的情况下直接 被使用D,非静态域成员都能21 .关于重载,以下叙述错误的是(C, D)oA,重载是指在类的内部存在若干个方法名称一 致可是参数列表不同的方法B,方法重载是指创立多个名称相同的方法,其 中每个方法都在某些方面具有唯一性,以便 编译器能够正确区别它们C,重载构造函数主要是为了在创立对象的同时 进行赋值D,方法的重载允许两个方法的名称和参数列表 相同,而返回类型不同22 .下面有关C#中方法的参数描述正确的是(B )A,利用值类型参数调用方法时,对形参的修改 会反映到实参上去B.输出型参数的实参在传递给形参前,不需要 明确赋值C,引用型参数不另外开辟新的内存区域,这 点是它与输出型参数的不同之处D.数组型参数能够是任何类型的数组23.下面是个派生类的定义语句: public class car: vehicle private string model=" L" ;private int wheelNo=4;请指出针对该定义的正确的说法(C )A. vehicle类是car类的个特例,因而它能 够被继承B. car类是父类,vehicle类是子类C,在car类中定义的成员model和wheelNo会 删除vehicle类中同名的成员D. car类是vehicle类的个特例,它能够继 承vehicle类中除构造函数和析构函24. (D )关键字能够用来访问当前对象的基类对 象。A. objectB. thisC. asD. base25 .重载是(B )的形式之一。A.接口B.多态C.继承D.类26 . X的初值为24,则表示式x+=x+=x%=17运算 的结果值为(D )。A. 28B. 27C. 26D.错误的表示式27 .下面是几条定义初始化二维数组的语句,指出 其中正确的是(D )A. int array2 =new int3, 2;B. int ar ray 2 , =new int 3, 2;C. int array2=new int3, 2;D. int , array2=new int 3, 2;28 . 个初始化语句:enummonthesJanuary, February=3, March=5, Apri 1=7, May, June),则此时 May 的值为(C )。A. 4B. 5C. 8D. 929 .在Asp. net中所有的自定义用户控件都必须继承自?答:Control30 .在.Net中所有可序列化的类都被标记为答:serializable31 .在Net托管代码中我们不用担心内存漏洞, 这是因为有了?答:GCo32 .在Net 中,类 System. Web. UI. Page 能够被继 承么?答:能够。33 .声明静态变量的关键字是(static),声明常 量的关键字是(const)34,在流程控制中CONTINUE的作用(跳出当前循 环继续下一次循环)35 .软件工程的三大文档(需要分析说明书)(概 要设计说明书)(详细设计说明书)。36 . B/S 一般使用的结构设计模型分为(模型) (视图)(控制器)。(MVC经典的 Web/Business/DataAccess)37 . XML 的全称是(Extensible Markup Language” 可扩展标记语言”),提供了快速和有效地读 写XML的方式的类分别是(XMLReader)(XMLWriter)38 . C#中所有的类型实质上都是从(Object)类派 生而来的。39 . NET运行库支持被称为(委托)的引用类型, 其作用类似于C+中函数指针的用途。40 . B/S 一般使用的结构设计模型分为()()( )?*41 .类的三大特性是()()()1.1. NET运行库支持被称为()的引用类型,其作用类似于C+中函数指针的用途43 . C#中处理内存管理功能的是(托管代码GC(垃 圾回收)44 .在C#中用于显式地将一个值或引用转换为另 种不同的类型称为(拆箱)45,在 ADO NET 中,command 对象是用 (ExcuteNonQuery ) ( ExcuteScalar ) (ExcuteDataReader )方法执行命令二.简答题1. 简述 private> protected>public>internal修饰符的访问权限。答:private :私有成员,在类的内部才能够访 问。protected :保护成员,该类内部和继承类 中能够访问。public :公共成员,完全公开,没有访问 限制。internal:在同一命名空间内能够访问。2. C#中,string str = null 与 string str 二”,请尽量用文字说明区别。答:string str ="分配空间而 string str = null不分配空间。3. 用sealed修饰的类有什么特点? 答:不可被继承?*4.请叙述const与readonly的区别。e)每一个class至多只能够定义个static构造函数,而且不允许增加访问级别关键字,参数列必须为空。为了不违背编码规则, 一般把static数据成员声明为private, 然后经过statci property提供读写访 问。const关键字用于修改 字段或局部变量的声明。它指定字段或局 部变量的值不能被修改。常数声明引入给 定类型的个或多个常数。const数据成员的声明 式必须包含初值,且初值必须是个常量 表示式。因为它是在编译时就需要完全评 估。const成员能够使用另 个const成员来初始化,前提是两者之 间没有循环依赖。readonly在运行期评 估赋值,使我们得以在确保“只读访问” 的前提下,把object的初始化动作推迟到 运行期进行。readonly关键字与 const关键字不同:const字段只能在 该字段的声明中初始化。readonly字段能 够在声明或构造函数中初始化。因此,根 据所使用的构造函数,readonly字段可能 具有不同的值。另外,const字段是编译 时常数,而readonly字段可用于运行时 常数。readonly只能在声明时或者构造函数 里面初始化,而且不能在static修饰的 构造函数里面。f)5.简述 private、protected、public、 internal修饰符的访问权限。?*6.请说明在.net中常见的几种页面间传递参 数的方法,并说出她们的优缺点。session (viewstate)简单,但易丢失 © application 全局cookie简单,但可能不支持,可能被伪造 input ttype二hidden”简单,可能被伪造 url参数简单,显示于地址栏,长度有限 数据库稳定,安全,但性能相对弱7 .概述反射和序列化答:反射:程序集包含模块,而模块包含类型, 类型又包含成员。反射则提供了封装程序集、 模块和类型的对象。您能够使用反射动态地创 立类型的实例,将类型绑定到现有对象,或从 现有对象中获取类型。然后,能够调用类型的 方法或访问其字段和属性序列化:序列化是将对象转换为容易传输的格式 的过程。例如,能够序列化一个对象,然后使 用HTTP经过!nternet在客户端和服务器之 间传输该对象。在另一端,反序列化将从该流 重新构造对象。8 .什么是SOAP,有哪些应用。答:SOAP (Simple Object Access Protocol )简单对象访问协议(SOAP)是种轻量的、简单的、基于XML的协议, 它被设计成在WEB上交换结构化的和固化 的信息。SOAP能够和现存的许多因特网 协议和格式结合使用,包括超文本传输协 议(HTTP),简单邮件传输协议(SMTP), 多用途网际邮件扩充协议(MIME)。它还支 持从消息系统到远程过程调用(RPC)等大 量的应用程序。Web service就是个应 用程序,它向外界暴露出个能够经过 Web进行调用的API。这就是说,你能够用 编程的方法经过Web来调用这个应用程序.9 . ASP NET中共有几种类型的控件?各有什么 区别?答:Html控件传统的html标记Web控件能够回传数据,事件驱 动自定义控件在原有控件的基础上增 加功能复合控件多个子控件复合成一个新 的控件10.什么情况用HTML控件,什么情况用WEB 控件,并比较两者差别答:客户端表现用html控件,如果想和 server端交互,那么加上rimat二server,它 就成了服务器端控件,但它没有web控件的 很多方法和属性,如果你需要用到,那么还 是用 webControls.1L用.net做B/S结构的系统,您是用几层结 构来开发,每层之间的关系以及为什么要这 样分层?答:一般为3层数据访问层,业务层,表示层。数据访问层对数据库进行增删查改。业务层一般分为二层,业务表观层实现与表示 层的沟通,业务规则层实现用户密码的安全表示层为了与用户交互例如用户添加表单。优点:分明确,条理清晰,易于调试,而且 具有可扩展性。缺点:增加成本。12 .什么是XML?答:XML即可扩展标记语言。extensible Markup Language.标记是指计算机所能理解的 信息符号,经过此种标记,计算机之间能够处 理包含各种信息的文章等。如何定义这些标 记,即能够选择国际通用的标记语言,比如 HTML,也能够使用象XM这样由相关人士自由 决定的标记语言,这就是语言的可扩展性。XML 是从SGM中简化修改出来的。它主要用到的有 XML、XSL 和 XPath 等。13 .什么是 Web Service? UDDI? 答:Web Service便是基于网络的、分布式的 模块化组件,它执行特定的任务,遵守具体的 技术规范,这些规范使得Web Service能与其 它兼容的组件进行互操作。UDDI的目的是为电子商务建立标准;UDDI是 套基于Web的、分布式的、为Web Service 提供的、信息注册中心的实现标准规范,同时 也包含组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问 协议的实现标准14 . WEB控件能够激发服务端事件,请谈谈服务 端事件是怎么发生并解释其原理?自动传回是 什么?为什么要使用自动传回。在web控件发生事件时,客户端采用提交的 形式将数据交回服务端,服务端先调用Page ,Load事件,然后根据传回的状态信息自动调 用服务端事件自动传回是当我们在点击客户 端控件时,采用提交表单的形式将数据直接 传回到务端只有经过自动传回才能实现服务端事件的机 制,如果没有自动回传机制就只能调用客户 端事件,而不能调用服务端事件16 .请简述DataReader与DataSet的异与同。17 .PDB是什么东西?在调试中它应该放在哪 里?答:PDB是用于保存调试和项目状态信息的 文件,在debug的时候将产生pdb文件,调 试的时候应该放在和对应应用程序集相同目 录。18 .简述ajax的原理。答:ajax简单的讲就是客户端经过 javascript脚本获取服务器端的文本,经 过解析返回值,更新部分的网页内容。19 .描述线程与进程的区别?答:线程(Thread)与进程(Process)二者 都定义了某种边界,不同的是进程定义的 是应用程序与应用程序之间的边界,不同 的进程之间不能共享代码和数据空间,而 线程定义的是代码执行堆栈和执行上下文 的边界。个进程能够包括若干个线程, 同时创立多个线程来完成某项任务,便是 多线程。而同一进程中的不同线程共享代 码和数据空间。用个比喻来说,如果 个家庭代表一个进程,在家庭内部,各个 成员就是线程,家庭中的每个成员都有义 务对家庭的财富进行积累,同时也有权利 对家庭财富进行消费,当面对个任务的 时候,家庭也能够派出几个成员来协同完 成,而家庭之外的人则没有办法直接消费 不属于自己家庭的财产。20 .什么是Windows服务,它的生命周期与标准 的EXE程序有什么不同答:Windows服务是运行在windows后台指 定用户下(默认System)的应用程序,它 没有标准的UI界面,想比标准的EXE程 序,Windows服务是在服务开始的时候创 立,而在服务结束的时候销毁,而且能够 设置服务是否与操作系统起启动,起 关闭。它支持三种方式:1 )自动方式 2)手动方式3)禁用。自动方式的时 候,windows服务将在0S启动后自动启动 运行,而手动方式则必须手工启动服务, 禁用的情况下服务将不能被启动。另外标 准的EXE默认使用的当前登录的用户,而 windows服务则默认使用System用户,这 在对系统资源访问的时候特别需要注意。21 .什么是强类型,什么是弱类型?哪种更好 些?为什么?答:强类型是在编译的时候就确定类型的数 据,在执行时类型不能更改,而弱类型在 执行的时候会确定类型。没有好不好,二者各有好处,强类型安全,因为它事先 已经确定好了,而且效率髙。一般用于编 译型编程语言,如c+, java, c#, pascal 等,弱类型相比而言不安全,在运行的时候 容易出现错误,但它灵活,多用于解释型 编程语言,如javascript, vb等.22 .什么是GAC?它解决了什么问题?答:Gloal Assembly Cache,全局应用程序 集缓存。它解决了几个程序共享某个程 序集的问题。不必再将那个被共享的程序 集拷贝到应用程序目录了,其实这道理很 简单,.net应用程序在加载的时候,会首 先查看全局应用程序集缓存,如果有就能 够直接使用,没有再到应用程序目录进行 查找。23 .阐述面向接口、面向对象、面向方面编程的 区别答:24 .简述用repeater实现手工分页的思路。25 . web service数据传输有什么限制?为什 么?DataTable能够作为web service参数传递 么?答:所传输的数据必须是可序列化的。因为 需要转换为XML格式以能够穿越防火墙, 做到真正的数据共享。因为DataSet处理 DataTable的序列化以便进行封送处理, 因此无法传递单个DataTable26 .常见的调用WebService的方法有哪些?答:在同一个解决方案中调用WebService 方法;在不同的解决方案中调用WebService方 法;在 Internet 上调用 WebService 方法;利用 webservice, htc 调用 WebService 方 法。28 .在 C# 中,string str = null 与 string str二请尽量使用文字或图象说明其中的 区别。答:30 .请详述在dotnet中类(class)与结构 (struct)的异同:答:Class能够被实例化,属于引用类型,是分 配在内存的堆上的,Struct属于值类型,是分配 在内存的栈上的.31 .如何理解委托?答:据说相当于函数指针,定义了委托就能够在 不调用原方法名称的情况下调用那个方法.msdn中是这样解释的:委托具有以下特点:委托类似于C+函数指针,但它是类型安全 的。委托允许将方法作为参数进行传递。委托可用于定义回调方法。委托能够链接在一起;例如,能够对个事件 调用多个方法。方法不需要与委托签名精确匹配。有关更多信 息,请参见协变和逆变。C# 2.0版引入了匿名方法的概念,此类方法允 许将代码块作为参数传递,以代替单独定义 的方法。33 . override与重载的区别ride与重载的区别。重载是方法的名称相 同。参数或参数类型不同,进行多次重载以 适应不同的需要Override是进行基类中函数的重写。为了 适应需要。34 . abstract class 和 interface 有什么区别?答:声明方法的存在而不去实现它的类被 叫做抽象类(abstract class),它用于要创 立一个体现某些基本行为的类,并为该类声 明方法,但不能在该类中实现该类的情况。 不能创立abstract类的实例。然而能够创 立一个变量,其类型是个抽象类,并让它 指向具体子类的个实例。不能有抽象构造 函数或抽象静态方法。Abstract类的子类为 它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实 现该方法。知道其行为的其它类能够在类中 实现这些方法。接口(interface)是抽象类的变体。在接口 中,所有方法都是抽象的。多继承性可经过 实现这样的接口而获得。接口中的所有方法 都是抽象的,没有一个有程序体。接口只能 够定义static final成员变量。接口的实现 与子类相似,除了该实现类不能从接口定义 中继承行为。当类实现特殊接口时,它定义 (即将程序体给予)所有这种接口的方法。然 后,它能够在实现了该接口的类的任何对象 上调用接口的方法。由于有抽象类,它允许 使用接口名作为引用变量的类型。一般的动 态联编将生效。引用能够转换到接口类型或 从接口类型转换,instanceof运算符能够用 来决定某对象的类是否实现了接口。35 . Session有什么重大BUG,微软提出了什么 方法加以解决?答:是iis中由于有进程回收机制,系统 繁忙的话Session会丢失,能够用Sateserver或SQL Server数据库的方式存储 Session不过这种方式比较慢,而且无法捕 获Session的END事件。36 .成员变量和成员函数前加static的作用?答:它们被称为常成员变量和常成员函 数,又称为类成员变量和类成员函数。分别 用来反映类的状态。比如类成员变量能够用 来统计类实例的数量,类成员函数负责这种 统计的动作。37 .简述三层架构的利弊。38 .简述AJAX控件timer的实现原理。39 .简述ASP. NET中用户控件和自定义控件的区 另山40 .简述framework在.NET中的作用.41 .简述C#中引入泛型的好处。42 .谈谈 arraylist 和 list利弊.43 .怎样实现用JS调用服务器端定义的方法。44 .简述ADO. NET中几大对象的作用.45 .相对与其它WEB开发平台,微软的.net平 台有什么独特的优势和劣势。46 .谈谈Schema和DTD相比,具有那些显著的 优势。47 .什么叫应用程序域?什么是受管制的代码? 什么是强类型系统?什么是装箱和拆箱?什 么是重载? CTS、CLS和CLR分别作何解释?答:(1)应用程序域(一般为AppDomain)是 个用于隔离应用程序的虚拟进程。(2)受管制的代码:Managed Code,官 方翻译是“托管代码”,即在net中,由公共 语言运行环境进行管理的代码,它主要负责内 存管理。(3)强类型系统:是对系统的类型进行细化定义,纯粹是概念问题,不做深入研究的话, 看书理解一下就行。(4)装箱和拆箱:值类型转化引用类型为 装箱,引用类型转化为值类型为拆箱。(5) CTS:通用语言系统。CLS:通用语言 规范。CLR:公共语言运行库。48 .强类型与弱类型的区别?(1)答:完全的面向对象要求对象是强类型的。 强类型是只在对象类型的定义尽量的细化。我 们能够定义所有的对象都是object,然后允 许后期绑定来对对象进行操作。事实上,有些 语言是弱类型的,特别是些教本语言,比如 javascript.弱类型语言对简化了语言本身, 因而语言本事是能够轻量的,在些特殊的场 合还是很有用的。(2)但弱类型与强类型语言相比,它们能完 成的功能从本质上来说,是没有区别的。但弱 类型的轻量化是以牺牲开发的方便性和效率 为基础的。它将一部分机器能完成的事情移到 程序员来完成。如果开发同样个功能,如果 用javascript和强类型的vb. net来开发,两者对程序员的要求与开发所需要的时间是 明显不同的。49 .请详述在c#中类(class)与结构(struct)的 异同?答:50 . GC是什么?为什么要有GC?答:GC是垃圾收集器。程序员不用担心内存管理, 因为垃圾收集器会自动进行管理。要请求垃圾 收集,能够调用下面的方法之一:System, gc ()Runtime. getRuntime (). gc ()51 . String s = new String("xyz”);创立了几 个 String Object?答:52 . abstract class 和 interface 有什么区别?答:53 .启动个线程是用run()还是start ()?答:启动个线程是调用start。方法,使线程 所代表的虚拟处理机处于可运行状态,这意味 着它能够由JVM调度并执行。这并不意味着线 程就会立即运行。run()方法能够产生必须退 出的标志来停止个线程。54 .接口是否可继承接口?抽象类是否可实现 (implements)接口?抽象类是否可继承实体 类(concrete class)?答:接口能够继承接口。抽象类能够实现 (implements)接口,抽象类是否可继承实体类, 但前提是实体类必须有明确的构造函数。55 .构造器 Constructor 是否可被 override?答:构造器Constructor不能被继承,因此不能 重写Overriding,但能够被重载Overloadingo56 .是否能够继承String类?答:57 . try 里有一个return语句,那么紧跟在 这个try后的finally 里的code会不会被 执行,什么时候被执行,在return前还是后?答:58 .两个对象值相同(x. equals (y) = true),但 却可有不同的hash code,这句话对不对?答:59 . swtich是否能作用在byte上,是否能作用 在long上,是否能作用在String上?答:60 .当个线程进入个对象的个 synchronized方法后,其它线程是否可进入 此对象的其它方法?答:61 . abstract 的 method 是否可同时是 static, 是否可同时是native ,是否可同时是 synchronized?答:62 . List, Set, Map 是否继承自 Collection 接 ?答:63 . Set里的元素是不能重复的,那么用什么方 法来区分重复与否呢?是用=还是equals。? 它们有何区别?答:Set里的元素是不能重复的,那么用 iterator ()方法来区分重复与否。equals ()是 判读两个Set是否相等。equals()和=方法决定引用值是否指向同一对 象equals。在类中被覆盖,为的是当两个分 离的对象的内容和类型相配的话,返回真值64 .数组有没有length。这个方法? String有 没有length。这个方法?答:没有这个方法可是有length这个属性。65 . sleep ()和wait ()有什么区别?答:sleep。方法是使线程停止一段时间的方法。 在sleep时间间隔期满后,线程不一定立即 恢复执行。这是因为在那个时刻,其它线程可 能正在运行而且没有被调度为放弃执行,除非 (a) “醒来”的线程具有更髙的优先级(b)正在运行的线程因为其它原因而阻塞。wait。是线程交互时,如果线程对个同步对象 x发出个wait。调用,该线程会暂停执行, 被调对象进入等待状态,直到被唤醒或等待时 间到。66 . short si = 1; si = si + 1;有什么错? short si = 1; si += 1;有什么错?答:short si = 1; si = si + 1;有错,si 是 short型,sl+!是int型,不能显式转化为 short 型。可修改为 si = (short) (si + 1) short si = 1; si += 1 正确。67 .谈谈 final, finally, finalize 的区别。答:final一修饰符(关键字)如果个类被声明为 final,意味着它不能再派生出新的子类,不 能作为父类被继承。因此个类不能既被声明为abstract的,又被声明为final的。 将变量或方法声明为final,能够保证它们在 使用中 不被改变。被声明为final的变 量必须在声明时给定初值,而在以后的引用中 只能读取,不可修改。被声明为 final 的方法也同样只能使用,不能重载finally一再异常处理时提供finally块来执 行任何清除操作。如果抛出个异常,那么相 匹配的catch子句就会执行,然后控制就会进入finally块(如果有的话)。finalize 一方法名。Java技术允许使用 finalize()方法在垃圾收集器将对象从内存 中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有 被引用时对这个对象调用的。它是在Object 类中定义的 ,因此所有的类都继承了它。 子类覆盖finalize()方法以整理系统资源 或者执行其它清理工作。finalize ()方法是在垃圾收集器删除对象之前对这个对象 调用的。68 .如何处理几十万条并发数据?答:用存储过程或事务。取得最大标识的时候同 时更新.注意主键不是自增量方式这种方法 并发的时候是不会有重复主键的.取得最大 标识要有一个存储过程来获取.69 . Session有什么重大BUG,微软提出了什么方 法加以解决?答:是iis中由于有进程回收机制,系统繁忙的 话Session会丢失,能够用Sateserver或SQLServer数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的 END事件。70 .进程和线程的区别?答:进程是系统进行资源分配和调度的单位;线 程是CPU调度和分派的单位,个进程能够有 多个线程,这些线程共享这个进程的资源。71 .堆和栈的区别?答:栈:由编译器自动分配、释放。在函数体中 定义的变量一般在栈上。堆:一般由程序员分配释放。用new、malloc 等分配内存函数分配得到的就是在堆上。72 .成员变量和成员函数前加static的作用?答:它们被称为常成员变量和常成员函数,又称 为类成员变量和类成员函数。分别用来反映类 的状态。比如类成员变量能够用来统计类实例 的数量,类成员函数负责这种统计的动作。73 .请指出GAC的含义?答:全局程序集缓存。74 .在c#中using和new这两个关键字有什么意 义,请写出你所知道的意义? using指令和语 句new创立实例new隐藏基类中方法。答:using引入名称空间或者使用非托管资源 new新建实例或者隐藏父类方法75 .什么是虚函数?什么是抽象函数?答:虚函数:没有实现的,可由子类继承并重写 的函数。抽象函数:规定其非虚子类必须实现 的函数,必须被重写。76 . C#中 property 与 attribute 的区别,她 们各有什么用处,这种机制的好处在哪里?答:个是属性,用于存取类的字段,个是特 性,用来标识类,方法等的附加性质77 . c#中的三元运算符是?答:?:78 .当整数a赋值给个object对象时,整数a 将会被?答:装箱。79 .类成员有 种可访问形式?答:this.类成员;new Class ()类成员80 . public static const int A=l;这段代码 有错误么?是什么?答:const不能用static修饰。81 . float f=-123. 567F; int i二(int)f;i 的值 现在是?答:-123。82 .委托声明的关键字是?答:delegate.83 .用sealed修饰的类有什么特点?答:密封,不能继承。84 .如何在C#中实现继承?在类名后加上一个冒号,再加上基类的名称。85 . 一个进程能够访问的Windows地址空间有多 大?等于系统的虚拟内存大小么?这两方面 将对系统的设计产生什么样的影响?答:4G,虚拟内存大小是看你物理内存大小来定 的啊,实际进程在windows上默认是能够访问 2G内存,经过个/3g boot参数,能够用到 3G86