1.面向对象的思想主要包括什么? 继承多态封装 ●封装:用抽象的数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型内部。 ●继承:子类拥有父类的所有数据和操作。 ●多态:一个程序中同名的不同方法共存的情况。 有两种形式的多态–重载与重写。
2.什么是ASP.net中的用户控件 用户控件就是.ascx扩展名的东西喽,可以拖到不同的页面中调用,以节省代码.比如登陆可能在多个页面上有,就可以做成 用户控件,但是有一个问题就是用户控件拖到不同级别的目录下后里面的图片等的相对路径会变得不准确,需要自已写方 法调整. 问这样的问题,一般是迷惑你.因为新手还是分不清楚用户控件和服务器控件(也称自定义控件)..用户控件一般用在内容多 为静态,或者少许会改变的情况下..用的比较大..类似ASP中的include..但是功能要强大的多.. 在C#中,string str = null 与 string str = “”的区别。 DataReader和DataSet的异同 的操作都会引发DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因 为DataReader的特殊性和高性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条了.. 内存中.所以比较消耗内存...但是确比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行回传更新操作. 8.C#中的接口和类有什么异同。 接口和类都是类,不同的事,接口只包含方法或属性的声明,不包含具体实现方法的代码,接口可以实现多继承,而类 只能是单继承,继承接口的类必须实现接口中声明的方法或属性。接口主要定义一种规范,统一调用方法,在大型项目 中接口正发挥日益重要的作用 类是方法功能的实现和集合,接口是规范类.约束类. Override与重载有什么区别? 触发器的作用 触发器可以查询其它表,而且可以包含复杂的 SQL 语句。它们主要用于强制复杂的业务规则或要求。触发器还有助于 强制引用完整性,以便在添加、更新或删除表中的行时保留表之间已定义的关系。 <%# %> 和 <% %> 有什么区别? 常见的设计模式 抽象工厂模式、适配器模式、外观模式 command命令模式,桥接模式,组合模式,装饰模式,状态模式,备忘录模式等。
3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分 别作何解释?
4.列举一下你所了解的XML技术及其应用
5.值类型和引用类型的区别?写出C#的样例代码。 在dotnet中有两大类数据类型,即值类型和引用类型,值类型存贮在栈中,而引用类型存贮在动态的堆中,栈是先进先 出的有系统管理的空间,而堆是由应用程序控制的可随时申请和释放该空间,在Donnet中一般情况下有垃圾收集器处理 ,他们的不同导致在编程上的不同。 输出mxh
6.ADO.net中常用的对象有哪些?分别描述一下。
7.如何理解委托?
C# 中的委托类似于 C 或 C++ 中的函数指针。使用委托使程序员可以将方法引用封装在委托对象内。然后可以将该委托 对象传递给可调用所引用方法的代码,而不必在编译时知道将调用哪个方法。与 C 或 C++ 中的函数指针不同,委托是 面向对象、类型安全的,并且是安全的。
9.。net中读写数据库需要用到哪些类?他们的作用
10.UDP连接和TCP连接的异同。
11.ASP.net的身份验证方式有哪些?分别是什么原理? window验证:为每个用户开启window账号,验证其身份.安全性较高.
12.进程和线程分别怎么理解?
13.什么是code-Behind技术。 新建一个VS.NET下的项目..看到ASPX,RESX和CS三个后缀的文件了吗??这个就是代码分离.实现了HTML代码和服务器代 码分离.方便代码编写和整理.
14.活动目录的作用。 活动目录是window2000的最重要的功能.可以将用户信息全部集成起来,登陆以后可以访问多个不同的网络服务.. . 15..net中读写XML的类都归属于哪些命名空间? System.XML类
16.解释一下UDDI、WSDL的意义及其作用。
17.什么是SOAP,有哪些应用。 simple object access protocal,简单对象接受协议.以xml为基本编码结构,建立在已有通信协议上(如http,不过据说ms在搞最 底层的架构在tcp/ip上的soap)的一种规范
18.如何部署一个ASP.net页面。
19.如何理解.net中的垃圾回收机制。
如果发现内存不够,则垃圾回收器,将全部对象作为无效对象(被回收对象),然后先将全局变量,static,处于活动中的局部变 量,以及当前CG指针指向的对象放入一个表中.然后
20.常用的调用webservice方法有哪些? 我一般用的是WSDL..或者web引用..
21列举一下你所了解的XML技术及其应用
C#中 property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里?
C#可否对内存进行直接的操作? 维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?为什么
触发器,性能好,事务性 ADO。NET相对于ADO等主要有什么改进? 新增dataset等,不需要随时保持连接,性能提高
ASP。NET与ASP相比,主要有哪些进步?
C#中的委托是什么?事件是不是一种委托?
你对XMLHTTP、WEBSERVICE 了解吗?简单描述其特点、作用 接口和抽象类有什么区别?你选择使用接口和抽象类的依据是什么? 存储过程和函数的区别 事务是什么? 游标的作用?如何知道游标已经到了最后? 触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。 请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。 请说明.net中的错误处理机制,并举例 请说出强名的含义 请列出c#中几种循环的方法,并指出他们的不同 请指出.net中所有类型的基类 请指出GAC的含义 值类型与引用类型有什么区别? 怎样理解静态变量? 向服务器发送请求有几种方式? 如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理 ? 用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 软件开发过程一般有几个阶段?每个阶段的作用? 通过超链接怎样传递中文参数? 请编程遍历页面上所有TextBox控件并给它赋值为string.Empty 有哪几种方法可以实现一个类存取另外一个类的成员函数及属性,并请举列来加以说明和分析. 如果需记录类的实例个数,该如何实现,请写一个简单的类于以证明. A类是B类的基类,并且都有自己的构造,析构函数,请举例证明B类从实例化到消亡过程中构造,析构函数的执行过程. 需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中间还有连续空格的话,仅保留一个空格,即允 许字符串中间有多个空格,但连续的空格数不可超过一个. 在c#中using和new这两个关键字有什么意义,请写出你所知道的意义? using 指令 和语句 new 创建实例 new 隐藏基类中方法 谈谈类和结构的区别? 什么叫做SQL注入,如何防止?请举例说明。 下面这段代码输出什么?为什么? 写一个实现对一段字符串翻转的方法,附加一些条件,如其中包括“,”、“.”,对其设计测试用例 什么是反射? 用Singleton如何写设计模式 C#中的垃圾回收机制是怎样的? 什么是Application Pool? 链表和数组的区别,各有什么优缺点. 什么是友元函数? 什么是虚函数? 什么是抽象函数? 什么是内存泄漏,怎样最简单的方法判断被存泄漏 ? 1SQL Server的两种索引是何形式?索引的作用?索引的优缺点? 什么是XML? 简述 private、 protected、 public、 internal 修饰符的访问权限。 进程和线程的区别 进程是系统进行资源分配和调度的单位;线程是CPU调度和分派的单位,一个进程可以有多个线程,这些线程共享这个 进程的资源。 成员变量和成员函数前加static的作用 它们被称为常成员变量和常成员函数,又称为类成员变量和类成员函数。分别用来反映类的状态。比如类成员变量可以 用来统计类实例的数量,类成员函数负责这种统计的动作。 malloc和new的区别 new是C++的关键字。malloc在分配内存时必须按给出的字节分配,new可以按照对象的大小自动分配,并且能调用构造 函数。可以说new是对象的对象,而malloc不是。本质上new分配内存时,还会在实际内存块的前后加上附加信息,所 以new所使用的内存大小比malloc多。 堆和栈的区别 栈:由编译器自动分配、释放。在函数体中定义的变量通常在栈上。 据适应面广泛,但是效率有一定降低。栈是系统数据结构,对于进程/线程是唯一的;堆是函数库内部数据结构,不一 定唯一。不同堆分配的内存无法互相操作。栈空间分静态分配和动态分配两种。静态分配是编译器完成的,比如自动变 量(auto)的分配。动态分配由alloca函数完成。栈的动态分配无需释放(是自动的),也就没有释放函数。为可移植的程序 起见,栈的动态分配操作是不被鼓励的!堆空间的分配总是动态的,虽然程序结束时所有的数据空间都会被释放回系统 ,但是精确的申请内存/释放内存匹配是良好程序的基本要素。 在.Net中,类System.Web.UI.Page 可以被继承么? 你觉得ASP.NET 2.0(VS2005)和你以前使用的开发工具(.Net 1.0或其他)有什么最大的区别?你在以前的平台上使 用的哪些开发思想(pattern / architecture)可 1 ASP.NET 2.0 把一些代码进行了封装打包,所以相比1.0相同功能减少了很多代码. 入服务器端代码获得帮助提示, .net的错误处理机制是什么 重载与覆盖的区别 实参表与形参表来选择方法体的。 简要谈一下您对微软.NET 构架下remoting和webservice两项技术的理解以及实际中的应用。 C#中的委托是什么?事件是不是一种委托? new有几种用法 用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问 其字段和属性 户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。 生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。 什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别 作何解释? 指一个方法名同,参数个数不同,返回值可以相同的方法.CLR是通用语言运行时,其它的不清楚. 为别的老子生儿子. 的协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任 何类型的对象或代码,在任何平台上,以任何一直语言相互通信。这种相互通信采用的是XML格式的消息. 1. 填空: (1)面向对象的语言具有___继承性、封装性、多态性。 (2)能用foreach遍历访问的对象需要实现 IEnumerable接口或声明GetEnumerator 方法的类型 (3)列举ADO.net中的五个主要对象 Command、Connection、DataSet、DataAdapter、DataReader。
2. 不定项选择:
(1) 以下叙述正确的是:
A. 接口中可以有虚方法。 B. 一个类可以实现多个接口。 C. 接口不能被实例化。 D. 接口中可以包含已实现的方法。
(2) 从数据库读取记录,你可能用到的方法有:
A. ExecuteNonQuery B. ExecuteScalar
C. Fill D. ExecuteReader
3. 简述 private、 protected、 public、 internal 修饰符的访问权限。
4. 写出一条Sql语句:取出表A中第31到第40记录(SQLServer, 以自动增长的ID作为主键, 注意:ID 可能不是连续的。)
5 .列举ASP.NET 页面之间传递值的几种方式。
三种比较常见的方式,一种是可以通过用QueryString来传送相应的值,再一种是通过session变量来传送相应的值,还有 就是通过Server.Transfer方法来实现
(1)queryString 提示语言,即将跳转的叶面,跳转时间。在1-11种方案中哪个更好些?
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位数是多少,用递归算法实现。(C#语言) ------------------------------------------- a0 = 0,a1 = 1,An = An-1 + An-2(n>=2) int i=0,ii=1,s=1,num=0; ========================
10. 程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)
要求: 1.要有联动性,老鼠和主人的行为是被动的。
2.考虑可扩展性,猫的叫声可能引起其他联动效应。 三个类,猫,老鼠和主人 猫
public sealed class Cat { // 猫叫时引发的事件 public event EventHandler Calling;
public void Call() { Console.WrietLine("猫叫了..."); if(Calling != null) // 检查是否有事件注册 Calling(this, EventArgs.Empty); // 调用事件注册的方法。 } } // 老鼠,提供一个方法表示逃跑 public sealed calss Mouse { public void Escape(object sender, EventArgs e) { Console.WriteLine("老鼠逃跑了..."); } }
// 主人,发生猫叫的时候惊醒 public sealed class Master { public void Wakened(object sender, EventArgs e) { Console.WriteLine("主人惊醒了...); } } // 用于测试的执行方法 // 程序入口点 public static Program { public static int Main(string[] args) { // 建立猫 Cat cat = new Cat(); // 建立老鼠 Mouse mouse = new Mouse(); // 建立主人 Master master = new Master();
// 注册事件 cat.Calling += new EventHandler(mouse.Escape); cat.Calling += new EventHandler(master.Wakened);
// 猫开始叫 cat.Call(); } }
要点:1. 联动效果,运行代码只要执行Cat.Cryed()方法。2. 对老鼠和主人进行抽象
|
|