.net九阴真经

1,private protect public internal的区别

Private 私有成员,类内部可以使用

Protect 受保护成员,该类以及该类的子类可以访问

Public 公共成员,无访问限制

Internal 统一命名空间下可以访问

2ASPNET的几种传递值得方式:session cookie application server.Transfer querystring…

3, 一列数的规则如下: 112358132134......  求第30位数是多少, 用递归算法实现。

Public int  FunNum(int i)

{

If(i<=0)return 0;

       If(i<=2) return 1;

       Else

       Return FunNum(i-1)+FunNum(i-2);

 }

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

       委托是以方法为参数,代入另一个方法;是一个方法指向另一个方法的引用。

       事件是委托的一种形态。

5override与重载的区别

       Override出现在继承与被继承的类之中,是子类对父类中方法的覆盖;

       Overloading出现在类的内部,它的特征表现在可以在一个类的内部同时出现方法签名相同但方法参数或方法返回值不同的方法。

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

方法有:server.Transfer,<input type=”hidden”/>标签,viewstate,response.redirct(…aspx?id=…)等等

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

Public void FunEmpty()

{

Foreach(system.windows.forms.contral cc in this. page){

              If(cc==system.windows.forms.contral.TextBox){

                     TextBox tb=(TextBox)cc;

                     Tb.Text=string.Empty;

}

      

}

}

8.请编程实现一个冒泡排序算法?

Public void FunM()

{

       Int[] arr=new [5]{5,65,23,54,2};

       Int temp;

       For(int i=0;i<arr.length;i++)

{

       For(int j=i+1;j<arr.length;j++)

{

       If(arr[i]<arr[j])

{

       Temp=arr[i];

       Arr[i]=arr[j];

       Arr[j]=temp;

}

}

}

}

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

      

10.求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m

 Public int  FunCC(int num)

{

Int countNum=0;

       For(int i=0;i<num-1;i++)

{

              If(num%2==1){

                     countNum+=I;

}

Else

{

       countNum=countNum-I;

}

}

Return countNum;

}

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

一般用三层结构;即表现层,业务层,数据持久层;数据持久层负责处理数据库的连接以及增删该查,业务层一般负责两个弱的层面,一层是与表现层沟通,另外一层负责加密安全处理;表现层负责与用户交互。

该结构的项目层次更加清晰,易于维护和扩展;弱点在于增加了开发成本。

 

 

12.在下面的例子里
     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的实例时,产生什么输出?

答案:10

13.什么叫应用程序域?

系统运行的范围隔离

14.CTSCLSCLR分别作何解释?

Cts,clsCLR的组成部分;CLR公共语言运行时,CTS通用语言类型系统,CLS通用语言规范

15.什么是装箱和拆箱?

装箱:是值类型到引用类型,或接口实现到接口类型的一种隐式转换;

拆箱:是引用类型到职类型,或从接口类型到接口类型的实现的一种显示转换,在该过程中需要检查被转换类型是否符合转换类型。

16.什么是受管制的代码?

.net运行环境内运行的代码叫受管制代码;

反之,则为非受管制代码。

17.什么是强类型系统?

类型识别系统

18.net中读写数据库需要用到那些类?他们的作用?

Connection:连接数据库

Command:创建命令执行对象

Dataadaper:数据适配器,填充数据

Dataset:数据承载对象

 

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

Windows方式,Forms方式,Passport方式

20.什么是Code-Behind技术?

代码后置技术,通过在<%@page%>指令中添加相应的属性关联aspx.aspx.cs文件,.cs文件中负责处理服务器端代码逻辑,.aspx负责处理标签元素等,使页面更清晰明朗。

21..net中,配件的意思是?

 

22.常用的调用WebService的方法有哪些?

23..net Remoting 的工作原理是什么?

服务器端向客户端发送一个应用域编号和一个进程编号,以确认对象的位置。

24.C#中,string str = null string str = “” 请尽量使用文字或图象说明其中的区别。

Str=null不分配内存空间,str=””分配相应的“”长度空间。

25.请详述在dotnet中类(class)与结构(struct)的异同?

Class属于引用类型,可以直接创建对象,被分配在内存的堆上;struct属于值类型,被分配在内存栈上

