一些必须要了解的内容:
1、什么是面向对象?
我们一般指面向对象的设计思想,主要包括封装,继承和多态。
还有面向对象的分析(Object-Oriented Analysis)、面向对象的设计(Object-Oriented Design)、面向对象的编程(Object-Oriented Programming)等等。
2、什么是.net?
Microsoft.NET 是 Microsoft.NET XML Web Services 平台。XML Web Services 允许应用程序通过 Internet 进行通讯和共享数据,而不管采用的是哪种操作系统,设备或编程语言。我们在.net平台下,借助 Visual Studio .NET 和 .NET Framework框架,Microsoft .NET 允许更快地开发软件应用程序和服务。
其中.NET Framework框架是Microsoft为开发应用程序而创建的新平台,它包括了公共语言运行时(CLR)、类库(FCL)、各种开发语言、ASP.NET等等。
3、什么是ado.net?
ADO.NET是.NET Framework框架里一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。
ADO.NET有五大对象,分别是
Connection
Command
DataReader
DataSet
DataAdapter
4、什么是asp.net?
asp.net是创建**页的一种强大的服务器端技术。在Microsoft.NET中,asp.net是一项核心技术,是.net中基于Web的开发平台。
asp.net的特点:
1、与浏览器无关。
2、将业务逻辑代码与显示逻辑分开。(代码隐藏)
3、简单性和易学性
4、执行效率的大幅提高
5、高效可管理性
6、多处理器环境的可靠性
7、自定义性,和可扩展性
8、安全性
9、易于配置和部署
5、什么是代码管理工具?
即版本控制工具。
比较有名的有CVS、Source Safe、Clear Case等。
版本控制主要是协助在多人团队中控制代码,防止代码管理混乱、代码冲突,对代码拥有者进行权限控制等,是规范化软件开发不可或缺的重要工具。
Visual SourceSafe 2005 简介(vss 2005)
为了与 Visual Studio 2005 的发布相呼应,Microsoft 将提供 Visual SourceSafe 2005,这是一种更精密的、集成度更高的版本控制系统,针对开发团队和个人增加了一些新功能和扩展功能。在对 Visual SourceSafe 6.0d(随 Visual Studio .NET 2003 一同发布)进行了较少更改之后,Microsoft 将要对 Visual SourceSafe 2005 进行更多的改进。这些根本性的更改将改善 Visual SourceSafe 的可靠性、可伸缩性、性能和远程访问功能。
一 、基础
1、面向对象基础
(1) 面向对象的语言具有继承性、封装性、多态性。
(2) 面向对象的思想主要包括什么?
答:封装,继承和多态。减少代码的重复,增加代码的复用率。
2、c#语言基础
(1)能用foreach遍历访问的对象需要实现IEnumerable接口或声明GetEnumerator方法的类型。
(2)接口和类的区别是什么?
答:类是功能(对象)的集合,接口是对类的高度抽象,约束类,规范类。
接口和类都是类,不同的是,接口只包含方法或属性的声明,不包含具体实现方法的代码,接口可以实现多继承,而类只能是单继 承,继承接口的类必须实现接口中声明的方法或属性。接口主要定义一种规范,统一调用方法。
(3)String str=new String("a")和String str = "a"有什么区别?
String str = "a"; 这个只是一个引用,内存中如果有“a"的话,str就指向它,如果没有才创建如果你以后还用到"a"这个字符串 的话并且是这样用: String str1 = "a"; String str2 = "a"; String str2 = "a"; 这4个变量都共享一个字符串"a" 而String str = new String("a");是根据"a"这个String对象再次构造一个String对象,将新构造出来的String对象的引用赋给str 。
(4)什么是反射?
答:反射是.net中获取运行时类型信息的方式,.net的应用程序由“程序集(Assembly)”,“模块(Module)”,“类(class)” 组 成,而反射提供一种编程方式,让程序员可以在程序运行期获得这几个组成部分的相关信息。命名空间System.Reflection,主要类有 Assembly,Type,MethodInfo.
(5) 什么是泛型?
答:泛型,即通过参数化类型来实现同一份代码上操作多种数据类型。使代码更强的类型安全,更好的复用,更高的效率,更清晰的 约束。
(6) 什么是委托?
答:委托声明和定义了一种引用类型。委托包含对方法而不是方法名称的引用。使用委托可以在运行时动态设定要调用的方法。一旦 为委托分配了方法,委托将具有和该方法完全相同的行为。委托更像一个具有通用的方法名称,在不同的情况将该名称指向不同 的方法,并通过委托执行这些方法。委托主要用于三种场合:异步回调、多线程、事件。
(7)string与String的区别
string、int是C#定义的类型,而String、Int32是.net类型即是CTS类型;
string 是 .NET 框架中 System.String 的别名。
string在编译的时候会转化为String类
(8)虚方法(virtual )和抽象方法(abstract)的区别?
之一:抽象方法仅有声明,而没有任何实现,如abstract someMethod();,虚方法却不能如此
之二:子类继承父类,可以对父类中的虚方法进行重写、覆盖、不处理三种处理(见5),对抽象方法却必须实现
(9)子类对父类中虚方法的处理有重写(override)和覆盖(new),请说明它们的区别?
有父类ParentClass和子类ChildClass、以及父类的虚方法VirtualMethod。有如下程序段:
ParentClass pc = new ChildClass();
pc.VirtualMethod(...);
如果子类是重写(override)父类的VirtualMethod,则上面的第二行语句将调用子类的该方法
如果子类是覆盖(new)父类的VirtualMethod,则上面的第二行语句将调用父类的该方法
(10)抽象类(abstract)和接口(interface)的区别
抽象类可以有自己的实现,接口却仅有声明,可以有自己的静态数据字段;
java和C#中可以实现多个接口,却只能继承一个抽象类(或者非抽象类)(单继承,和c++的多继承不同);
(11)简述 private、 protected、 public、 internal 修饰符的访问权限。
private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public : 公共成员,完全公开,没有访问限制。
internal: 在同一命名空间内可以访问。
(12) 什么是装箱和拆箱?
装箱是允许将值类型做为引用类型处理的过程。而拆箱是引用类型作为值类型处理的过程。
(13)值类型和引用类型的区别?
值类型的数据存储在内存的栈中,表示实际数据。引用类型表示指向存储在内存堆的数据指针或引用。
(14)了解程序集强签名吗?
用强名称来给程序集签名即谓之程序集强签名,强名称是由程序集的标识加上公钥和数字签名组成的,其中程序集的标识包括简单 文本名称,版本号和区域性信息!
(15)请解释应用程序域、程序集、元数据、反射这几个技术名词
应用程序域是一种边界,它由公共语言运行库围绕同一应用程序范围内创建的对象建立(即,从应用程序入口点开始,沿着对象 激活的序列的任何位置)。应用程序域有助于将在一个应用程序中创建的对象与在其他应用程序中创建的对象隔离,以使运行时 行为可以预知。在一个单独的进程中可以存在多个应用程序域。
程序集(assembly)是包含编译好的、面向.NET Framework的代码的逻辑单元。程序集是完全自我描述性的,也是一个逻辑单元而不 是物理单元,它可以存储在多个文件中(动态程序集的确存储在内存中,而不是存储在文件中)。如果一个程序集存储在多个文件中 ,其中就会有一个包含入口点的主文件,该文件描述了程序集中的其他文件。
元数据最本质、最抽象的定义为:data about data (关于数据的数据)。
3、ado.net基础
(1)什么是ado.net。
ADO.NET是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者 XML文件。
(2)列举ADO.net中的五个主要对象。
1.Connection对象,连接数据库对象,可以将所有指令发送到数据存储器(以及发送来自数据存储器的结果).用户可以指定连接的数 据库,使用的严正等.
2.Command对象,包含了指定将什么信息发送到数据库(或检索什么数据)的指令.还包含了将使用的连接的连接.
3.DataReader对象,提供了"获取"通过命令对象检索到的信息的方法.这一信息是只读的,因此不能编辑,每次只能读取一项 数据.它提供了处理大量数据的有效方法,有时它们描述为提供了连接的访问,因为只要使用DataReader,那么必须保持对数据 库的连接.
4.DataAdapter对象,数据适配器对象,提供了一组命令和数据库连接,它是另一种检索数据的方法.它对数据更新的支持也是只读的 ,因此在某些方面把它看成是DataReader的"老大哥".它并不允许直接编辑数据源,它用数据源信息的副本填充数据集,接着用于将 对数据的改变写入数据库中.
5.DataSet对象,可以被看着数据存储器的部分数据的本地副本.可以读取,添加,编辑和删除其中的数据行,因为这些数据是本 地缓存的,与DataReader的只前向读取方式不同,可以以随机的方式读取它.在对数据作改变时,通过数据适配器将他们发送回 数据存储器.在这之前,数据集都是与数据存储器断开连接的.
4、asp.net基础
(1)什么是asp.net
asp.net是创建**页的一种强大的服务器端技术,可以为3w站点或企业内部网创建动态的可交互的网页。
(5)列举ASP.NET 页面之间传递值的几种方式。
1.使用QueryString,Querystring是一种非常简单的传值方式,其缺点就是会把要传送的值显示在浏览器的地址栏中,并且在此方法 中不能够传递对象。
url="webform2.aspx?name="+TextBox1.Text;
Response.Redirect(url);
。。。。。
Label1.Text=Request.QueryString["name"];
2.使用Session变量
此方式不仅可以把值传递到下一个页面,还可以交叉传递到多个页面,直至把Session变量的值removed后,变量才会消失。
3.使用Server.Transfer
(1)什么是resx文件?
答:资源文件,主要要来存储本地化的资源,一个aspx文件可以对应多个resx文件。
(2) 什么是序列化?
答:序列化是将对象转化为容易传输的格式的过程。例如,可以序列化一个对象,然后使用http通过internet在客户端和服务器之间传 输该对象。在另一端, 反序列化将该流重新构造对象。
(3) romoting和webservice两项技术的理解。
答:remoting主要用于局域网,它的速度比webservice快,但是用在internet上不是很好,因为它的跨平台的能力有限。webservice一 般用在internet上,因为能很好的跨平台,不过效率低,速度慢。
(4) 大量数据量的传输的如何处理?
答:设置RemotingFormat=SerializationFormat.Binary;再序列化,通过WebService传输,客户端接受,再反序列化。效果远远优于直 接传送DataSet。
5、其他
(1) 列举一下你所了解的XML技术及其应用。
答:xml用于配置,用于保存静态数据类型。接触xml最多的是webservice和config.
(2) 什么是Data Access Application Block
答:Data Access Application Block是一个.net组件,包含优化的数据访问代码,可以帮助用户调用存储过程以及向SQL Server数据 库发出文本命令。
(3) 什么是Dotnetnuke?IBuySpy Store?.NET Pet Shop?
答:Dotnetnuke是一个免费、开源、可扩展、接近完美的内容管理系统。
IBuySpy Store解决方案工具包是一个虚拟的出售监控设备的电子商务店面。它演示了包含使用xml web服务在内的所有主要的.net 框架技术。
.NET Pet Shop 主要演示设计模式和体系结构。
(4) 写出一条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)