ASP.NET面试题(参考,大部分实用)

原创 2007年09月13日 15:46:00
.NET笔试题

分类:C#&ASP.NET
姓名: 日期:

1. 填空: (1)面向对象的语言具有________性、_________性、________性。

(2)能用foreach遍历访问的对象需要实现 ________________接口或声明________________方法的类型。

(3)列举ADO.net中的五个主要对象_______________、_____________、_______________、_______________、_________________。

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 页面之间传递值的几种方式。


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#语言)


10. 程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)

要求: 1.要有联动性,老鼠和主人的行为是被动的。

2.考虑可扩展性,猫的叫声可能引起其他联动效应。


参考答案:
1. (1) 继承性、封装性、多态性。(考基本概念)
(2) IEnumerable 、 GetEnumerator (对foreach机制的理解,本来不想出这题的,凑分)
(3) ... (送分题, 对ADO.net的了解)
评分标准:一空1分,满分10分。



2. (1) B、C (考对接口的理解) (2) B、C、D (考查对ADO.net的熟练程度)
评分标准: 一题5分,不选或者错选均不得分。漏选得2分。满分10分。



3. . private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public : 公共成员,完全公开,没有访问限制。
internal: 在同一命名空间内可以访问。
评分标准:答对1题2分,2题5分,3题7分。全对10分。 (送分题)



4. 解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)
评分标准: 写对即10分。(答案不唯一,datagrid 分页可能需要用到)

5. 1.使用QueryString, 如....?id=1; response. Redirect()....
2.使用Session变量
3.使用Server.Transfer
....等等
评分标准: 答对1点得3分, 两点7分, 3点10分。


6. (考查值引用和对象引用)
10
21
0
str
string being converted.
评分标准:答对一点得2分,满分10分。


7. A
B
A.Fun()
评分标准: 写出A.B 得5分,写出A.Fun()得5分,满分10分。
(考查在继承类中构造函数, 以及new 方法, )




8. 2
5
1
6

评分标准: 答对一点得2分,两点得5分,3点得7分。全对得10分。

(一些人做这题,头都晕了.... ^_^ )



9.

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);
}
}
评分标准: 写出return Foo(i -1) + Foo(i - 2); 得5分。

写出if(i > 0 && i <= 2) return 1; 得5分。

方法参数过多需要扣分(扣除分数 = 参数个数 - 1)

不用递归算法扣5分

(递归算法在树结构建立等方面比较常用)



10

要点:1. 联动效果,运行代码只要执行Cat.Cryed()方法。2. 对老鼠和主人进行抽象
评分标准: <1>.构造出Cat、Mouse、Master三个类,并能使程序运行(2分)
<2>从Mouse和Master中提取抽象(5分)
<3>联动效应,只要执行Cat.Cryed()就可以使老鼠逃跑,主人惊醒。(3分)


public interface Observer
{
void Response(); //观察者的响应,如是老鼠见到猫的反映
}
public interface Subject
{
void AimAt(Observer obs); //针对哪些观察者,这里指猫的要扑捉的对象---老鼠
}
public class Mouse : Observer
{
private string name;
public Mouse(string name, Subject subj)
{
this.name = name;
subj.AimAt(this);
}

public void Response()
{
Console.WriteLine(name + " attempt to escape!");
}
}
public class Master : Observer
{
public Master(Subject subj)
{
subj.AimAt(this);
}

public void Response()
{
Console.WriteLine("Host waken!");
}
}

public class Cat : Subject
{
private ArrayList observers;
public Cat()
{
this.observers = new ArrayList();
}
public void AimAt(Observer obs)
{
this.observers.Add(obs);
}
public void Cry()
{
Console.WriteLine("Cat cryed!");
foreach (Observer obs in this.observers)
{
obs.Response();
}
}
}
class MainClass
{
static void Main(string[] args)
{
Cat cat = new Cat();
Mouse mouse1 = new Mouse("mouse1", cat);
Mouse mouse2 = new Mouse("mouse2", cat);
Master master = new Master(cat);
cat.Cry();
}
}


