欢迎光临北大青鸟佛山华大校区

我的位置: 首页 >> .NET面试题大全(一)

.NET面试题大全(一)

2017-06-10

来源:admin

  .NET面试题大全(一)

  经典.net面试题目

  1. 简述 private、 protected、 public、 internal 修饰符的访问权限。

  答 . private :  私有成员, 在类的内部才可以访问。

  protected : 保护成员,该类内部和继承类中可以访问。

  public :  公共成员,完全公开,没有访问限制。

  internal:  在同一命名空间内可以访问。

  2 .列举ASP.NET 页面之间传递值的几种方式。

  答. 1.使用QueryString, 如....?id=1; response. Redirect()....

  2.使用Session变量

  3.使用Server.Transfer

  4.使用Application

  5.使用Cache

  6使用HttpContext的Item属性

  7.使用文件

  8.使用数据库

  9.使用Cookie

  3. 一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少, 用递归算法实现。

  答: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);

  }

  }

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

  答 :

  委托可以把一个方法作为参数代入另一个方法。

  委托可以理解为指向一个函数的引用。

  是,是一种特殊的委托

  5.override与重载的区别

  答 :

  override 与重载的区别。重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要

  Override 是进行基类中函数的重写。实现多态。

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

  答 :

  同第2题

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

  答:

  foreach (System.Windows.Forms.Control control in this.Controls)

  {

  if (control is System.Windows.Forms.TextBox)

  {

  System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control ;

  tb.Text = String.Empty ;

  }

  }

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

  答:

  int [] array = new int [*] ;

  int temp = 0 ;

  for (int i = 0 ; i < array.Length - 1 ; i++)

  {

  for (int j = i + 1 ; j < array.Length ; j++)

  {

  if (array[j] < array[i])

  {

  temp = array[i] ;

  array[i] = array[j] ;

  array[j] = temp ;

  }

  }

  }

  9.描述一下C#中索引器的实现过程,是否只能根据数字进行索引?(索引器是对属性的封装,具体查看msdn)

  答:不是。可以用任意类型。

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

  答:

  int Num = this.TextBox1.Text.ToString() ;

  int Sum = 0 ;

  for (int i = 0 ; i < Num + 1 ; i++)

  {

  if((i%2) == 1)

  {

  Sum += i ;

  }

  else

  {

  Sum = Sum - I ;

  }

  }

  System.Console.WriteLine(Sum.ToString());

  System.Console.ReadLine() ;

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

  答:使用MVC模式分层

  一般为3层

  数据访问层,业务层,表示层。

  数据访问层对数据库进行增删查改。

  业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。

  表示层为了与用户交互例如用户添加表单。

  优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。

  缺点: 增加成本。

  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的实例时,产生什么输出?

  答:X=1,Y=0;x= 1 y = -1

  13.什么叫应用程序域?

  答:应用程序域可以理解为一种轻量级进程。起到安全的作用。占用资源小。

  14.CTS、CLS、CLR分别作何解释?

  答:CTS:通用语言系统。CLS:通用语言规范。CLR:公共语言运行库。

  15.什么是装箱和拆箱?

  答:从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱。

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

  答:

  托管代码是运行.NET 公共语言运行时CLR的代码

  unsafe:非托管代码。不经过CLR运行。程序员自行分配和释放内存空间

  17.什么是强命名程序集?

  答:程序集需要经过加密签名,强命名程序集可以部署到全局程序集缓存中,成为公共程序集

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

  答:DataSet:数据集。

  DataCommand:执行语句命令。

  DataAdapter:数据的集合,用语填充。

  DataReader:数据只读器

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

  答:

  Windwos(默认)用IIS控制

  From(窗体)用帐户

  Passport(密钥)

  20.什么是Code-Behind技术?

  答:代码后置。

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

  答:程序集。(中间语言,源数据,资源,装配清单)

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

  答:1.使用WSDL.exe命令行工具。

  2.使用VS.NET中的Add Web Reference菜单选项

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

  答:服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置。

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

  答:string str = null 是不给他分配内存空间,而string str = "" 给它分配长度为空字符串的内存空间。

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

  答:class可以被实例化,属于引用类型,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= j=

  答:i=13,j=10

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

  答:Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)

  29.根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?并简要说明理由。

  public void test(int i)

  {

  lock(this)

  {

  if (i>10)

  {

  i--;

  test(i);

  }

  }

  }

  答:不会发生死锁,(但有一点int是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把int换做一个object,那么死锁会发生)

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

  答:webservice主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。

相关热词搜索:北大青鸟北大青鸟

开班信息

开班课程 人数 了解详情
高端名企定向委培班 剩余名额3 课程介绍
ACCP8.0软件培训班 剩余名额8 课程介绍
短期冲刺班 剩余名额2 课程介绍
项目精英班 剩余名额1 课程介绍
UI课程重点培训班 剩余名额6 课程介绍
WEB开发精英班 剩余名额2 课程介绍
JAVA特招班 剩余名额10 课程介绍

免费试听

试听课程 了解详情
高端名企定向委培班 试听详情
ACCP8.0软件培训班 试听详情
短期冲刺班 试听详情
项目精英班 试听详情
UI课程重点培训班 试听详情
WEB开发精英班 试听详情
JAVA特招班 试听详情

姓名:

电话:

最新就业

姓名 就业岗位 就业企业
何伟煊 java工程师 金政信息科技
张雅涵 前端工程师 国贸集团股份有限公司
张默 项目组长 极宇舟天有限公司
张婧涵 前端工程师 大族激光有限公司
张洪文 运维工程师 诚迈科技有限公司
王玥婷 java技术顾问岗位 百纳威尔有限公司
王鸿轩 Java开发岗位 爱卡智能
邓安志 软件开发工程师 美的集团
何浚宏 软件开发课程工程师 东和科技有限公司
黄隆 软件开发顾问 建发股份公司
刘应琴 软件开发工程师 国美集团
刘雨林 java工程师 唯品会科技有限公司
彭子昂 Java开发 爱卡智能有限公司

广东省佛山市禅城区佛山大道北143号北大青鸟华大校区

地址:广东省佛山市禅城区佛山大道北143号

电话:4006-989-522  0757-88726000

网址: www.foshanbdqn.com

佛山校区乘车路线:张槎路口站、白燕公园站、轻工路口站、金沙新城南门站

北大青鸟华大校区公众平台

佛山北大青鸟