26.根据委托(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事件。

 

If(OnNew!=null)OnNew(this,e);
}
}
}

27.分析以下代码,完成填空
string strTmp = "abcdefg
某某某";
int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
int j= strTmp.Length;
以上代码执行完后,i=13 j=10

28.SQLSERVER服务器中,给定表 table1 中有两个字段 IDLastUpdateDateID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号

Select id from table1 where lastupdatedate =(select max(lastupadatedate) from table1)

 

29.根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?并简要说明理由。
public void test(int i)
{
   lock(this)
{
   if (i>10)
   {
     i--;
     test(i);
   }
}
}

按值传递,不会死锁,若换IOBJECT时,会死锁。

 

30.简要谈一下您对微软.NET 构架下remotingwebservice两项技术的理解以及实际中的应用。

31.公司要求开发一个继承System.Windows.Forms.ListView类的组件,要求达到以下的特殊功能:点击ListView各列列头时,能按照点击列的每行值进行重排视图中的所有行 (排序的方式如DataGrid相似)。根据您的知识,请简要谈一下您的思路

思路:获取每列列头帮定的ID,然后根据ID进行排序。

32.给定以下XML文件,完成算法流程图。
<FileSystem>
< DriverC >
<Dir DirName=”MSDOS 622” >
<File FileName =” Command.com” ></File>
</Dir>
<File FileName =”MSDOS.SYS” ></File>
<File FileName =” IO.SYS” ></File>
</DriverC>
</FileSystem>
请画出遍历所有文件名(FileName)的流程图(请使用递归算法)

Public void FunFile(dir fdir)

{

FileorFolders=fdir.getFileorFolder();

Foreach(fileorFolder f in FileorFolders)

{

       If(f is file)

              You Found file;

       Else if(f is Folder)

              FunFile(f);

}    

}

33.写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。

Select  top 10 * from tbl where id not in (select top 30 id from tbl )

34.面向对象的语言具有____封装____性、____继承_____性、____多态____

35.能用foreach遍历访问的对象需要实现  IEnumrable________________接口或声明个GetEnumrator________________方法的类型。

36.GC是什么? 为什么要有GC?

垃圾回收器

37.String s = new String("xyz");创建了几个String Object?

2个,S,“XYZ

38.abstract classinterface有什么区别?

抽象类和接口的区别

抽象类是一个申明方法的存在而不是实现的类,我们可以创建一个抽象类变量,将该抽象类变量指向抽象类的实现,但不能创建抽象类事例;不能有抽象的构造方法或静态的构造函数;抽象类的子类应该实现所有父类的抽象方法,若否则该子类也应该是抽象类;

接口:是一个抽象类的变体。接口中只申明方法,而不实现方法; 接口只可以由static and final变量,多继承性便可以通过这样的接口实现。

 

39.启动一个线程是用run()还是start()?

启动 一个线程用start()

40.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?

 

抽象类可以实现接口,也可以继承实体类,

 

41.构造器Constructor是否可被override?

可以重载不可以重写;

42.是否可以继承String?

不可继承,该类属于final

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

会被执行,在return 之后被执行。

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

 

45.swtich是否能作用在byte上,是否能作用在long上,是否能作用在String?

可以 用在byte,int,short,char ,不能用在 long,string  

47.当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

 

48.abstractmethod是否可同时是static,是否可同时是native,是否可同时是synchronized?

 

49.List, Set, Map是否继承自Collection接口?

List set 继承自Collection接口,map不是。

 

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

有,iterator(迭代器),不用 ==也不用 equals()判读两个set是否相等;

51.数组有没有length()这个方法? String有没有length()这个方法?

数组有length属性,没有length方法,string length方法没有length属性

52.sleep() wait() 有什么区别?

 

53.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

Short  s1=1;s1=s1+1,没有错误;short s1=1;s1+=1;错误,会有转换类型错误

54.谈谈final, finally, finalize的区别。

Final 类关键字,密封类,不被继承的;

Finally异常处理关键字,无论在执行中出现何种情况,他所包含的代码都被执行;

Finalize ????

55.如何处理几十万条并发数据?

用事务或存储过程进行处理,

