经典推荐--.Net面试法宝(面试题收集)(转)

.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. C#中 property attribute的区别,他们各有什么用处,这种机制的好处在哪里?

2. 讲一讲你理解的web service,dot net framework中,怎么很好的结合xml?(讲概念就行了)

3. C#, Java c++的特点,有什么相同的地方,不同的地方,C#分别从c++java中吸取了他们那些优点?

4. C#可否对内存进行直接的操作?(这可是个难点哦?要注意!)

5. Visual C++ 6.0编写的代码(unmanaged code),如何在CLR下和其他dot net component结合?

6. 以前作过的一些项目?介绍一下自己的编程经验。(这是蒙混不过去的,基本一问就知道是真是假)

posted on 2006-03-27 18:12 仰天一笑 阅读(13791) 评论(21)   编辑 收藏 所属分类: ASP.Net-C#


评论

面试适用
  

  2006-03-28 12:40  
谢谢
          

 218.71.178.* 2006-03-31 12:52
哪里出的?
        

 221.224.54.* 2006-03-31 14:31  
好像很全面呢!我英文太滥了!!!看这就头疼!
          

 [楼主] 2006-03-31 15:21  
@csf

这个是网上收集所得,.NET程序员笔试基本套路

          

 218.83.152.* 2006-05-29 17:21
谁能提供答案
        

 211.167.43.* 2006-06-22 19:21
把java 的面试都那进来了.
        

 [楼主] 2006-06-23 09:20  
@xuehp
我的试题中不完全是.Net,Java,还有VC啥的,大体的都是.Net的
          

 [楼主] 2006-06-28 14:28  
1.有哪几种方法可以实现一个类存取另外一个类的成员函数及属性,并请举列来加以说明和分析.
2.A类是B类的基类,并且都有自己的构造,析构函数,请举例证明B类从实例化到消亡过程中构造,析构函数的执行过程.请附code
3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?
4..Net中读写数据库需要用到哪些类?他们的作用
5.ASP.net的身份验证方式有哪些?分别是什么原理?
6.解释一下UDDI、WSDL的意义及其作用。
7.常用的调用webservice方法有哪些?
8.讲一讲你理解的web service,在dot net framework中,怎么很好的结合xml?(讲概念就行了)
9.C#可否对内存进行直接的操作?(这可是个难点哦?要注意!),如果能,如何操作;如果不能,为什么?
10.描述一下C#中索引器的实现过程,是否只能根据数字进行索引?

          

 [楼主] 2006-06-28 14:30  
1.new有几种用法

第一种:new Class();

第二种:覆盖方法

public new XXXX(){}

第三种:new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。

2.如何把一个array复制到arrayList里

foreach( object o in array )arrayList.Add(o);

3.datagrid.datasouse可以连接什么数据源 [dataset,datatable,dataview]

dataset,datatable,dataview , IList

4.概述反射和序列化

反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性

序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。

5.概述o/r mapping 的原理

利用反射,配置 将类于数据库表映射

6.类成员有( )种可访问形式

可访问形式?不懂。

可访问性:public ,protected ,private,internal

7.用sealed修饰的类有什么特点

sealed 修饰符用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其他类的基类,则会发生编译时错误。

密封类不能同时为抽象类。

sealed 修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。

8.列举ADO.NET中的五个主要对象,并简单描述

connection,command,dataReader,trans,dataset ...

9.执行下面代码后:

String strTemp ="abcdefg 某某某";

Int i System.Text.Encoding.Default.GetBytes(strTemp).Length;

Int j = strTemp.Length;

问:i=(14 ) ;j=(11 )

i=(14 ) ;j=(11 ) 中文两个字节

10.C#中,string str = null 与 string str ="",请尽量用文字说明区别。(要点:说明详细的内存空间分配)

string str ="" 分配空间

11.详述.NET里class和struct的异同!

class:放在 ? struct放在?

struct值传递

