《2020年度多个面试题含答案.pdf》由会员分享,可在线阅读,更多相关《2020年度多个面试题含答案.pdf(82页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、多个面试题含答案资料仅供参考一.选择,填空题1 .在 ADO.NET中,对于Command对象的ExecuteNonQuery()方法和 ExecuteReader()方法,下面叙述错误的是(C)。a)insert、update delete 等操作的Sql语句主要用ExecuteNonQuery()方法来执行;b)ExecuteNonQuery()方法返回执行 Sql语句所影响的行数。c)Select操作的Sql语句只能由ExecuteReader()方法来执行;d)ExecuteReader()方法返回一个DataReder 对象;2.面向对象的语言具有继承性 性、一 封装性 性、_ 多态
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 theM oney;B.int theM oney;C.string theM oney;D.Dim theM oney as double6 .C
3、#中,新建一字符串变量str,并将字符串”Tom,s Living Room”保存到串中,则应该使用下列哪条语句?(B)A.string str=Tom s Living Room”;B.string str=Tom s Living Room”;C.string str(Tom s Living Room);D.string str(Tom s Living Room );资料仅供参考7.应用A D O.N E T 访问数据时,C o n n e c t i o n 对象的连接字符串中I n i t i a l C a t a l o g 子串的含 义 是(A )A.C o n n e c
4、t i o n 对象连接到的数据库的名称B.C o n n e c t i o n 对象的身份验证信息C.C o n n e c t i o n 对象的最大连接时间D.C o n n e c t i o n 对象使用的缓存大小8,使用Vi s u a l S t u d i o .N E T 的”新建C#项目”创立一个名为“S i m p l e Fo r m”的Wi n d o w s表单应用程序,则在生成 文件中可设置该程序集的C o p y r i g h t、T r a d e m a r k 等属性信息.(D )A.B.C.D.Fo r m l.r e s xS i m p l e
5、Fo r m.s i nS i m p l e Fo r m,c s p r o jA s s e m b l y i n f o,c s9.C#程序中,为使变量m y Fo r m 引用的窗体对象显示为对话框,必须:(C )A.使用m y Fo r m.S h o w D a i l o g 方法显示对话框资料仅供参考B.将m y Fo r m 对象的i s D i a l o g 属性设为t r u eC.将m y Fo r m 对象的Fo r m B o r d e r S t y l e 枚举属性设置为Fi x e d D i a l o gD.将变量m y Fo r m 改为引用S
6、y s t e m.Wi n d o w s.D i a l o g 类的对象i o.下列哪些语言能够用来开发XM L We bS e r v i c e?(A,B,C,D )A.CB.C+C.J a v aD.C#i i .We b 表单中,按钮的默认事件是(A )A.C l i c k 事件B.L o a d 事件C.I n i t 事件D.C o m m a n d 事件1 2 .关于A S P.N E T 窗体应用程序,下列说法哪些是正确的?(D )A.We b 窗体是在浏览器中进行解释执行的资料仅供参考B.W eb窗体程序中脚本和代码必须严格分开C.W eb窗体程序产生的HTML页面
7、只能运行于I E浏览器D.W eb兼容的编程语言编写窗体程序的代码能够使用任何一种.NET13.关于结构类型,下列说法哪些是正确的?(A)A.结构是值类型B.结构中不允许定义带参数的实例构造函数;C.结构中不允许定义析构函数D.结构中能够定义成员方法,可是方法内不能使用t h i s指针E.不能使用new关键字创立结构类型的实例14.关于线程和进程,下列说法哪些是正确的?(A D)A.线程是操作系统分配处理器时间的基本单位;B.进程是操作系统分配处理器时间的基本单位;C.一个线程能够属于多个进程;资料仅供参考D.一个进程能够有多个线程;15.为从某个网站访问xml信息,应使用(_)类的对象分析
8、下载返回的xml文 档(C D)A StreamReaderB TextReaderC XmlReaderD XmlTextReader16.面向对象编程中的“继承”的概念是指(B)A派生类对象能够不受限制地访问所有的基类对象B派生自同一个基类的不同类的对象具有一些共同特征C对象之间经过消息进行交互D对象的内部细节被隐藏17.以下叙述正确的是(D )。A.一条表示式中能够同时出现浮点数类型和decimal 类型B.类能够继承,而且能够多重继承C.int,b=new int 4,5 创立了一个二资料仅供参考维数组,第一维长为4,第二维长为5D.i n t x=2 3;o b j e c t o=
9、x;i n t y=(i n t)o;实现了一次装箱操作1 8.以下有关结构类型和枚举类型的叙述错误的是(C )。A.结构类型和枚举类型都是复合类型B.结构类型只能是简单值类型的组合C.枚举类型要求成员只能是整数类型D,枚举类型的变量在某一时刻只19.接口和类最主要的区别在于(D )oA.类能够重载而接口不能够B.类不能够重载而接口能够C.类能够多重重载而接口不能够D.类不能够多重重载而接口能够2 0.关于静态域成员与非静态域成员,以下说法正确的是(C )oA.一个类的所有对象共享非静态域成员B.一个类的一个对象分别拥有不同的非静态域成员的实例资料仅供参考C.静态域成员都能在不生成实例的情况下
10、直接被使用D.非静态域成员都能21.关于重载,以下叙述错误的是(C,D)oA.重载是指在类的内部存在若干个方法名称一致可是参数列表不同的方法B.方法重载是指创立多个名称相同的方法,其中每个方法都在某些方面具有唯一性,以便编译器能够正确区别它们C.重载构造函数主要是为了在创立对象的同时进行赋值D.方法的重载允许两个方法的名称和参数列表相同,而返回类型不同22.下面有关C#中方法的参数描述正确的是(B)OA.利用值类型参数调用方法时,对形参的修改会反映到实参上去B.输出型参数的实参在传递给形参前,不需要明确赋值C.引用型参数不另外开辟新的内存区域,这一点是它与输出型参数的不同之处资料仅供参考D.数
11、组型参数能够是任何类型的数组2 3.下面是一个派生类的定义语句:p u b li c c las s c ar:v e h i c le p r i v at e s t r i n g m o d e l=L;p r i v at e i n t w h e e lNo=4;请指出针对该定义的正确的说法(C )oA.v e h i c le 类是c ar 类的一个特例,因而它能够被继承B.c ar 类是父类,v e h i c le 类是子类C.在 c ar 类中定义的成员m o d e l和 w h e e lNo 会删除v e h i c le 类中同名的成员D.c ar 类是v e h
12、 i c le 类的一个特例,它能够继承 v e h i c le 类中除构造函数和析构函24.(D )关键字能够用来访问当前对象的基类对象。A.o b je c tC.asB.t h i sD.b as e25.重载是(BA.接口)的形式之一。B.多态资料仅供参考C.继承 D.类2 6.x的初值为24,则表示式x+=x-+=x%=1 7运算的结果值为(D)oA.28 B.27C.26 D.错误的表示式27.下面是几条定义初始化二维数组的语句,指出其中正确的是(D)oA.int array2 =new int3,2;B.int ar ray 2,=new int 3,2;C.int array
13、2=new int3,2;D.int ,array2=new int 3,2;28.一个初始化语句:enummonthesJanuary,February=3,M arch=5,Apri1=7,M ay,June),则此时 M ay 的值为(C)。A.4 B.5 C.8D.929.在Asp.n e t中所有的自定义用户控件都必须资料仅供参考继承自?答:C o n t r o l o30.在.Ne t 中所有可序列化的类都被标记为9答:s e r i ali z ab le 3i.在.Ne t 托管代码中我们不用担心内存漏洞,这 是 因 为 有 了?答:GC o32.在 Ne t 中,类 Sy
14、s t e m.We b.UI.Pag e 能够被继承么?答:能够。33.声明静态变量的关键字是(s t at i c),声明常量的关键字是(c o n s t)34.在流程控制中C ONTINUE 的作用(跳出当前循环继续下一次循环)35.软件工程的三大文档(需要分析说明书)(概要设计说明书)(详细设计说明书)。36.B/S 一般使用的结构设计模型分为(模型)(视 图)(控 制 器)。(M V C 经 典 的We b/B u s i n e s s/D at aA c c e s s)37.XML 的全称是(E x t e n s i b le Mar ku p L a n g u a g
15、e”可扩展标记语言”),提供了快速和有效地读写 X M L 的方式的类分别是(XM L R e a d e r)资料仅供参考(XM L W r it e r)38.C#中所有的类型实质上都是从(O b je c t)类派生而来的。39.N ET 运行库支持被称为(委托)的引用类型,其作用类似于C+中函数指针的用途。40.B/S 一般使用的结构设计模型分为()()()?*4 1.类的三大特性是()()()4 2.N ET 运行库支持被称为()的引用类型,其作用类似于C+中函数指针的用途43.C#中处理内存管理功能的是(托管代码GC(垃圾回收)44.在 C#中用于显式地将一个值或引用转换为另一种不
16、同的类型称为(拆箱)45.在 A D O o N ET 中,c om m a n d 对 象 是 用(Ex c u t e N on Q u e r y )(Ex c u t e S c a l a r )(Ex c u t e D a t a R e a d e r )方法执行命令资料仅供参考二.简答题1.简述 p r iv a t e p r ot e c t e d p u b l ic in t e r n a l 修饰符的访问权限。答:p r iv a t e :私有成员,在类的内部才能够访问。p r ot e c t e d :保护成员,该类内部和继承类中能够访问。p u b l
17、ic :公共成员,完全公开,没有访问限制。in t e r n a l:在同一命名空间内能够访问。2.C#中,s t r in g s t r =n u l l 与 s t r in g s t r二”,请尽量用文字说明区别。答:s t r in g s t r 分配空间而 s t r in g s t r =n u l l 不分配空间。3.用 s e a l e d 修饰的类有什么特点?答:不可被继承?*4.请叙述c on s t 与 r e a d on l y 的区别。e)每一个c l a s s 至多只能够定义一个s t a t ic 构造函数,而且不允许增加访问级资料仅供参考别关键字
18、,参数列必须为空。为了不违背编码规则,一般把s t a t ic 数据成员声明为p r iv a t e,然后经过s t a t c i p r op e r t y 提供读写访问。c on s t 关键字用于修改字段或局部变量的声明。它指定字段或局部变量的值不能被修改。常数声明引入给定类型的一个或多个常数。c on s t 数据成员的声明式必须包含初值,且初值必须是一个常量表示式。因为它是在编译时就需要完全评估。c o n s t 成员能够使用另一个c o n s t 成员来初始化,前提是两者之间没有循环依赖。r e a d o n l y 在运行期评估赋值,使我们得以在确保“只读访问”的前
19、提下,把。b j e c t 的初始化动作推迟到运行期进行。r e a d o n l y 关键字与c o n s t 关键字不同:c o n s t 字段只能在资料仅供参考该字段的声明中初始化。r e a d o n l y 字段能够在声明或构造函数中初始化。因此,根据所使用的构造函数,r e a d o n l y 字段可能具有不同的值。另外,c o n s t 字段是编译时常数,而 r e a d o n l y 字段可用于运行时常数。r e a d o n l y 只能在声明时或者构造函数里面初始化,而且不能在s t a t i c 修饰的构造函数里面。f)5.简述 p r i v a
20、 t e、p r o t e c t e d、p u b l i c i n t e r n a l 修饰符的访问权限。?*6.请说明在.n e t 中常见的几种页面间传递参数的方法,并说出她们的优缺点。资料仅供参考s e s s i o n (v i e ws t a t e)简单,但易丢失 a p p l i c a t i o n 全局c o o k i e简单,但可能不支持,可能被伪造i n p u t t t y p e=h i d d e n”简单,可能被伪造u r l参数简单,显示于地址栏,长度有限数据库稳定,安全,但性能相对弱7 .概述反射和序列化答:反射:程序集包含模块,而模
21、块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您能够使用反射动态地创立类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,能够调用类型的方法或访问其字段和属性序列化:序列化是将对象转换为容易传输的格式的过程。例如,能够序列化一个对象,然后使用H T T P经 过I n t e r n e t在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。8 .什么是S O AP,有哪些应用。答:S O A P (S i m p l e O b j e c t A c c e s sP ro t o c o l )简单对象访问协议(S O A P)是资
22、料仅供参考一种轻量的、简单的、基 于 X M L 的协议,它被设计成在W E B 上交换结构化的和固化的信息。S O A P 能够和现存的许多因特网协议和格式结合使用,包括超文本传输协议(H T T P),简单邮件传输协议(S M T P),多用途网际邮件扩充协议(M I M E)。它还支持从消息系统到远程过程调用(R P C)等大量的应用程序。W e b s e rvi c e 就是一个应用程序,它向外界暴露出一个能够经过W e b 进行调用的A P I。这就是说,你能够用编程的方法经过W e b 来调用这个应用程序.9.A S PO N E T 中共有几种类型的控件?各有什么区别?答:H
23、t m l 控件传统的h t m l 标记W e b 控件能够回传数据,事件驱动自定义控件在原有控件的基础上增加功能复合控件多个子控件复合成一个新的控件资料仅供参考10.什么情况用H T M L 控件,什么情况用W E B控件,并比较两者差别答:客户端表现用h t m l 控件,如果想和s e rve r端交互,那么加上ru n a t=s e rve r,它就成了服务器端控件,但它没有w e b 控件的很多方法和属性,如果你需要用到,那么还是用 w e b C o n t ro l s.11.用.n e t 做 B/S 结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?
24、答:一般为3 层数据访问层,业务层,表示层。数据访问层对数据库进行增删查改。业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。表示层为了与用户交互例如用户添加表单。优点:分工明确,条理清晰,易于调试,而且具有可扩展性。缺点:增加成本。资料仅供参考12.什么是X M L?答:X M L 即可扩展标记语言。e x t e n s i bl eM ar k u p L an g u ag e.标记是指计算机所能理解的信息符号,经过此种标记,计算机之间能够处理包含各种信息的文章等。如何定义这些标记,即能够选择国际通用的标记语言,比如H T M L,也能够使用象X M L
25、 这样由相关人士自由决定的标记语言,这就是语言的可扩展性。X M L是从S G M L 中简化修改出来的。它主要用到的有X M L、X S L 和 X P at h 等。13.什么是 W e b S e r v i c e?U D D I?答:W e b S e r v i c e 便是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得W e b S e r v i c e 能与其它兼容的组件进行互操作。U D D I 的目的是为电子商务建立标准;U D D I 是一套基于W e b的、分布式的、为 W e b S e r v i c e提供的、信息注册中心的实
26、现标准规范,同时也包含一组使企业能将自身提供的W e bS e r v i c e 注册,以使别的企业能够发现的访问协议的实现标准资料仅供参考14.W E B 控件能够激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回。在 w e b控件发生事件时,客户端采用提交的形式将数据交回服务端,服务端先调用P ag e_ L o ad 事件,然后根据传回的状态信息自动调用服务端事件自动传回是当我们在点击客户端控件时,采用提交表单的形式将数据直接传回到务端只有经过自动传回才能实现服务端事件的机制,如果没有自动回传机制就只能调用客户端事件,而不能调用服务端事件16
27、.请简述D at aR e ad e r 与 D at aS e t 的异与同。17.P D B 是什么东西?在调试中它应该放在哪里?答:P D B 是用于保存调试和项目状态信息的文件,在 d e b ug 的时候将产生p d b 文件,调试的时候应该放在和对应应用程序集相同目录。1 8 .简述a j a x 的原理。资料仅供参考答:a j a x 简单的讲就是客户端经过j a va sc ri p t脚本获取服务器端的文本,经过解析返回值,更新部分的网页内容。1 9.描述线程与进程的区别?答:线程(Th re a d)与进程(P ro c e ss)二者都定义了某种边界,不同的是进程定义的是
28、应用程序与应用程序之间的边界,不同的进程之间不能共享代码和数据空间,而线程定义的是代码执行堆栈和执行上下文的边界。一个进程能够包括若干个线程,同时创立多个线程来完成某项任务,便是多线程。而同一进程中的不同线程共享代码和数据空间。用一个比喻来说,如果一个家庭代表一个进程,在家庭内部,各个成员就是线程,家庭中的每个成员都有义务对家庭的财富进行积累,同时也有权利对家庭财富进行消费,当面对一个任务的时候,家庭也能够派出几个成员来协同完成,而家庭之外的人则没有办法直接消费不属于自己家庭的财产。资料仅供参考2 0.什么是W i n d o w s服务,它的生命周期与标准的E X E 程序有什么不同答:W
29、i n d o w s服务是运行在w i n d o w s后台指定用户下(默认Sy ste m)的应用程序,它没有标准的UI 界面,想比标准的E X E 程序,W i n d o w s服务是在服务开始的时候创立,而在服务结束的时候销毁,而且能够设置服务是否与操作系统一起启动,一起关闭。它支持三种方式:1 )自动方式2)手 动 方 式 3 )禁 用。自动方式的时候,w i n d o w s服务将在O S启动后自动启动运行,而手动方式则必须手工启动服务,禁用的情况下服务将不能被启动。另外标准的E X E 默认使用的当前登录的用户,而w i n d o w s 服务则默认使用S y s t e
30、 m 用户,这在对系统资源访问的时候特别需要注意。2 1 .什么是强类型,什么是弱类型?哪种更好些?为什么?答:强类型是在编译的时候就确定类型的数据,在执行时类型不能更改,而弱类型在执行的时候才会确定类型。没有好不好,资料仅供参考二者各有好处,强类型安全,因为它事先已经确定好了,而且效率高。一般用于编译型编程语言,如c+,j a v a,c#,p a s c a l等,弱类型相比而言不安全,在运行的时候容易出现错误,但它灵活,多用于解释型编程语言,如j a v a s c r i p t,v b等.2 2.什么是G AC?它解决了什么问题?答:G l o a l As s e m b l y
31、C a c h e,全局应用程序集缓存。它解决了几个程序共享某一个程序集的问题。不必再将那个被共享的程序集拷贝到应用程序目录了,其实这道理很简单,.n e t应用程序在加载的时候,会首先查看全局应用程序集缓存,如果有就能够直接使用,没有再到应用程序目录进行查找。2 3.阐述面向接口、面向对象、面向方面编程的区别答:资料仅供参考2 4 .简述用r e p e a t e r 实现手工分页的思路。2 5 .w e b s e r v i c e 数据传输有什么限制?为什么?D a t a T a b l e 能够作为w e b s e r v i c e 参数传递么?资料仅供参考答:所传输的数据必
32、须是可序列化的。因为需要转换为X M L 格式以能够穿越防火墙,做到真正的数据共享。因为D a t a S e t 处理D a t a T a b l e 的序列化以便进行封送处理,因此无法传递单个D a t a T a b l e2 6.常见的调用W e b S e r v i c e 的方法有哪些?答:在同一个解决方案中调用W e b S e r v i c e方法;在不同的解决方案中调用W e b S e r v i c e 方法;在 I n t e r n e t 上调用 W e b S e r v i ce 方法;利用 w e b s e r v i ce,h t c 调用 W e
33、b S e r v i ce 方法。2 8.在 C#中,s t r i n g s t r =n u l l 与 s t r i n gs t r =请尽量使用文字或图象说明其中的区别。答:资料仅供参考3 0 .请详述在d o t n e t 中类(cl a s s)与结构(s t r u ct)的异同:答:Cl a s s 能够被实例化,属于引用类型,是分配在内存的堆上的,S t r u ct 属于值类型,是分配在内存的栈上的.3 1 .如何理解委托?答:据说相当于函数指针,定义了委托就能够在不调用原方法名称的情况下调用那个方法.m s d n 中是这样解释的:委托具有以下特点:委托类似于C
34、+函数指针,但它是类型安全的。委托允许将方法作为参数进行传递。委托可用于定义回调方法。委托能够链接在一起;例如,能够对一个事件调用多个方法。方法不需要与委托签名精确匹配。有关更多信息,请参见协变和逆变。资料仅供参考C#2.0 版引入了匿名方法的概念,此类方法允许将代码块作为参数传递,以代替单独定义的方法。3 3.o v e r r i d e 与重载的区别r i d e 与重载的区别。重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要O v e r r i d e 是进行基类中函数的重写。为了适应需要。3 4.a b s t r a ct cl a s s 和 i n t
35、e r f a ce 有什么区别?答:声明方法的存在而不去实现它的类被叫做抽象类(a b s t r a ct cl a s s),它用于要创立一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创立a b s t r a ct 类的实例。然而能够创立一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Ab s t r a ct 类的子类为它们父类中的所有抽象方法提供实现,否则资料仅供参考它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类能够在类中实现这些方法。接口(i n t e r f a ce)是抽象类的
36、变体。在接口中,所有方法都是抽象的。多继承性可经过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只能够定义s t a t i c f i n a l 成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它能够在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。一般的动态联编将生效。引用能够转换到接口类型或从接口类型转换,i n sta n c e o f 运算符能够用来决定某对象的类是否实现了接口。3 5.S e ssi o n 有什么重
37、大B U G,微软提出了什么方法加以解决?答:是 i i s中由于有进程回收机制,系统繁忙的话S e ssi o n 会丢失,能够用S a te资料仅供参考se rv e r或 S Q L S e rv e r数据库的方式存储S e ssi o n 不过这种方式比较慢,而且无法捕获 S e ssi o n 的E N D 事件。3 6.成员变量和成员函数前加sta ti c 的作用?答:它们被称为常成员变量和常成员函数,又称为类成员变量和类成员函数。分别用来反映类的状态。比如类成员变量能够用来统计类实例的数量,类成员函数负责这种统计的动作。3 7.简述三层架构的利弊。3 8.简述A J A X
38、控件ti m e r的实现原理。3 9 .简述A S P.N E T 中用户控件和自定义控件的区另4 0 .简述f ra m e wo rk 在.N E T 中的作用.4 1 .简述C#中引入泛型的好处。资料仅供参考4 2 .谈谈 a rra y l i st 和 l i st 利弊.4 3 .怎样实现用J S 调用服务器端定义的方法。4 4 .简述A D O.N E T 中几大对象的作用.4 5.相对与其它W E B 开发平台,微软的.n e t平台有什么独特的优势和劣势。4 6.谈谈S c h e m a 和 D T D 相比,具有那些显著的优势。4 7.什么叫应用程序域?什么是受管制的代
39、码?什么是强类型系统?什么是装箱和拆箱?什么是重载?C T S、C L S 和 C L R 分别作何解释?答:(1)应用程序域(一般为A p p D o m a i n)是一个用于隔离应用程序的虚拟进程。(2)受管制的代码:M a n a g e d C o d e,官方翻译是“托管代码”,即 在.n e t中,由公共语言运行环境进行管理的代码,它主要负责内存管理。(3)强类型系统:是对系统的类型进行细资料仅供参考化定义,纯粹是概念问题,不做深入研究的话,看书理解一下就行。(4)装箱和拆箱:值类型转化引用类型为装箱,引用类型转化为值类型为拆箱。(5)C T S:通用语言系统。C LS:通用语言
40、规范。C LR:公共语言运行库。4 8 .强类型与弱类型的区别?(1)答:完全的面向对象要求对象是强类型的。强类型是只在对象类型的定义尽量的细化。我们能够定义所有的对象都是o b j e c t,然后允许后期绑定来对对象进行操作。事实上,有些语言是弱类型的,特别是一些教本语言,比如j a v a sc ri pt.弱类型语言对简化了语言本身,因而语言本事是能够轻量的,在一些特殊的场合还是很有用的。(2)但弱类型与强类型语言相比,它们能完成的功能从本质上来说,是没有区别的。但弱类型的轻量化是以牺牲开发的方便性和效率为基础的。它将一部分机器能完成的事情移到程序员来完成。如果开发同样一个功能,如果用
41、 j a v a sc ri pt和强类型的v b.n e t来开发,资料仅供参考两者对程序员的要求与开发所需要的时间是明显不同的。4 9.请 详 述 在c#中类(c l a ss)与结构(struc t)的异同?答:5 0.G C是什么?为什么要有G C?答:G C是垃圾收集器。程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,能够调用下面的方法之一:S y ste m,g c ()R un ti m e.g e tR un ti m e ().g c ()5 1.S tri n g s=n e w S tri n g(x y z);创立了几个 S tri n g O b
42、 j e c t?答:资料仅供参考5 2.a b stra c t c l a ss 和 i n te rf a c e 有什么区别?答:资料仅供参考5 3 .启动一个线程是用run()还是sta rt()?答:启动一个线程是调用sta rt。方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它能够由JV M 调度并执行。这并不意味着线程就会立即运行。r u n()方法能够产生必须退出的标志来停止一个线程。5 4 .接口是否可继承接口?抽象类是否可实现(imp le me n t s)接口?抽象类是否可继承实体类(c o n c r e t e c la s s)?答:接口能够继承接口。抽
43、象类能够实现(imp le me n t s)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。5 5 .构造器 C o n s t r u c t o r 是否可被 o v e r r id e?答:构造器C o n s t r u c t o r 不能被继承,因此不能重写O v e r r id in g,但能够被重载O v e r lo a d in go资料仅供参考5 6 .是否能够继承S t r in g 类?答:5 7 .t r y 里有一个r e t u r n 语句,那么紧跟在这个t r y 后的f in a lly 里的c o d e 会不会被执行,什么时候被
44、执行,在 r e t u r n 前还是后?答:5 8 .两个对象值相同(x.e q u a ls (y)=t r u e),但却可有不同的ha s h c o d e,这句话对不对?答:5 9 .s wt ic h是否能作用在b y t e 上,是否能作用在 lo n g 上,是否能作用在S t r in g 上?答:6 0 .当 一 个 线 程 进 入 一 个 对 象 的 一 个s y n c hr o n iz e d 方法后,其它线程是否可进入此对象的其它方法?答:资料仅供参考6 1.a b s t r a c t 的 me t ho d 是否可同时是 s t a t ic,是 否 可
45、 同 时 是 n a t iv e ,是否可同时是s y n c hr o n iz e d?答:6 2.L is t,S e t,M a p 是否继承自 C o lle c t io n 接?答:6 3.S e t 里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用=还是e q u a ls。?它们有何区别?答:S e t 里的元素是不能重复的,那么用it e r a t o r ()方法来区分重复与否。e q u a ls ()是判读两个S e t 是否相等。e q u a ls ()和=方法决定引用值是否指向同一对象 e q u a ls。在类中被覆盖,为的是当两个分离的对象的内
46、容和类型相配的话,返回真值6 4.数组有没有le n g t h。这个方法?S t r in g 有没有le n g t h。这个方法?资料仅供参考答:没有这个方法可是有le n g t h这个属性。6 5.s le e p ()和 wa it ()有什么区别?答:s le e p。方法是使线程停止一段时间的方法。在 s le e p 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级(b)正在运行的线程因为其它原因而阻塞。wa it。是线程交互时,如果线程对一个同步对象x发出一个wa it。调用,
47、该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。6 6.s ho r t s i=1;s i=s i+1;有什么错?s ho r t s i=1;s i+=1;有什么错?答:s ho r t s i=1;s i=s i+1;有错,s i 是s ho r t 型,s l+1 是 in t 型,不能显式转化为s ho r t 型。可修改为 s i=(s ho r t)(s i+1)。s ho r t s i=1;s i+=1 正确。6 7.谈谈 f in a l,f in a lly,f in a liz e 的区别。资料仅供参考答:f in a l一修饰符(关键字)如果一个类被声
48、明为f in a l,意味着它不能再派生出新的子类,不能作为父类被继承。因此 一个类不能既被声明为a b s t r a c t的,又被声明为fi n al的。将变量或方法声明为fi n al,能够保证它们在使用中 不被改变。被声明为fi n al的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为 fi n al的方法也同样只能使用,不能重载fi n al l y一再异常处理时提供fi n al l y块来执行任何清除操作。如果抛出一个异常,那么相匹 配 的cat ch子句就会 执行,然后控制就会进入fi n al l y块(如果有的话)。fi n al i z e 一
49、方 法 名。J a v a技 术 允 许 使 用fi n al i z e()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理 工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它 是 在O bj ect类中定义的,因此所有的类都继承了它。子 类 覆 盖fi n al i z e()方法以整理系统资源或者执行其它清理工作。fi n al i z e()方资料仅供参考法是在垃圾收集器删除对象之前对这个对象调用的。6 8 .如何处理几十万条并发数据?答:用存储过程或事务。取得最大标识的时候同时更新.注意主键不是自增量方式这种方法并发的时候是不会有重复主键的.取得最大标识
50、要有一个存储过程来获取.6 9 .Ses s i o n有什么重大B U G,微软提出了什么方法加以解决?答:是i i s中由于有进程回收机制,系统繁忙的话Ses s i o n会丢失,能够用Sat e s er v er或SQ L Ser v er数据库的方式存储Ses s i o n不过这种方式比较慢,而且无法捕获Ses s i o n的E N D事件。7 0 .进程和线程的区别?答:进程是系统进行资源分配和调度的单位;线程是C P U调度和分派的单位,一个进程能够有多个线程,这些线程共享这个进程的资源。资料仅供参考7 1.堆和栈的区别?答:栈:由编译器自动分配、释放。在函数体中定义的变量