就业模拟试题_Net
一、 基础知识部分(每题3分,共60分)
- 委托是什么,事件跟委托是不是一回事?
- net中读写数据库需要用到那些类?他们的作用?
- DataSet和DataReader的区别是什么?
- 能用foreach遍历访问的对象需要实现哪个接口或声明哪个方法的类型?
- 简述 private、 protected、 public、 internal 修饰符的访问权限
- 列举ASP.NET 页面之间传递值的几种方式
- CTS、CLS、CLR分别作何解释?
- 什么是装箱和拆箱?
- 分析以下代码,完成填空
string strTmp = "abcdefg某某某";
int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
int j= strTmp.Length;
以上代码执行完后,i=? j=? - GC是什么? 如何请求GC?
- 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
- 什么是自定义控件?动态如何传数据?
- 什么是Code-Behind技术?
- 说明.net中的错误处理机制
- 列举一种适合asp.net应用开发的分层结构,介绍每层的作用
- net的身份验证方式有哪些?分别是什么原理?
- 请详述在dotnet中类(class)与结构(struct)的异同?
- 常用的调用WebService的方法有哪些?
- 在net中读取XML文件要用到那些包,类,方法?
- 什么是强类型系统?
二、 程序题(前6题每题5分,第7题10分。共40分)
1. 公司要求开发一个继承System.Windows.Forms.ListView类的组件,要求达到以下的特殊功能:点击ListView各列列头时,能按照点击列的每行值进行重排视图中的所有行 (排序的方式如DataGrid相似)。根据您的知识,请简要谈一下您的思路。
2. 根据委托(delegate)的知识,请完成以下用户控件中代码片段的填写:
namespace test
{
public delegate void OnDBOperate();
public class UserControlBase : System.Windows.Forms.UserControl
{
public event OnDBOperate OnNew;
privatevoidtoolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
if(e.Button.Equals(BtnNew))
{
//请在以下补齐代码用来调用OnDBOperate委托签名的OnNew事件。
}
}
}
}
3. 仔细阅读下列代码
using System;
class A
{
public A()
{
PrintFields();
}
public virtual void PrintFields(){}
}
class B:A
{
int x=1;
int y;
public B()
{
y=-1;
}
public override void PrintFields()
{
Console.WriteLine("x={0},y={1}",x,y);
}
当使用new B()创建B的实例时,产生什么输出?
4. 写出程序的输出结果
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);
}
}
5. 用socket实现服务器端向客户端传递几个字符,在客户端输出
6. 写出程序的输出结果
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();
}
}
7. 程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)
要求: 1.要有联动性,老鼠和主人的行为是被动的。
2.考虑可扩展性,猫的叫声可能引起其他联动效应。