类与结构有很多相似之处:结构可以实现接口,并且可以具有与类相同的成员类型。然而,结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承。结构的值存储在“在堆栈上”或“内联”。细心的程序员有时可以通过聪明地使用结构来增强性能。

12.概述.NET里对 remoting 和 webservice 两项技术的理解和实际中的应用。

远程逻辑调用,remoing接口只能用在.net中

13.什么是code-behind技术

aspx and cs

14.概述三层结构体系

web/business/dataaccess

15.asp.net如何实现MVC模式,举例说明!

web/business/dataaccess

          

 [楼主] 2006-06-28 14:30  

1.面向对象的思想主要包括什么?

答:这个题范围太广,不知道说什么.

2.什么是ASP.net中的用户控件

答:用户控件就是.ascx扩展名的东西喽,可以拖到不同的页面中调用,以节省代码.比如登陆可能在多个页面上有,就可以做成用户控件,但是有一个问题就是用户控件拖到不同级别的目录下后里面的图片等的相对路径会变得不准确,需要自已写方法调整.

3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?

答:装箱就是把值类型转成引用类型,从MS IL角度看好像是boxing,没记错的话是把值从堆栈转到堆中.拆箱相反,重载就是指一个方法名同,参数个数不同,返回值可以相同的方法.CLR是通用语言运行时,其它的不清楚.

4.列举一下你所了解的XML技术及其应用
5.值类型和引用类型的区别?写出C#的样例代码。

答:结构是值类型,类是引用类型,所以传结构就是值类型的应用啦,传对象或类就是引用类型的,这个不用多写了吧.

6.ADO.net中常用的对象有哪些?分别描述一下。

答:connection command sqladapter dataset datatable dataview等等.写不完了.

7.如何理解委托?

答:据说相当于函数指针,定义了委托就可以在不调用原方法名称的情况下调用那个方法.

msdn2005中是这样解释的:

委托具有以下特点:

委托类似于 C++ 函数指针,但它是类型安全的。

委托允许将方法作为参数进行传递。

委托可用于定义回调方法。

委托可以链接在一起;例如,可以对一个事件调用多个方法。

方法不需要与委托签名精确匹配。有关更多信息,请参见协变和逆变。

C# 2.0 版引入了匿名方法的概念,此类方法允许将代码块作为参数传递,以代替单独定义的方法。

8.C#中的接口和类有什么异同。

答:这个异同可多了,要说清楚还真不容易.

9.。net中读写数据库需要用到哪些类?他们的作用

答:这个类自已可以写的啊,你是指基类吗?那configuration,sqlconnection,sqlcommand等都要用到.

10.UDP连接和TCP连接的异同。

答:前者只管传,不管数据到不到,无须建立连接.后者保证传输的数据准确,须要连结.

11.ASP.net的身份验证方式有哪些?分别是什么原理?

答:form认证,windows集成认证等,原理不清楚.

12.进程和线程分别怎么理解?

答:进程是老子,线程是儿子,没有老子就没有儿子,一个老子可以有多个儿子.一个儿子可以成为别人的儿子,一个老子也可以为别的老子生儿子.

13.什么是code-Behind技术。

答:代码分离,这是个明智的东西,像ASP这样混成一堆很不爽.或者可以理解成HTML代码写在前台,C#代码写在后台.当然前台也有脚本,类的调用等,其实写在一起也是可以的.

14.活动目录的作用。

答:这个不明白.请明白的补充一下.

15..net中读写XML的类都归属于哪些命名空间?

答:System.Xml

我自已写的就不一定了,嘿嘿.

16.解释一下UDDI、WSDL的意义及其作用。

答:什么东西?

17.什么是SOAP,有哪些应用。

答:SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一直语言相互通信。这种相互通信采用的是XML格式的消息,具体请看:

18.如何部署一个ASP.net页面。

答:随便啦,想直接上传就直接上传,想打包成EXE就打包,看个人喜好.

19.如何理解.net中的垃圾回收机制。

答:GC?对象创建了总要清除啊,不然内存哪够用?

20.常用的调用webservice方法有哪些?

答:调用就调用,还有很多方法吗?

