就业模拟试题_Net

一、    基础知识部分(每题3分,共60分)

 

  1. 委托是什么,事件跟委托是不是一回事?
  2. net中读写数据库需要用到那些类?他们的作用?
  3. DataSet和DataReader的区别是什么?
  4. 能用foreach遍历访问的对象需要实现哪个接口或声明哪个方法的类型?
  5. 简述 private、 protected、 public、 internal 修饰符的访问权限
  6. 列举ASP.NET 页面之间传递值的几种方式
  7. CTS、CLS、CLR分别作何解释?
  8. 什么是装箱和拆箱?
  9. 分析以下代码,完成填空
    string strTmp = "abcdefg某某某";
    int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
    int j= strTmp.Length;
    以上代码执行完后,i=?  j=?
  10. GC是什么? 如何请求GC?
  11. 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
  12. 什么是自定义控件?动态如何传数据?
  13. 什么是Code-Behind技术?
  14. 说明.net中的错误处理机制
  15. 列举一种适合asp.net应用开发的分层结构,介绍每层的作用
  16. net的身份验证方式有哪些?分别是什么原理?
  17. 请详述在dotnet中类(class)与结构(struct)的异同?
  18. 常用的调用WebService的方法有哪些?
  19. 在net中读取XML文件要用到那些包,类,方法?
  20. 什么是强类型系统?

 

二、    程序题(前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.考虑可扩展性,猫的叫声可能引起其他联动效应。

posted @ 2010-12-19 17:29  左正  阅读(165)  评论(0编辑  收藏  举报