1,将数据参数化,减少SQL语句的编译次数,(存储过程)

2,取得最大标识符并同时更新数据(事务处理)

56.Session有什么重大BUG,微软提出了什么方法加以解决?

在系统繁忙时可能丢失SESSION;

57.进程和线程的区别?

进程是系统进行资源调配的单位,线程是CPU的调度和分派的单位;一个进程可以有多个线程,这些线程共享这个进程资源。

58.堆和栈的区别?

 

59.成员变量和成员函数前加static的作用?

属于类成员变量或类成员函数??????????

60.ASPNETASP相比,主要有哪些进步?

Asp解释性;asp.net属编译性,性能上后者更高,且有利于保护源码。

 

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

Public void FunArr()

{

random rd=new random();

       Int [] arr=new int[100];

       For(int i=0;i<100;i++)

{

       Arr[i]=rd.next(1,100)

      

}

}

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

       Session,Application,Cookie,server.Transfer,

63.请指出GAC的含义?

全局程序缓存。

64.向服务器发送请求有几种方式?

       Post, 向服务器传递数据;get,从服务器获取数据;

65.DataReaderDataset有什么区别?

       Datareader是游标式的,必须与数据库连接状态下的工作方式

       Dataset是缓存在内存中的一张表。可以再断线的情况下操作数据。

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

 

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

Using引入命名控件,或使用非托管堆资源,

New用于创建对象实例或隐藏基类成员。

 

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

Public string FunNum()

{

string s1 = "44444    大大大 6 5  0     ";

  s1 = s1.Trim();

string s2 = "";

for (int i = 0; i < s1.Length; i++)

if (s1.Substring(i, 1) == " "){

if (i > 0 && s1.Substring(i - 1, 1) != " ")

 s2 = s2 + s1.Substring(i, 1);

  }else{

   s2 = s2 + s1.Substring(i, 1);

}                                                       }

}

69.下面这段代码输出什么?为什么?
int i=5;
int j=5;
if (Object.ReferenceEquals(i,j))
Console.WriteLine("Equal");
else
Console.WriteLine("Not Equal");

 

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

拼凑非法SQL语句,企图篡改源程序本应该有的SQL执行语句。

71.什么是反射?

72.Singleton如何写设计模式

73.什么是Application Pool

应用程序池,一种web应用,类似与Thread Pool,提高并发性能。

 

74.什么是虚函数?什么是抽象函数?

75.什么是XML

可扩展标记语言。

76.什么是Web ServiceUDDI

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

78.列举一下你所了解的XML技术及其应用

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

80.什么是code-Behind技术。

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

82.C# property attribute的区别,他们各有什么用处,这种机制的好处在哪里?

83.XML HTML 的主要区别

84.c#中的三元运算符是?

85.当整数a赋值给一个object对象时,整数a将会被?

86.类成员有__4___种可访问形式?

87.public static const int A=1;这段代码有错误么?是什么?

应该将static去掉,const修饰常量,static 修饰静态变量。

88.float f= -123.567F ; int i=(int)f;i的值现在是_-124____?

89.委托声明的关键字是___delegate___?

90.sealed修饰的类有什么特点?

不被继承

91.Asp.net中所有的自定义用户控件都必须继承自__System.Web.UI,WebControl______?

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

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

94.下面的代码中有什么错误吗?_______
     using System;
     class A
     {
          public virtual void F(){
              Console.WriteLine("A.F");
           }
      }
      abstract class B:A
       {
           public abstract override void F();  
答:abstract override 是不可以一起修饰.
       }                                           // new public abstract void F();

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

96.下面这段代码有错误么?
    switch (i){
    case():        
答://case()条件不能为空
        CaseZero();
        break;
    case 1:
        CaseOne();
        break;
    case 2:
        dufault;  
答://wrong,格式不正确
        CaseTwo();
        break;
   }
97.
.Net中,类System.Web.UI.Page 可以被继承么?

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

99.利用operator声明且仅声明了==,有什么错误么?

100..netC# or vb.net)中如何用户自定义消息,并在窗体中处理这些消息。

101..netC# or vb.net)中如何取消一个窗体的关闭。

102..netC# or vb.net)中,Appplication.Exit 还是 Form.Close有什么不同?