以上有答案的仅供参考(不一定正确哦),如果你有更好的答案请回复告诉我.


          

 219.239.213.* 2006-08-08 11:59
这一套都下来,月薪不一万也得8k吧?!= =s
        

  2006-09-11 15:12  
@飞过海,规范化飞过海
这些是基础,我觉得如果这些无法回答的话不能称之为.NET程序员。
其实高工资看的不是这些。真正的高工资往往不屑于在这些问题上钻研。因为这些过于基础,看不出一个人的potential。思维方式,思维能力等比较重要。
          

 218.249.140.* 2006-09-15 14:37
仰天一笑

出的题很好,我做过一开始的题.
        

 61.153.48.* 2007-01-30 13:47
顶,说的不错,思维方式最重要,
        

 61.153.48.* 2007-01-30 13:47

skny


        

 61.153.48.* 2007-01-30 13:48
ddd
        

  2007-03-28 18:54  
里面有几个错误答案啊!
          

 [楼主] 2007-03-30 10:06  
@YanziMyWife
敬请指教
          

  2007-04-09 23:26  
不错
          

 222.201.190.* 2007-06-27 23:43
/*10. 程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)
要求:
1.要有联动性,老鼠和主人的行为是被动的。
2.考虑可扩展性,猫的叫声可能引起其他联动效应。
*/
/*
要点:1. 联动效果,运行代码只要执行Cat.Cryed()方法。2. 对老鼠和主人进行抽象
评分标准: <1>.构造出Cat、Mouse、Master三个类,并能使程序运行(2分)
<2>从Mouse和Master中提取抽象(5分)
<3>联动效应,只要执行Cat.Cryed()就可以使老鼠逃跑,主人惊醒。(3分)
*/
using System;

public class Cat{
private string name;
public string Name{
get { return name; }
set { name = value; }
}
public void Cry(){
Console.WriteLine("Cat crying....");
SimulateCatCry();
}
public delegate void CatCryResponse();
public event CatCryResponse CatCry;

protected virtual void OnCatCry(){
CatCryResponse temp=CatCry; //Remember Event is actually a delegate ; and deletegate is actually type of class
if(temp!=null){
temp();
}
}
public void SimulateCatCry(){
OnCatCry();
}
}

public class Mouse{
private string name;
public string Name{
get { return name; }
set { name=value; }
}

public void Alarm(Cat cat){
cat.CatCry +=Run;
}

public void Run(){
Console.WriteLine("Mouse running...");
Simulate();
}
public void Simulate(){
OnMouseRun();
}
public void OnMouseRun(){
MouseRunResponse temp=MouseRun;
if(temp!=null){
temp();
}
}
public delegate void MouseRunResponse();
public event MouseRunResponse MouseRun;
}

