资源描述
1.什么是受管制(托管)的代码?
答:
托管代码是运行.NET 公共语言运行时CLR的代码
unsafe:非托管代码。不经过CLR运行。程序员自行分配和释放内存空间
12.什么是强命名程序集?
答:程序集需要经过加密签名,强命名程序集可以部署到全局程序集缓存中,成为公共程序集
中读写数据库需要用到那些类?他们的作用?
答:DataSet:数据集。
DataCommand:执行语句命令。
DataAdapter:数据的集合,用语填充。
DataReader:数据只读器
4.ASP.net的身份验证方式有哪些?分别是什么原理?
答:
Windwos(默认)用IIS控制
From(窗体)用帐户
Passport(密钥)
5.什么是Code-Behind技术?
答:代码后置。
6.在.net中,配件的意思是?
答:程序集。(中间语言,源数据,资源,装配清单)
7.常用的调用WebService的方法有哪些?
答:1.使用WSDL.exe命令行工具。
2.使用VS.NET中的Add Web Reference菜单选项
Remoting 的工作原理是什么?
答:服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置。
9.在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。
答:string str = null 是不给他分配内存空间,而string str = "" 给它分配长度为空字符串的内存空
间。
10.请详述在dotnet中类(class)与结构(struct)的异同?
答:class可以被实例化,属于引用类型,class可以实现接口和单继承其他类,还可以作为基类型,是分配
在内存的堆上的
struct属于值类型,不能作为基类型,但是可以实现接口,是分配在内存的栈上的.
11.SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号,
LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号
答:Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)
12.简要谈一下您对微软.NET 构架下remoting和webservice两项技术的理解以及实际中的应用。
答:webservice主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。
13.写出一条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)
14.GC是什么? 为什么要有GC?
答:GC是垃圾收集器。程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,
可以调用下面的方法之一:
System.gc()
Runtime.getRuntime().gc()
15.String s = new String("xyz");创建了几个String Object?
答:两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。
16.启动一个线程是用run()还是start()?
答:启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由
JVM调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程
。
17.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete
class)?
答:接口可以继承接口。
抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数
。
18.构造器(构造函数)Constructor是否可被override?
答:构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。
19.是否可以继承String类?
答:String类是密封类故不可以继承。
20.try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候
被执行,在return前还是后?
答:会执行,在return前执行。
21.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
答:switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是
int、 short、 char 或者 byte。long,string 都不能作用于swtich。
22.当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
不能,一个对象的一个synchronized方法只能由一个线程访问。
23.List, Set, Map是否继承自Collection接口?
答:List,Set是Map不是
24.sleep() 和 wait() 有什么区别?
答:sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。
这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有
更高的优先级
(b)正在运行的线程因为其它原因而阻塞。
wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象
进入等待状态,直到被唤醒或等待时间到。
25.谈谈final, finally, finalize的区别。
答:
final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类
被继承。因此 一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为
final,可以保证它们在使用中 不被改变。被声明为final的变量必须在声明时给定初值,而在以后
的引用中只能读取,不可修改。被声明为 final的方法也同样只能使用,不能重载
finally—再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的
catch 子句就会 执行,然后控制就会进入 finally 块(如果有的话)。
finalize—方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做
必要的清理 工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是
在 Object 类中定义的 ,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或
者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
26.进程和线程的区别?
答:进程是系统进行资源分配和调度的单位;线程是CPU调度和分派的单位,一个进程可以有多个线程,
这些线程共享这个进程的资源。
27.堆和栈的区别?
答:
栈:由编译器自动分配、释放。在函数体中定义的变量通常在栈上。
堆:一般由程序员分配释放。用new、malloc等分配内存函数分配得到的就是在堆上。
28.请指出GAC的含义?
答:全局程序集缓存。
29.向服务器发送请求有几种方式?
答:get,post。get一般为链接方式,post一般为按钮方式。
30.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?using 指令 和语句 new 创建
实例 new 隐藏基类中方法。
答:using 引入名称空间或者使用非托管资源,使用完对象后自动执行实现了IDisposable接口的类的
Dispose方法
new 新建实例或者隐藏父类方法
31.什么是反射?
答:动态获取程序集信息
32.什么是虚函数?什么是抽象函数?
答:虚函数:没有实现的,可由子类继承并重写的函数。抽象函数:规定其非虚子类必须实现的函数,
必须被重写。
33.什么是XML?
答:XML即可扩展标记语言。eXtensible Markup Language.标记是指计算机所能理解的信息符号,
通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,
即可以选择国际通用的标记语言,比如HTML,也可以使用象XML这样由相关人士自由决定的标记语言,
这就是语言的可扩展性。XML是从SGML中简化修改出来的。它主要用到的有XML、XSL和XPath等。
34.ADO.net中常用的对象有哪些?分别描述一下。
答:Connection 数据库连接对象
Command 数据库命令
DataReader 数据读取器
DataSet 数据集
DataAdaprer数据适配器
35.c#中的三元运算符是?
答:?:。
36.用sealed修饰的类有什么特点?
答:密封,不能继承。
37.大概描述一下ASP。NET服务器控件的生命周期
答:初始化 加载视图状态 处理回发数据 加载 发送回发更改通知 处理回发事件 预呈现 保存
状态 呈现 处置 卸载
展开阅读全文