103.C#中有一个double型的变量,比如10321.5,比如122235401.21644,作为货币的值如何按各个不同国家的习惯来输出。比如美国用$10,321.50$122235401.22而在英国则为£10  321.50和£122  235  401.22

104.某一密码仅使用KLMNO5个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则:
1       密码单词的最小长度是两个字母,可以相同,也可以不同
2       K不可能是单词的第一个字母
3       如果L出现,则出现次数不止一次
4       M不能使最后一个也不能是倒数第二个字母
5       K出现,则N就一定出现
6       O如果是最后一个字母,则L一定出现
问题一:下列哪一个字母可以放在LO中的O后面,形成一个3个字母的密码单词?
  A) K   B)L   C) M    D) N

问题二:如果能得到的字母是KLM,那么能够形成的两个字母长的密码单词的总数是多少?
  A)1
  B)3  C)6  D9

问题三:下列哪一个是单词密码?
  A) KLLN   B) LOML   C) MLLO   D)NMKO

8. 62-63=1 等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动?

105.对于这样的一个枚举类型:
enum Color:byte
{
  Red,
  Green,
  Blue,
  orange
}

106. C# property attribute的区别,他们各有什么用处,这种机制的好处在哪里?

107.C#可否对内存进行直接的操作?

108.ADONET相对于ADO等主要有什么改进?

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

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

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

112.Static Nested Class Inner Class的不同,说得越多越好

113.&&&的区别。

114.HashMapHashtable的区别。

115.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

116.Overloaded的方法是否可以改变返回值的类型?

117.errorexception有什么区别?

118.<%# %> <%  %> 有什么区别?

119.你觉得ASP.NET 2.0VS2005)和你以前使用的开发工具(.Net 1.0或其他)有什么最大的区别?你在以前的平台上使用的哪些开发思想(pattern / architecture)可以移植到ASP.NET 2.0 (或者已经内嵌在ASP.NET 2.0)

120.重载与覆盖的区别?

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

122.C#中,string str = null string str = " " 请尽量使用文字或图象说明其中的区别。

123.分析以下代码,完成填空
string strTmp = "abcdefg
某某某";
int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
int j= strTmp.Length;
以上代码执行完后,i= j=

124.SQLSERVER服务器中,给定表 table1 中有两个字段 IDLastUpdateDateID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号

125.分析以下代码。
public static void test(string ConnectString)
{
System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();
conn.ConnectionString = ConnectString;
try
{
conn.Open();
…….
}
catch(Exception Ex)
{
MessageBox.Show(Ex.ToString());
}
finally
{
if (!conn.State.Equals(ConnectionState.Closed))
conn.Close();
}
}
请问
1)
以上代码可以正确使用连接池吗?

2)以上代码所使用的异常处理方法,是否所有在test方法内的异常都可以被捕捉并显示出来?

126.公司要求开发一个继承System.Windows.Forms.ListView类的组件,要求达到以下的特殊功能:点击ListView各列列头时,能按照点击列的每行值进行重排视图中的所有行 (排序的方式如DataGrid相似)。根据您的知识,请简要谈一下您的思路:

127.什么是WSE?目前最新的版本是多少?

128.在下面的例子里
     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的实例时,产生什么输出?

129.下面的例子中
     using System;
     class A
     {
          public static int X;
          static A(){
               X=B.Y+1;
          }
      }
      class B
      {
           public static int Y=A.X+1;
           static B(){}
           static void Main(){
                Console.WriteLine("X={0},Y={1}",A.X,B.Y);
           }
       }
产生的输出结果是什么?

姓名:                      日期:
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(Class 1 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";
           Class 1 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.
一列数的规则如下: 112358132134......
  
求第30位数是多少, 用递归算法实现。(C#语言)
10.  
程序设计: 猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。(C#语言)
要求:  1.要有联动性,老鼠和主人的行为是被动的。
2.
考虑可扩展性,猫的叫声可能引起其他联动效应。

 


                      

ADO架构图表                                           ADO.NET架构图表

 

应用程序域:是为了隔离正在运行的应用程序而提供的一种灵活而安全的方法。

你可能感兴趣的:(.net)