public class Host{
private string name;
public string Name{
get { return name; }
set { name =value; }
}
public void Noise(Mouse mouse){
mouse.MouseRun +=Waken;
}

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

public class Test{
static public void Main(){
Cat cat=new Cat();
Mouse mouse=new Mouse();
mouse.Alarm(cat);
Host host=new Host();
host.Noise(mouse);

cat.Cry();
}
}

用Event和Deletegate做的,绝对可以运行。^_^
#1楼  2006-03-27 19:15 高海东        回复   引用   查看    

7. 你对公司有什么期望?你的薪水期望值?为什么学计算机?以前的工作经验(这非常重要)?

 

Q3: 维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?为什么

Q4ADONET相对于ADO等主要有什么改进?

Q5ASPNETASP相比,主要有哪些进步?

Q6C#中的委托是什么?事件是不是一种委托?

Q7:描述一下C#中索引器的实现过程,是否只能根据数字进行索引?

Q8C#中要使一个类支持FOREACH遍历,实现过程怎样?

Q10:写一个HTML页面,实现以下功能,左键点击页面时显示“您好”,右键点击时显示“禁止右键”。并在2分钟后自动关闭页面。

Q11:你对XMLHTTPWEBSERVICE 了解吗?简单描述其特点、作用

Q12:接口和抽象类有什么区别?你选择使用接口和抽象类的依据是什么?

Q13:自定义控件和一般用户控件的异同?如果要用这两者之一,你会选择哪种?为什么

Q14:大概描述一下ASPNET服务器控件的生命周期

Q15UML

Q16:面向对象的概念,主要特点

Q17:类划分的依据。类粒度问题

Q18:事物管理问题

 

第一,谈谈final, finally, finalize的区别。

第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

第三,Static Nested Class Inner Class的不同,说得越多越好(面试题有的很笼统)

第四,&&&的区别。

第五,HashMapHashtable的区别。

第六,Collection Collections的区别。

第七,什么时候用assert

第八,GC是什么? 为什么要有GC?

第九,String s = new String("xyz");创建了几个String Object?

第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

第十二,sleep() wait() 有什么区别?

第十三,Java有没有goto?

第十四,数组有没有length()这个方法? String有没有length()这个方法?

第十五,OverloadOverride的区别。Overloaded的方法是否可以改变返回值的类型?

第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?

第十七,给我一个你最常见到的runtime exception

第十八,errorexception有什么区别?

第十九,List, Set, Map是否继承自Collection接口?

第二十,abstract classinterface有什么区别?

第二十一,abstractmethod是否可同时是static,是否可同时是native,是否可同时是synchronized?

第二十二,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?

第二十三,启动一个线程是用run()还是start()?

第二十四,构造器Constructor是否可被override?

第二十五,是否可以继承String?

第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

第二十八,编程题: 用最有效率的方法算出2乘以8等於几?

第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?

第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String?

第三十二,编程题: 写一个Singleton出来。

 

数据库方面:

 

1.存储过程和函数的区别

2.事务是什么?

3.游标的作用?如何知道游标已经到了最后?

4.触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。

 

1。用C#实现以下功能

   a 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。

   b 对上面生成的数组排序,需要支持升序、降序两种顺序

2。请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。

3。请说明.net中的错误处理机制,并举例

4。请说出强名的含义

5。请列出c#中几种循环的方法,并指出他们的不同

6。请指出.net中所有类型的基类

7。请指出GAC的含义

8SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值

 

您在什么情况下会用到虚方法?它与接口有什么不同?

QOverride与重载有什么区别?

Q:值类型与引用类型有什么区别?

Q:怎样理解静态变量?

Q:向服务器发送请求有几种方式?

QDataReaderDataset有什么区别?

Q:如果在一个B/S结构的系统中需要传递变量值,但是又不能使用SessionCookieApplication,您有几种方法进行处理?

Q:用.netB/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?

Q:软件开发过程一般有几个阶段?每个阶段的作用?

Q:微软推出了一系列的Application Block,请举出您所知道的Application Block并说明其作用?

Q:请列举一些您用到过的设计模式以及在什么情况下使用该模式?

Q:您对WebService的体会?

Q:您对编程的兴趣如何?工作中遇到不懂的问题是怎样去解决的?您一般怎样去提高自己的编程水平?

Q:您离职的原因是什么?

Q:通过超链接怎样传递中文参数?

Q:请编程遍历页面上所有TextBox控件并给它赋值为string.Empty

Q:请编程实现一个冒泡排序算法?

 

1override与重载的区别

2.net的错误处理机制是什么

3C#中接口和类的异同

4DataReaderDataSet的异同

 

1.有哪几种方法可以实现一个类存取另外一个类的成员函数及属性,并请举列来加以说明和分析.

2.如果需记录类的实例个数,该如何实现,请写一个简单的类于以证明.

3.A类是B类的基类,并且都有自己的构造,析构函数,请举例证明B类从实例化到消亡过程中构造,析构函数的执行过程.

4.需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中间还有连续空格的话,仅保留一个空格,即允许字符串中间有多个空格,但连续的空格数不可超过一个.

 

.填空题

1.c#中的三元运算符是__?:___?

2.当整数a赋值给一个object对象时,整数a将会被__装箱(封装)___?

3.类成员有_____种可访问形式?  this.;new Class().Method;

4.public static const int A=1;这段代码有错误么?是什么?  const不能用static修饰

5.float f=-123.567F;