//---------------------------------------------------------------------------------------------

设计方法二: 使用event -- delegate设计..
public delegate void SubEventHandler();
public abstract class Subject
{
public event SubEventHandler SubEvent;
protected void FireAway()
{
if (this.SubEvent != null)
this.SubEvent();
}
}
public class Cat : Subject
{
public void Cry()
{
Console.WriteLine("cat cryed.");
this.FireAway();
}
}
public abstract class Observer
{
public Observer(Subject sub)
{
sub.SubEvent += new SubEventHandler(Response);
}
public abstract void Response();
}
public class Mouse : Observer
{
private string name;
public Mouse(string name, Subject sub) : base(sub)
{
this.name = name;
}
public override void Response()
{
Console.WriteLine(name + " attempt to escape!");
}
}
public class Master : Observer
{
public Master(Subject sub) : base(sub){}
public override void Response()
{
Console.WriteLine("host waken");
}
}
class Class1
{
static void Main(string[] args)
{
Cat cat = new Cat();
Mouse mouse1 = new Mouse("mouse1", cat);
Mouse mouse2 = new Mouse("mouse2", cat);
Master master = new Master(cat);
cat.Cry();
}

}


1.进程和线程的差别。

线程是指进程内的一个执行单元,也是进程内的可调度实体.

与进程的区别:

(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位
(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行
(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.
(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。

2.测试方法

人工测试:个人复查、抽查和会审
机器测试:黑盒测试和白盒测试

2.Heap与stack的差别。

Heap是堆,stack是栈。
Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。
Stack空间有限,Heap是很大的自由存储区
C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符。
程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行。

3.Windows下的内存是如何管理的?

4.介绍.Net和.Net的安全性。

5.客户端如何访问.Net组件实现Web Service?

6.C/C++编译器中虚表是如何完成的?

7.谈谈COM的线程模型。然后讨论进程内/外组件的差别。

8.谈谈IA32下的分页机制

小页(4K)两级分页模式,大页(4M)一级

9.给两个变量,如何找出一个带环单链表中是什么地方出现环的?

一个递增一,一个递增二,他们指向同一个接点时就是环出现的地方

10.在IA32中一共有多少种办法从用户态跳到内核态?

通过调用门,从ring3到ring0,中断从ring3到ring0,进入vm86等等
11.如果只想让程序有一个实例运行,不能运行两个。像winamp一样,只能开一个窗口,怎样实现?

用内存映射或全局原子(互斥变量)、查找窗口句柄..
FindWindow,互斥,写标志到文件或注册表,共享内存。.

12.如何截取键盘的响应,让所有的‘a’变成‘b’?

键盘钩子SetWindowsHookEx

13.Apartment在COM中有什么用?为什么要引入?

14.存储过程是什么?有什么用?有什么优点?

我的理解就是一堆sql的集合,可以建立非常复杂的查询,编译运行,所以运行一次后,以后再运行速度比单独执行SQL快很多

15.Template有什么特点?什么时候用?

16.谈谈Windows DNA结构的特点和优点。

17.网络编程中设计并发服务器,使用多进程 与 多线程 ,请问有什么区别?

1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。

2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。

两者都可以提高程序的并发度,提高程序运行效率和响应时间。

线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。

1 必答
1.1 A类题
1.1.1 Visual Studio.NET 有几个集成开发环境?
○ A.一个 ○ B.两个 ○ C.三个 ○ D.四个


你要不要再一次回答问题?请看"开心辞典"的所有题目。
1。必答 7套 14道
2.抢答 6 道
3.风险 6组,3道一组 A 10 B 20 C 30 =18 6 道
38 道题
1 必答
1.1 A类题
1.1.1 Visual Studio.NET 有几个集成开发环境?
○ A.一个 ○ B.两个 ○ C.三个 ○ D.四个
1.1.2 我们称.NET编程架构是什么?
○ A..NET Framework ○ B.VS.NET ○ C.XML Web Service ○ D. 开发工具
1.1.3 以下那些标准是与Web Service相关的
○ A..SOAP ○ B. WSDL ○ C.UDDI ○ D. 以上都是
1.1.4 SOAP标准是谁来制定的?
○ A. Microsoft ○ B. W3C ○ C.IBM ○ D. SUN
1.1.5 Visual Studio.NET 会支持多少种开发语言?
○ A. 两种 ○ B. 三种 ○ C.四种 ○ D. 多种
1.1.6 ASP.NET 是用来开发何种应用的?
○ A. Windows应用 ○ B. .NET组件类 ○ C. Web应用 ○ D. 命令行应用程序
1.1.7 C#编译器将C#程序编译成什么样的代码?
A. 汇编语言代码
B. 机器语言代码
C. 微软中间语言代码
D. 二进制代码
答案:C
1.2 B 类题
1.2.1 所有的.NET基类库是用什么语言编写的?
○ A. C++ ○ B. C# ○ C. VB.NET ○ D. 汇编
1.2.2 什么语言提供了对XML注释的支持?
○ A. C++ ○ B. C# ○ C. VB.NET ○ D. Jscript
1.2.3 关于微软中间语言,下面什么说法错误的?
A. 它是解释执行的。
B. 在执行时,它被转化为机器代码。
C. 它是处理器无关的指令集。
D. 它允许真正的跨语言集成。

1.2.4 . ASP.NET比ASP相比较,下列哪个是不正确的?
A. 支持更多编程语言
B. 可以同时存在于一个应用程序里
C. 用户界面和代码分离,大大提高编程质量
D. 都支持页面级和应用程序级的跟踪调试
1.2.5 关于VB.NET,与C#(发音,C sharp)比较,下列哪项是不正确的?
A. 都是类型安全的编程语言。
B. 都支持自动垃圾收集。
C. 都是面向对象的语言。
D. VB.NET不支持API调用。

1.2.6 微软在VS.NET默认安装中提供了几种编程语言的开发环境?
A. 2种
B. 3种
C. 4种
D. 5种

2.1 下列哪些不是公共语言运行环境(CLR)的特性?
A. 代码执行管理
B. 管理函数指针调用
C. 类型安全
D. 代码访问安全


2 抢答(规则,题念完了,才可以抢答)

2.1 下列哪些不是公共语言运行环境(CLR)的特性?
A. 代码执行管理
B. 管理函数指针调用
C. 类型安全
D. 代码访问安全


2.2 下面哪个不是ADO.NET对象?
A. 数据适配器DataAdapter
B. 记录集Recordset
C. 数据集DataSet

2.3 什么工具来进行数据库建模?
A. SQL Server。
B. VS.NET架构版中的Visio。
C. VS.NET的集成环境。
D. Biztalk Server。

2.4 ACT(微软应用程序中心测试工具)能够用来进行下面哪些测试:
A. Web应用程序的功能性测试
B. 性能测试
C. 压力测试
D. 以上所有

2.5 ADO.NET中,数据集的Schema(结构定义)用什么来描述?
A. SQL语句
B. XML
C. 为达到最高的效率而设计的二进制标准

2.6 ASP.NET支持哪种会话状态保存的方式:
A. 服务器进程内
B. 状态服务(State Service)
C. SQL 服务器
D. 以上都是

3.1 A类题

3.1.1 下列哪种语言不是面向对象的?
A. C#
B. VB
C. VB.NET
D. C++


3 风险

3.1 A类题

3.1.1 下列哪种语言不是面向对象的?
A. C#
B. VB
C. VB.NET
D. C++

3.1.2 .NET框架不可以运行在什么样的平台上?
A. Windows 2000
B. Windows NT 4.0
C. Windows 98
D. Windows XP
E. Windows 95


3.1.3 VB.NET 是一种完全面向对象的语言吗?
○ A. 是 ○ B. 不是

3.1.4 用户可以在.NET环境中使用Java语言吗?
○ A. 可以 ○ B. 不可以

3.1.5 ASP和ASP.NET应用程序可以同时在同一个Web Server上运行,并不相互影响。这种说法:
A. 正确
B. 错误

3.1.6 在.NET应用中,如果开发时分配了内存却不小心忘了及时释放,会造成内存不足吗?
A. 会
B. 不会

3.2 B类题

3.3 对于发布.NET应用,那个说法正确?
A. 只能使用文件复制发布
B. 只能使用Windows Installer
C. 只能使用打包和发布向导
D. 以上方法都可以

3.3.1 关于C#语言的描述,下列哪项是不正确的?
A. 和Java一样,都起源于C++语言
B. 和Java都已经提交给ECMA国际标准组织。
C. 它支持C++所不支持的接口(Interface)
D. 它支持自动垃圾回收

3.3.2 下面哪一条有关ASP.NET是错误的?
A. 比ASP需要更多代码
B. 是编译执行的
C. 服务器端控件可以减小客户端编程工作量
D. 编译后的页可以被缓存起来提高性能

3.3.3 真正实现跨平台集成的技术是什么?
A. HTML。
B. Java。
C. DCOM。
D. XML web service。

3.3.4 微软.NET框架快速开发的原因是什么?
A. 丰富的类库
B. 统一的编程模型
C. 优秀的集成环境
D. 以上都是

3.3.5 下列哪条不包括在.NET框架中?
A. ASP.NET
B. MFC
C. ADO.NET
D. Windows 表单


3.4 C类题
3.4.1 关于VC++.NET的管理扩展,下面哪个说法不正确?
A. 它默认情况下不被安装
B. 它可以将现有的代码直接移植到.NET
C. 它可以完成所有C#能做到的
D. 它完全支持.NET框架

3.4.2 VS.NET支持VB6的升级,不正确的说法是哪个?
A. VS.NET提供该升级向导
B. VB表单和用户控件被升级到Windows表单
C. ADO数据绑定可升级到ADO.NET
D. ActiveX文档, DHTML页面被升级


13. ADO.NET数据集在那里创建数据缓冲?
A. 数据库服务器内存
B. Web服务器内存
C. 客户端内存


3.4.3 下面哪种特性VB.NET中没有提供?
A. 类的继承
B. 指针
C. Delegate
D. Attributes

11. 在C#中,怎样决定一个对象的类型?
A. 使用is操作符
B. 使用typeof操作符
C. 使用GetType方法

3.4.4 在一个过程里面发生了意外(Exception),而该过程里没有设置如何处理它,那么会发生什么情况?
A. 产生错误。
B. 该应用程序被终止。
C. 显示错误信息。
D. 该意外传回调用者或者前一个过程


备份题(如果出现相同的最高分)

3.5 当你升级一个Visual Basic 6.0的应用程序时,变体数据类型会被转换成:
A. 整型
B. 字节型
C. 对象类型
D. 字符串类型


一个名字空间可以分布在多少个装配件里面?
A. 无
B. 一个
C. 两个
D. 可以按需要任意多个。

5. 为了使用全局装配件缓冲,装配件必须有:
A 强命名
B 弱命名
C 都可以

6. 我们可以使用那个命令行工具从全局装配件缓冲中安装或删除装配件?
A. gacutil.exe
B. pview.exe
C. al.exe
D. csc.exe


7. .NET中下列什么工具可以用来察看策略信息?
A 代码访问安全工具( Caspol.exe)
B 权限查看工具(permview.exe)
C 都可以



11. 12. 在ADO.NET中,数据关联类说明了在同一个数据集里的两张数据表中的一列或多列之间的关系。这种说法:
A. 正确
B. 错误

13. 非连接数据访问模式比连接数据访问模式更适合于那些需要高可扩展性的应用程序。这种说法:
A. 正确
B. 错误

16. 事务的启动或终止可以使用下面那种对象:
A. 事务对象
B. 连接对象
C. 命令对象


15. 数据适配器能被用来基于SQL join操作更新数据表中的数据,这种说法:
A. 正确
B. 错误

开发人员试题]
以sql server 为例
一、Sql题
员工信息表[员工号,姓名,性别],T_Worker[WorkerId,name,sex]
员工迟到表[员工号,迟到日期,迟到时长],T_Late[WorkerId,latetime,latelong]
1.在 日期1 (2002-10-9) 到日期2 (2002-11-6) 之间迟到的员工姓名
2.查询员工姓名含有O的员工信息
3.更改员工号为00001的员工的姓名为Jack
4.迟到两次以上的员工号
5.没有迟到的员工信息(用Join)
6.编写触发器,当删除员工信息时,同时删除对应的迟到记录
二、asp,javascript题
1.几种页面之间的传值方法
2.asp几个内置对象的名称
3.javascript弹出确认框的函数
4.text框输入完成后,按回车键跳到下一个text框
5.asp实现报表显示打印的方案
三、.net题
1.如何给label1赋值
2.asp.net的配置文件名称
3.Page.IsPostBack的作用
4.ADO.NET的几个对象的名称
5.服务器端删除提示的消息框如何写
6.服务器端Codebehind方式时,如何注册前端javascript脚本,用什么对象的方法
基础部分
1. OSI七层参考模型的名称?
2. UDP连接和TCP连接有何异同?
3. 进程和线程分别怎么理解?

无答案
=================
基础部分
1. OSI七层参考模型的名称?
2. UDP连接和TCP连接有何异同?
3. 进程和线程分别怎么理解?
4. 活动目录的作用?
5. ASP中的七大对象是什么?
6. 在ASP中如何连接数据库?(编写一段代码描述)
7. COM+环境的主要特性?
8. 什么是NLB、什么是CLB?
9. VSS的作用?
10. 面向对象的思想主要包括什么?
11. 什么是DNA架构?
12. 分析一下SQL Server、Exchange Server、SharePoint Portal Server、BizTalk Server各自的功能及其作用。 

ASP.NET面试题(含答案)

ASP.NET面试题(含答案)

面试题(ASP.NET高级进阶)

1.ASP.NET新特性 1.1 什么是dynamically Typed 分析:C#中dynamic的正确用法 解答:dynamic的出现让C#具有了弱语言类型的特性。编译器在编译的时候不再对类型进...

asp.net面试题Ⅱ2007年06月05日 星期二 00:5161

.产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。int[] intArr=new int[100];ArrayList myList=new ArrayList();Ra...

ASP.NET面试题大全(附答案 经典版)

1. 简述 private、 protected、 public、 internal 修饰符的访问权限。 答 . private : 私有成员, 在类的内部才可以访问。  protected : ...

asp.net面试题(1)

1. 简述 private、 protected、 public、 internal 修饰符的访问权限。 答 . private :   私有成员, 在类的内部才可以访问。       prote...

asp.net 面试题2(网上搜集)

1 (1)面向对象的语言具有__继承性_性、_封装性_性、_多态性 性。 (2)能用foreach遍历访问的对象需要实现 _ IEnumerable 接口或声明_ GetEnumerator 方法的...

ASP.NET 130到面试题及答案

ASP.NET 130道面试题及答案 ASP.NET 130道面试题及答案 2008-06-07 130道asp.net面试题(偏c#的asp.net面试题)分享给大家! 欢迎...

Asp.net面试题复习

1.CTS,CLS,CLR CTS:Common Type System,通用类型系统。 CLS:Common Language Specification,公共语言规范。 CLR:Common La...

ASP.NET面试题(触类旁通)

限于篇幅,参考答案请查看:好看奇文网(http://www.hkqw.net/htm/201131/1045.htm)1. 简述 private、 protected、 public、 interna...

ASP.NET 60个面试题(有答案)

1. 简述 private、 protected、 public、 internal 修饰符的访问权限。 答 . private :   私有成员, 在类的内部才可以访问。       prote...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET面试题(参考,大部分实用)
举报原因:
原因补充:

(最多只允许输入30个字)