net面试题(程序员必看 附答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NET面试题一
想看答案往下翻
.NET技术题
1.类成员有几种可访问性?
2.用sealed修饰的类有什么特点
3.执行下面代码后:
String strTemp ="abcdefg 某某某";
Int i System.Text.Encoding.Default.GetBytes(strTemp).Length;
Int j = strTemp.Length;
1.问:i,j分别为多少并说明理由
4.概述三层结构体系?
中读写XML的类都归属于哪些命名空间?
6.a=10,b=15,在不用第三方变量的前提下,把a,b的值互换?
7.对数据的并发采用什么办法进行处理较好。
8.override与重载的区别?
9.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您
有几种方法进行处理?
10.什么叫应用程序域
11.CTS、CLS、CLR分别作何解释
12.什么是装箱和拆箱
13.什么是Code-Behind技术
14.GC是什么? 为什么要有GC
15.接口是否可继承接口? 抽像类是否可实现(implements)接口? 抽像类是否可继承实体类(concrete
class)?
16.数组有没有length()这个方法? String有没有length()这个方法?
17.堆和栈的区别?
18.请指出GAC的含义
19.DataReader与Dataset有什么区别
20.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?
21.C/S结构模式与B/S结构模式的主要区别是什么
22.C#中的数组类型有何特点?
23.ASP。
NET与ASP相比,主要有哪些进步?
24.结构和类的区别是什么?
25.&和&&的区别
26.<%#%>和<%%>有什么区别?
27.在中,下列代码运行后的输出结果是?
DataTable dt = new DataTable();
dt.Columns.Add(“编号“,typeof(System.Int16));
dt.Columns.Add(“成绩“,typeof(System.Int16));
for(int i=1; i<=3;i++){
dataRow dr = dt.NewRow();
dr[0]=i;
dr.rows.Add(dr);
}
Console.WriteLine(dt.Columns.Count);
28.下面的代码中有什么错误吗?_______
ing System;
class A
{
public virtual void F(){
Console.WriteLine("A.F");
}
}
abstract class B:A
{
public abstract override void F();
2.}
29.下面这段代码输出什么?为什么?
int i=5;
int j=5;
if (Object.ReferenceEquals(i,j))
Console.WriteLine("Equal");
else
Console.WriteLine("Not Equal");
30.请编程实现一个冒泡排序算法?
SqlServer 技术题
31.触发器的作用?
32.什么是存储过程?用什么来调用?
33.什么是内存泄漏?
34.动态查询如何实现?表的结构变化后,如果不需要修改程序,如何设计和实现查询
35.触发器分为事前触发和事后触发,这两种触发有和区别。
语句级触发和行级触发有何区别?
36.游标的作用?如何知道游标已经到了最后?
37.取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。
38.要求是查询表A中存在ID重复三次以上的记录
39.某字段有10条重复记录请把对应表中的记录查询出来?
表名appeal_base_info
字段appeal_type(number)
40.一张主表,一张从表,请将两张表的所有记录查询出来?
主表: appeal_base_info 主键:base_id (number)
主表: appeal_person_info 主键:person_id(number) 外键: base_id(number)
NET面试题一(答案)
.NET技术题
1.4种,public ,protected ,private,internal
2.sealed 修饰符用于防止从所修饰的类派生出其它类。
如果一个密封类被指定为其他类的基类,
则会发生编译时错
3.i=(14 ) ;j=(11 ) 中文两个字节
4.web/business/dataaccess
5.System.Xml
6.a=a+b;b=a-b;a=a-b
7.可以控制连接池的连接数量条件好的话可以用负载平衡
8.重载是方法的名称相同。
参数或参数类型不同,进行多次重载以适应不同的需要
Override 是进行基类中函数的重写。
为了适应需要
9.response. Redirect()---QueryString
Server.Transfer
10.应用程序域可以理解为一种轻量级进程。
起到安全的作用。
占用资源小
11.CTS:通用语言系统。
CLS:通用语言规范。
CLR:公共语言运行库
12.从值类型接口转换到引用类型装箱。
从引用类型转换到值类型拆箱
13.代码后植
14.GC是垃圾收集器。
程序员不用担心内存管理,因为垃圾收集器会自动进行管理。
要请求垃圾收
集,可以调用下面的方法之一:
System.gc()
Runtime.getRuntime().gc()
15.接口可以继承接口。
抽像类可以实现(implements)接口,抽像类是否可继承实体类,但前提是实
体类必须有明确的构造函数
16.数组和string都没有Length()方法,只有Length属性
17.栈:由编译器自动分配、释放。
在函数体中定义的变量通常在栈上。
堆:一般由程序员分配释放。
用new、malloc等分配内存函数分配得到的就是在堆上
18.全局程序集缓存
19.一个是只能向前的只读游标,一个是内存中的表
ing 引入名称空间或者使用非托管资源new 新建实例或者隐藏父类方法
21.首先,在系统的性能方面。
只要拥有可上网的浏览器,就可以使用B/S系统。
不过,B/S结构的
客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作要由服务器承担,这就对服务器提出了很高的要求,无形中增加了用户在这一方面的投入。
采用C/S结构时,客户端和服务器都承担部分工作,有效利用了客户端和服务器端的资源,使用户不必在硬件上有更多的投入。
另外,浏览器页面不便于修改,这为用户定制自己的文件时带来了不便,比如用户想自定义一个报表,用B/S结构的系统就比较难完成。
其次,在系统的开发方面,C/S结构的开发对开发者提出了较高的要求,整个开发过程比较复杂。
与B/S结构相比,C/S技术的历史更为“悠久”,从技术成熟度和开发人员普遍掌握的水平来看更为成熟。
第三,系统升级方面。
C/S结构中若有某一模块发生改变,可能要关联到其它模块的变动,使系统升级的成本较大;而B/S结构在开发、维护阶段几乎所有的工作都集中在服务器端,只需更新服务器端的软件就可以了。
如果系统升级比较频繁,那么B/S架构的产品就具有维护工作量少的优势。
第四,安全性方面。
在安全性上,B/S结构则略显不足,毕竟现在网络安全系数不高,只要拥有密码,任何人都可以进入到用户的系统中;而C/S结构由于需要特定的客户端软件,并且一般来说都要对客户端加密,甚至可以限定只有某一台计算机可以使用这个客户端,因而对安全性有更多的保障
22.1) 数组一般用于存储同一种类型的数据,包括Object类型2) 数组是一种引用类型,而不是值
类型。
3) C#中除了可以有一维数组、多维数组外,还有交错型数组
23.asp解释形,aspx编译型,性能提高,有利于保护源码
24.1)结构是一个值类型,保存在栈上,而类是一个引用类型,保存在受管制的堆上2) 对结构中的
数据进行操作比对类或对象中的数据进行操作速度要快3) 一般用结构存储多种类型的数据,当创建一个很多类或对象共用的小型对象时,使用结构效率更高
25.&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)
26.<%#%>表示绑定的数据源
<%%>是服务器端代码块
27. 2
28.abstract override不能连用
29.Not Equal,因为比较的是对像
30.int [] array = new int [*] ;
int temp = 0 ;
for (int i = 0 ; i < array.Length - 1 ; i++)
{
for (int j = i + 1 ; j < array.Length ; j++)
{
if (array[j] < array[i])
{
temp = array[i] ;
array[i] = array[j] ;
array[j] = temp ;
}
}
}
SqlServer 技术题
31.答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。
它可以强化约束,来维
护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。
可以联
级运算。
如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发
32.答:存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以
后在该程序中就可以调用多次。
如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。
可以用一个命令对象来调用存储过程
33.答:一般我们所说的内存泄漏指的是堆内存的泄漏。
堆内存是程序从堆中为其分配的,大小任意
的,使用完后要显示释放内存。
当应用程序用关键字new等创建对象时,就从堆中为它分配一块内存,使用完后程序调用free或者delete释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了将查询封装进存储过程中,通过调用存储过程实现动态调用;表结构发生变化后修改相应的存储过程即可再不修改程序的情况下实现查询
34.事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。
通常事前触发器
可以获取事件之前和新的字段值。
语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次
35.游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通
常此变量不等于0表示出错或到了最后
36.select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A)
37.select * from(select count(ID) as count from table group by ID)T where T.count>3
38.SELECT * form appeal_base_info where appeal_type in (select appeal_type from
appeal_base_info group by appeal_type having count(appeal_type) = 10)
39.select * from ppeal_base_info,appeal_person_info where appeal_base_info.base_id =
appeal_person_info.base_id。