net 笔试题 附答案
- 格式:doc
- 大小:79.50 KB
- 文档页数:12
招聘.NET开发工程师笔试题与参考答案(某大型集团公司)(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个不是.NET框架的核心组件?A、CLR(公共语言运行时)B、C、D、COM(组件对象模型)2、在C中,以下哪个方法用于判断一个字符串是否为null或空?A、String.IsNullOrEmpty(string str)B、String.IsNullOrWhiteSpace(string str)C、String.IsNullOrEmpty(string str, bool ignoreCase)D、String.IsNullOrWhiteSpace(string str, bool ignoreCase)3、在.NET框架中,以下哪个类用于处理文件和网络I/O操作?A. StreamB. FileStreamC. FileInfoD. Directory4、在 MVC中,以下哪个是用于请求参数绑定的属性?A. ActionResultB. ModelBindAttributeC. ModelStateD. ViewBag5、在.NET开发中,以下哪个类用于创建和管理线程?A. ThreadPoolB. ThreadC. TaskD. Monitor6、在C中,以下哪个关键字用于定义接口?A. InterfaceB. AbstractC. VirtualD. Override7、以下哪个特性是.NET Framework中用于处理多线程的?A. Exception HandlingB. Asynchronous ProgrammingC. ReflectionD. Serialization8、在C中,以下哪个类是用于处理XML文档的?A. XmlDocumentB. XmlTextReaderC. XmlWriterD. XmlSerializer9、在.NET框架中,以下哪个类不是用于数据访问的对象?A. DataTableB. DataSetC. DataReaderD. StreamWriter 10、以下哪个属性用于在应用程序中配置默认的页面编码?A. Page.UICultureB. Page.CharsetC. WebConfigurationManager.AppSettingsD. HttpResponse.ContentEncoding二、多项选择题(本大题有10小题,每小题4分,共40分)1、以下哪些技术或框架是.NET开发中常用的?()A、CB、C、Entity FrameworkD、WCFE、LINQ2、以下哪些特性是.NET Core相对于.NET Framework的改进?()A、跨平台支持B、异步编程支持C、动态内存管理D、更好的性能E、模块化设计3、以下哪些技术是.NET框架中用于实现数据访问的?A. B. Entity FrameworkC. WCFD. 4、以下哪些是.NET框架中用于实现分布式计算的技术?A. .NET RemotingB. AJAXC. Windows Communication Foundation (WCF)D. Windows Workflow Foundation (WF)5、以下哪些技术或框架是.NET开发工程师在项目开发中常用的?()A. CoreB. Entity Framework CoreC. WPF (Windows Presentation Foundation)D. AngularE. Unity6、以下关于.NET Core的特点描述,正确的是哪些?()A. 跨平台B. 开源C. 高性能D. 兼容.NET FrameworkE. 需要安装Visual Studio7、关于.NET Framework中的内存管理机制,以下说法正确的是:A、.NET Framework中的内存管理是通过垃圾回收机制自动进行的。
net笔试题目答案net笔试题目答案一、.net基础1、a=10,b=15,请在不使用第三方变量的状况下,把a、b的值互换答:小学算法,加法交换律和加法结合律int a=a+b; int b=a-b;int a=a-b;2、session宠爱丢值且占内存,Cookis担忧全,请问用什么方法代替这两种原始的方法答:redis 或者memcache。
当然,微软也提供了解决方案。
iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sate server或SQL Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件。
3、如何处理几十万条并发数据?答:用存储过程或事务。
取得最大标识的时候同时更新..留意主键不是自增量方式这种方法并发的时候是不会有重复主键的..取得最大标识要有一个存储过程来获取.4、62-63=1 等式不成立,请移动一个数字(不行以移动减号和等于号),使得等式成立,如何移动?答案:62移动成2的6次方5、和有什么区分?答:表示绑定的数据源,是服务器端代码块6、页面生命周期简洁描述每个页面的.生命周期为用户的每一次访问,也就是说每一次客户端与服务器之间的一个往返过程.全局变量的生命周期在此之间.1. Page_Init();2. Load ViewState and Postback data;3. Page_Load();4. Handle control events;5. Page_PreRender();6. Page_Render();7. Unload event;8. Dispose method called;7、写出程序的输出结果public abstract class A{public A(){Console.WriteLine(A);}public virtual void Fun(){Console.WriteLine("A.Fun()');}}public class B: A{public B(){Console.WriteLine(B);}public new void Fun(){Console.WriteLine("B.Fun()'); }public static void Main() {A a = new B();a.Fun();}}答案:ABA.Fun()8、写出程序的输出结果:public class A{public virtual void Fun1(int i) {Console.WriteLine(i);}public void Fun2(A a){a.Fun1(1);Fun1(5);}}public class B : A{public override void Fun1(int i) {base.Fun1 (i + 1);}public static void Main(){B b = new B();A a = new A();a.Fun2(b);b.Fun2(a);}}答案:25169、在下面的例子里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;x= 1 y = -110、如何提高.NET的性能1.使用异步方式调用Web服务和远程对象只要有可能就要避开在请求的处理过程中对Web服务和远程对象的同步调用,因为它占用的是的 线程池中的工作线程,这将直接影响Web服务器响应其它请求的能力。
2024年招聘.NET开发工程师笔试题与参考答案(某世界500强集团)(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个不是.NET Framework的核心组成部分?A、B、C、WinFormsD、C2、在C中,以下哪个关键字用于声明一个只读属性?A、constB、readonlyC、const readonlyD、static3、以下哪个是.NET框架中用于处理XML数据的命名空间?A. System.WebB. System.XmlC. System.Windows.FormsD. System.Data4、在C中,以下哪个属性用于表示一个对象是否为null?A. IsValueNullB. IsNullC. IsDefaultD. IsNullOrDefault5、以下哪个是.NET平台的核心组件?A. B. C. Windows FormsD. 所有以上都是6、在C中,以下哪个关键字用于声明一个接口?A. InterfaceB. ClassC. StructD. Enum7、在.NET框架中,以下哪个类是用于处理XML数据的?A. System.Data.DataSetB. System.Xml.XmlDocumentC. System.IO.StreamReaderD. System.Windows.Forms.Form8、在应用程序中,以下哪个组件负责处理客户端请求并将其转换为服务器端的响应?A. Global.asaxB. HttpApplicationC. HttpContextD. Page9、在.NET框架中,以下哪个类用于处理线程同步?A. ThreadPoolB. MonitorC. TaskD. List 10、在C中,以下哪个方法可以用来检测一个对象是否为特定类型的实例?A. isB. asC. typeofD. ==二、多项选择题(本大题有10小题,每小题4分,共40分)1、以下哪些技术栈是.NET开发工程师常用的?()A、 CoreB、Entity Framework CoreC、WPFD、Windows FormsE、React Native2、以下关于.NET Core的说法正确的是?()A、.NET Core是.NET Framework的升级版,两者可以无缝兼容。
1.`简述在C#语言中public、protected、private、internal、protected internal 5个修饰符的作用。
(5分)答案:a.private修饰private,私有修饰符,用于设置类或类成员的访问权限仅为所属类的内部。
需要访问私有类成员时,可通过get和set访问器读取或修改。
b.protected修饰符protected修饰符用于设置类或类成员的访问权限仅为所属类及子类的内部。
c.internal修饰符internal,C#默认的类访问修饰符,修饰类或类成员的访问权限为同一程序集内部。
d.public修饰符public,公共访问权限修饰符,修饰类或类成员的访问权限没有任何限制。
大多数情况下须谨慎使用public修饰符,因为滥用将影响类的封装性,并且带来安全隐患。
e.protected internal修饰符protected internal修饰符,修饰类或类成员的访问权限在子类中或同一程序集内。
如果要声明成员只能被同一程序集内的派生类(子类)访问,则应首先设置所属类为internal,成员设置为protected 。
2.共3小题,共9分。
a). 什么是装箱(boxing)和拆箱(unboxing)?请简述.NET对于装箱及拆箱的具体实现方式。
(5分)b). 在下面的例子中,哪些语句用到了装箱拆箱?你能对最后一句代码进行优化提高它的效率吗? (2分)public static void Main(){Int32 v = 5;Object o = v;v = 123;Console.WriteLine(v + ", " + (Int32)o);}c). 你知道.NET对拆箱有什么要求吗?下面的代码可以正确运行吗?如果不行该如何修改? (2分)static void Main(string[] args){int a = 1;object o = a;double b = (double)o;}答案:a.装箱和拆箱:任何值类型、引用类型可以和object(对象)类型之间进行转换。
.net笔试测试题(含参考答案).net笔试测试题(含参考答案)-惠普1. 填空:(1)面向对象的语言具有________性、_________性、________性。
(2)能用foreach遍历访问的对象需要实现 ________________接口或声明________________方法的类型。
(3)列举中的五个主要对象_______________、_____________、_______________、_______________、_________________。
2. 不定项选择:(1) 以下叙述正确的是:A. 接口中可以有虚方法。
B. 一个类可以实现多个接口。
C. 接口不能被实例化。
D. 接口中可以包含已实现的方法。
(2) 从数据库读取记录,你可能用到的方法有:A. ExecuteNonQueryB. ExecuteScalarC. FillD. ExecuteReader3. 简述 private、 protected、 public、 internal 修饰符的访问权限。
4. 写出一条Sql语句:取出表A中第31到第40记录(SQLServer, 以自动增长的ID作为主键, 注意:ID可能不是连续的。
)5 .列举 页面之间传递值的几种方式。
6. 写出程序的输出结果class Class1 {private string str = "Class1.str";private int i = 0;static void StringConvert(string str) {str = "string being converted.";}static void StringConvert(Class1 c) {c.str = "string being converted.";static void Add(int i) {i++;}static void AddWithRef(ref int i) { i++;}static void Main() {int i1 = 10;int i2 = 20;string str = "str";Class1 c = new Class1();Add(i1);AddWithRef(ref i2);Add(c.i);StringConvert(str); StringConvert(c);Console.WriteLine(i1); Console.WriteLine(i2); Console.WriteLine(c.i); Console.WriteLine(str); Console.WriteLine(c.str);}}7.写出程序的输出结果public abstract class A{public A(){Console.WriteLine('A');public virtual void Fun() {Console.WriteLine("A.Fun()"); }}public class B: A{public B(){Console.WriteLine('B');}public new void Fun(){Console.WriteLine("B.Fun()"); }public static void Main() {A a = new B();a.Fun();}}8. 写出程序的输出结果:public class A{public virtual void Fun1(int i) {Console.WriteLine(i);}public void Fun2(A a)a.Fun1(1);Fun1(5);}}public class B : A{public override void Fun1(int i){base.Fun1 (i + 1);}public static void Main(){B b = new B();A a = new A();a.Fun2(b);b.Fun2(a);}}9. 一列数的规则如下: 1、1、2、3、5、8、13、21、34......求第30位数是多少,用递归算法实现。
2024年招聘.NET开发工程师笔试题及解答(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个技术不是.NET平台的一部分?A、B、CC、JavaD、2、在.NET中,以下哪个类用于处理文件输入输出?A、FileStreamB、StreamReaderC、StreamWriterD、File3、以下哪个不是.NET平台的核心框架之一?A. .NET FrameworkB. .NET CoreC. .NET 5D. Java Platform4、在C中,以下哪个属性是用于指定一个字符串变量的值是否可以改变?A. readonlyB. constC. sealedD. volatile5、在.NET框架中,以下哪个类是用来处理文件输入/输出的?A. FileInfoB. FileStreamC. DirectoryInfoD. StreamWriter6、在C中,以下哪个关键字用于声明一个异步方法?A. asyncB. awaitC. async/awaitD. task7、以下哪种编程语言是.NET平台的宿主语言?A. JavaB. CC. PythonD. Ruby8、在C中,以下哪个属性可以用来检查一个字符串是否为空或者仅包含空白字符?A. IsEmptyB. IsNullC. IsNullOrWhiteSpaceD. IsBlank9、在.NET框架中,以下哪个组件负责处理和响应应用程序的UI事件?A. B. C. Windows FormsD. WPF 10、在C中,以下哪种数据类型表示32位的带符号整数?A. byteB. shortC. intD. long二、多项选择题(本大题有10小题,每小题4分,共40分)1、以下哪些技术或框架是.NET开发工程师在开发过程中可能用到的?()A、 CoreB、Entity Framework CoreC、WPFD、DockerE、Vue.js2、以下关于.NET Core的特点,哪些是正确的?()A、跨平台B、高性能C、支持多种编程语言D、完全开源E、只适用于Web应用程序开发3、以下哪些技术或框架是.NET开发工程师在项目中可能会使用到的?(多选)A. CoreB. Entity Framework CoreC. Windows Communication Foundation (WCF)D. MVC (Model-View-Controller)E. jQuery4、以下关于 .NET 核心概念的描述,哪些是正确的?(多选)A. .NET Core 是一个开源、跨平台的框架。
1. 简述 private、 protected、 public、 internal 修饰符的访问权限。
答 . private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public : 大众成员,完全公开,没有访问限制。
internal: 在同一程序集内可以访问。
2 .列举 页面之间传递值的几种方式。
答get请求、post请求、Session、Application、Cookie、ViewState3. 一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第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与重载的区别?答重载是方法的名称相同。
参数或参数类型不同(同名同类不同参)。
简单,可能被伪造 url参数(get请求)安全性差,数据长度有限数据库稳定,安全,但性能相对弱 ViewState 通过ViewState可以将当前页面的控件数据传递到另一个页面,因为ViewState存放在客户端,因此安全性比较长63.请指出GAC的含义?答:全局程序集缓存。
64.向服务器发送请求有几种方式?答:get,post。
.net方向笔试题Net方向测试题及答案一.选择题1. 在中,下面说法正确的是()。
(选择一项)A.machine.config用来保存的当前计算机所有应用程序的配置B.web.config通常用来保存一个站点信息的配置信息C.可以在web.config中配置访问Web目录的用户名和密码D.以上说法都正确2. 执行下面的代码后,name的值是()。
(选择一项) string path = @”D:\\test\\imag1.jpg;string name = path.Substring(stIndexOf(“.”)+1); A.jpg B.pg C..jpgD.以上答案都不是3. 在使用 AJAX的AutoComplete空间实现自动完成效果时,通过()属性可以设置用户输入多少个字母才出现提示。
(选择一项) A.MinimumPrefixLength B.ServicePathpletionSetCountD.TargetControlID4. 在中,一下关于用户控件与页面之间区别的描述中正确的是()。
(选择一项)A.后缀名不同,前者为.ascx,后者为.aspxB.指令不同,前者使用@Page,后者使用@ControlC.前者可以直接访问,后者不可直接访问D.前者可以包含HTML标签,后者不能包含HTML标签 5. 在的Global.asax 文件中,每次页面请求开始时都会被执行的事件是()。
(选择一项)A.Application_StartB.Session_EndC.Session_StartD.Application_BeginRequest 6. 在中,以下有关设置页面缓存所使用的Location属性描述正确的是()。
(选择一项)A.表示页面被缓存的时间,以秒为单位B.指定输出缓存项的位置C.该属性的值可以设置为“none”D.用来改变用户空间的输出缓存7.在中,Server对象的()方法用于对URL地址进行编码。
net考试题及答案a)enum类型 b)struct类型 c)string类型d)int类型6.下列关于C#中索引器理解正确的是(A)a)索引器的参数必须是两个或两个以上 b)索引器的参数类型必须是整数型c)索引器没有名字 d)以上皆非7.如果设treeView1=new TreeView(),则treeView1.Nodes.Add(“根节点”)返回的是一个 (A) 类型的值。
a)TreeNode;b)int;c)string;d)TreeView;8.下面关于XML的描述错误的是(D)。
a)XML提供一种描述结构化数据的方法;b)XML 是一种简单、与平台无关并被广泛采用的标准;c)XML文档可承载各种信息;d)XML只是为了生成结构化文档;9.装箱、拆箱操作发生在: ( C )A.类与对象之间B.对象与对象之间C.引用类型与值类型之间D.引用类型与引用类型之间10.以下哪个是可以变长的数组?(D)A.ArrayB.string[]C.string[N]D.ArrayList11.对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序定义的任务?(多选) (ABC)A.CloseB.DisposeC.FinalizeingE.Quit依赖以下哪项技术实现跨语言互用性?(C)A.CLR 公共语言运行时,就是.NET提供的哪些类B.CTS 通用系统类型。
Int32、Int16—int、String—string、Boolean—boolC.CLS 通用语言规范。
不同语言语法的不同。
D.CTTa) abstract class BaseClass{public virtual void MethodA(){}public virtual void MethodB(){}}class Class1: BaseClass{public void MethodA(string arg){}public override void MethodB(){}}class Class2: Class1{new public void MethodB(){}}class MainClass{public static void Main(string[] args) {Class2 o = new Class2();Console.WriteLine(o.MethodA());}}请问,o.MethodA调用的是: (C)A.BaseClass.MethodAB.Class2.MethodAC.Class1.MethodAD.都不是13.您需要创建一个应用程序,公司考虑使用Windows身份认证。
2024年招聘.NET开发工程师笔试题与参考答案(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个选项不是.NET Framework的组成部分?A、System.DataB、System.DrawingC、System.Windows.FormsD、.Mail2、以下哪个属性可以用来获取一个字符串对象的长度?A、LengthB、SizeC、CountD、Capacity3、在C中,关于继承与多态,下列说法错误的是哪一个选项?A. 在C中,类可以实现多个接口,从而获得多重特性。
B. 类声明为 sealed 后,该类不能被继承。
C. C中的类默认是 public 的,可以被其他任何类继承。
D. 多态可以通过方法重载(overload)或者方法覆盖(override)来实现。
4、关于 Core中的依赖注入(Dependency Injection,DI),下列描述正确的是哪一个选项?A. DI容器是 Core中唯一支持的服务定位器模式实现。
B. DI服务注册应在ConfigureServices方法中完成。
C. 依赖注入要求所有的类都必须通过构造函数来注入依赖项。
D. 使用依赖注入时,服务生命周期可以配置为Singleton、Transient和Scoped 三种模式。
5、以下哪个选项是.NET Framework的核心组件?A. Windows FormsB. C. .NET Compact FrameworkD. 6、在C中,以下哪个关键字用于声明一个静态成员?A. staticB. readonlyC. constD. volatile7、以下哪个不是.NET Framework的核心组件?A. B. C. Windows FormsD. XML8、在.NET中,以下哪个类用于处理文件系统的操作?A. FileStreamB. StreamWriterC. DirectoryInfoD. Directory9、以下哪个不是.NET框架中用于处理XML的类库?A. System.XmlB. System.Data.XmlC. System.Windows.Forms.XmlD. System.Web.Services.Xml 10、在.NET中,以下哪个方法可以用来创建一个空的ArrayList实例?A. ArrayList()B. New ArrayList()C. ArrayList.Create()D. ArrayList.Instance()二、多项选择题(本大题有10小题,每小题4分,共40分)1、以下哪些是.NET平台的核心组件?()A、B、C、Windows FormsD、WCFE、LINQ2、在.NET中,以下哪些是常用的数据访问技术?()A、ADOB、C、Entity FrameworkD、DapperE、LINQ to SQL3、以下哪些技术是.NET Framework 4.0引入或改进的?A. MVC 3B. Entity Framework 4.0C. WCF 4.0D. LINQ to SQL4、以下哪些是.NET中常用的数据访问技术?A. B. LINQC. NHibernateD. Entity Framework5、以下哪些技术或框架是.NET开发工程师在项目开发中常用的?A. MVCB. Entity FrameworkC. WCFD. AngularJSE. LINQ6、以下关于.NET平台特性的描述,正确的是:A. .NET支持多种编程语言,如C、V等。
.Net 笔试题1、简述 private、 protected、 public、 internal 修饰符的访问权限。
2、列举 页面之间传递值的几种方式。
3、C#中的委托是什么?事件是不是一种委托?4、override与重载的区别5、用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?6、在下面的例子里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的实例时,产生什么输出?7、什么是装箱和拆箱?8、在C#中,string str = null 与 string str = “”请尽量使用文字或图象说明其中的区别。
9、请详述在dotnet中类(class)与结构(struct)的异同?10、SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号11、写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的12、面向对象的语言具有________性、_________性、________性13、能用foreach遍历访问的对象需要实现________________接口或声明________________方法的类型。
14、String s = new String("xyz");创建了几个String Object?15、 try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?16、ajax的请求方式都有哪几种?17、DataReader与Dataset有什么区别?18、软件开发过程一般有几个阶段?每个阶段的作用?19、什么是反射?20、什么是虚函数?什么是抽象函数?21、.net的错误处理机制是什么?22、某课程系统中,有4张表Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表1、查询“001”课程比“002”课程成绩高的所有学生的学号;2、查询平均成绩大于60分的同学的学号和平均成绩;3、查询所有同学的学号、姓名、选课数、总成绩;4、查询姓“李”的老师的个数;5、查询没学过“叶平”老师课的同学的学号、姓名;6、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;7、查询学过“叶平”老师所教的所有课的同学的学号、姓名;8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;9、查询所有课程成绩小于60分的同学的学号、姓名;10、查询没有学全所有课的同学的学号、姓名;11、查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名;12、查询至少学过学号为“001”同学所有一门课的其他同学学号和姓名;13、把“SC”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩;14、查询和“1002”号的同学学习的课程完全相同的其他同学学号和姓名;Net 笔试题1、简述 private、 protected、 public、 internal 修饰符的访问权限。
答 . private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public : 公共成员,完全公开,没有访问限制。
internal: 在同一命名空间内可以访问。
2、列举 页面之间传递值的几种方式。
答. 1.使用QueryString, 如....?id=1; response. Redirect()....2.使用Session变量3.使用Server.Transfer3、C#中的委托是什么?事件是不是一种委托?答:委托可以把一个方法作为参数代入另一个方法。
委托可以理解为指向一个函数的引用。
是,是一种特殊的委托4、override与重载的区别答:override 与重载的区别。
重载是方法的名称相同。
参数或参数类型不同,进行多次重载以适应不同的需要。
Override 是进行基类中函数的重写。
为了适应需要5、用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?答:一般为3层数据访问层,业务层,表示层。
数据访问层对数据库进行增删查改。
业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。
表示层为了与用户交互例如用户添加表单。
优点:分工明确,条理清晰,易于调试,而且具有可扩展性。
缺点:增加成本6、在下面的例子里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;x= 1 y = -17、什么是装箱和拆箱?答:从值类型接口转换到引用类型装箱。
从引用类型转换到值类型拆箱。
8、在C#中,string str = null 与 string str = “”请尽量使用文字或图象说明其中的区别。
答:string str = null 是不给他分配内存空间,而string str = "" 给它分配长度为空字符串的内存空间。
9、请详述在dotnet中类(class)与结构(struct)的异同?答:Class可以被实例化,属于引用类型,是分配在内存的堆上的,Struct属于值类型,是分配在内存的栈上的10、SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号,LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号答:Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)11、写出一条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)12、面向对象的语言具有________性、_________性、________性答:封装、继承、多态。
13、能用foreach遍历访问的对象需要实现 ________________接口或声明________________方法的类型。
答:IEnumerable 、 GetEnumerator。
14、String s = new String("xyz");创建了几个String Object?答:两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。
15、 try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?答:会执行,在return前执行16、ajax的请求方式都有哪几种?答:请求方式,分为GET与POST17、DataReader与Dataset有什么区别?答:一个是只能向前的只读游标,一个是内存中的表。
18、软件开发过程一般有几个阶段?每个阶段的作用?答:需求分析,架构设计,代码编写,QA,部署19、什么是反射?答:动态获取程序集信息20、什么是虚函数?什么是抽象函数?答:虚函数:没有实现的,可由子类继承并重写的函数。
抽象函数:规定其非虚子类必须实现的函数,必须被重写21、.net的错误处理机制是什么答:.net错误处理机制采用try->catch->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。
22、某课程系统中,有4张表Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname,T#) 课程表SC(S#,C#,score) 成绩表Teacher(T#,Tname) 教师表1、查询“001”课程比“002”课程成绩高的所有学生的学号;select a.S# from (select s#,score from SC where C#='001') a,(select s#,scorefrom SC where C#='002') bwhere a.score>b.score and a.s#=b.s#;2、查询平均成绩大于60分的同学的学号和平均成绩;select S#,avg(score)from scgroup by S# having avg(score) >60;3、查询所有同学的学号、姓名、选课数、总成绩;select Student.S#,Student.Sname,count(SC.C#),sum(score)from Student left Outer join SC on Student.S#=SC.S#group by Student.S#,Sname4、查询姓“李”的老师的个数;select count(distinct(Tname))from Teacherwhere Tname like '李%';5、查询没学过“叶平”老师课的同学的学号、姓名;select Student.S#,Student.Snamefrom Studentwhere S# not in (select distinct( SC.S#) from SC,Course,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='叶平');6、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;select Student.S#,Student.Sname from Student,SC where Student.S#=SC.S# and SC.C#='001'and exists( Select * from SC as SC_2 where SC_2.S#=SC.S# and SC_2.C#='002');7、查询学过“叶平”老师所教的所有课的同学的学号、姓名;select S#,Snamefrom Studentwhere S# in (select S# from SC ,Course ,Teacher where SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname='叶平' group by S# having count(SC.C#)=(select count(C#) from Course,Teacher where Teacher.T#=Course.T# and Tname='叶平'));8、查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名;Select S#,Sname from (select Student.S#,Student.Sname,score ,(select score from SC SC_2 where SC_2.S#=Student.S# and SC_2.C#='002') score2from Student,SC where Student.S#=SC.S# and C#='001') S_2 where score2 <score;9、查询所有课程成绩小于60分的同学的学号、姓名;select S#,Snamefrom Studentwhere S# not in (select Student.S# from Student,SC where S.S#=SC.S# and score>60);10、查询没有学全所有课的同学的学号、姓名;select Student.S#,Student.Snamefrom Student,SCwhere Student.S#=SC.S# group by Student.S#,Student.Sname having count(C#) <(select count(C#) from Course);11、查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名;select S#,Sname from Student,SC where Student.S#=SC.S# and C# in select C# from SC where S#='1001';12、查询至少学过学号为“001”同学所有一门课的其他同学学号和姓名;select distinct SC.S#,Snamefrom Student,SCwhere Student.S#=SC.S# and C# in (select C# from SC where S#='001');13、把“SC”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩;update SC set score=(select avg(SC_2.score)from SC SC_2where SC_2.C#=SC.C# ) from Course,Teacher where Course.C#=SC.C# and Course.T#=Teacher.T# and Teacher.Tname='叶平');14、查询和“1002”号的同学学习的课程完全相同的其他同学学号和姓名;select S# from SC where C# in (select C# from SC where S#='1002')group by S# having count(*)=(select count(*) from SC where S#='1002');答案1、简述 private、 protected、 public、 internal 修饰符的访问权限。