  int i=(int)f;

i的值现在是_____?   123 

6.利用operator声明且仅声明了“==”,有什么错误么

7.委托声明的关键字是______? delagete

8.sealed修饰的类有什么特点?密封,不能继承

9.Asp.net中所有的自定义用户控件都必须继承自________?Control

10..Net中所有可序列化的类都被标记为_____? 

11..Net托管代码中我们不用担心内存漏洞,这是因为有了______?gc

12.下面的代码中有什么错误吗?_______

     using System;

     class A

     {

          public virtual void F(){

              Console.WriteLine("A.F");

           }

      }

      abstract class B:A

       {

           public abstract override void F(); // new public abstract void F(); 

       }

 

13.当类T只声明了私有实例构造函数时,则在T的程序文本外部,___可以___(可以 or 不可以)从T派生出新的类,不可以____(可以 or 不可以)直接创建T的任何实例。

14.下面这段代码有错误么?

    switch (i){

    case():

        CaseZero();

        break;

    case 1:

        CaseOne();

        break;

    case 2:

        dufault;  //wrong

        CaseTwo();

        break;

   }

15..Net中,类System.Web.UI.Page 可以被继承么?可以

 

.简答题

1.c#usingnew这两个关键字有什么意义,请写出你所知道的意义?using 指令 和语句 new 创建实例 new 隐藏基类中方法

4.谈谈类和结构的区别?类是引用类型、结构是值类型

5.一个长度为10000的字符串,通过随机从a-z中抽取10000个字符组成。请用c#语言编写主要程序来实现。

6.对于这样的一个枚举类型:

      enum Color:byte{

          Red,

          Green,

          Blue,

          Orange

       }

     string[] ss=Enum.GetNames(typeof(Color));

     byte[]   bb=Enum.GetValues(typeof(Color));

试写一段程序显示出枚举类型中定义的所有符号名称以及它们对应的数值。

7.您了解设计模式么?请列出您所知道的设计模式的名称。 //

8.请在SQL Server中设计表来保存一个树状结构的组织结构图(假设结构图中只有名称这一项内容需要保存),如果我想查询某一职位下的所有职位,用一个存储过程来实现,你有什么思路?

9.什么叫做SQL注入,如何防止?请举例说明。

10.下面这段代码输出什么?为什么?

     int i=5;

     int j=5;

     if (Object.ReferenceEquals(i,j))

          Console.WriteLine("Equal");

     else

          Console.WriteLine("Not Equal");

//不相等,因为比较的是对象

 

1.写一个实现对一段字符串翻转的方法,附加一些条件,如其中包括“,”、“.”,对其设计测试用 例 。

2.对一支纸杯设计测试用例(可以是广义的杯,不一定是某一支特定功能的杯)

开发语言概念题

3.什么是反射?

4.Singleton如何写设计模式

5.C#中的垃圾回收机制是怎样的?

6.什么是Application Pool

7.链表和数组的区别,各有什么优缺点.

8.Remoting在客户端服务器怎么实现 ?

9.什么是友元函数?

10.用标准C如何实现多态?

11.什么是虚函数?

12.什么是抽象函数?

13.什么是内存泄漏,怎样最简单的方法判断被存泄漏 ?

 

英语题

14.用英文介绍一下使用C#/C++做的项目,主要功能

15.如果要与美国开电话会议,会如何与美国的工程师沟通

16.如果老板认为你的技术落后,你会怎么回答  

数据库知识题

17.使用什么工具来调用存储过程

18.SQL Server的两种索引是何形式?索引的作用?索引的优缺点?

19.触发器的作用  

其它知识题及问题

20.什么是Web Service

21.什么是XML

22.Socket怎么实现?

转载于:https://www.cnblogs.com/safezone/articles/1303294.html

你可能感兴趣的:(面试,c#,数据库)