.NET面试题

4 篇文章 0 订阅
3 篇文章 0 订阅

记录自己遇到过的不会的值得思考的面试题(PS:普通的常见的就略过了)

1.

abstract class BaseClass

         {

              public virtual void MethodA() {  }

              public virtual void MethodB() {  }

         }

         class Class1:BaseClass

         {

              public void MethodA(string arg) {  }

              public override void MethodB()  {  }

         }

         class Class2:Class1

         {

              new public void MethodB() {  }

         }

         class MainClass

         {

              public static void Main(string[]args)

              {

                   Class2 o=new Class2();

                   o.MethodA();

              }

     }

请问,o.MethodA调用的是哪个方法_____

抽象方法本身不提供实现,强制派生类提供实现-》重写
       虚方法在抽象类中也可以提供实现,而派生类可选择重写也可不选择重写,派生类中没有重写的时候则调用父类中虚方法的逻辑所以 这里调用的是基类的虚方法 BaseClass.MethodA();因为派生类Class1和Class2都没有对MethodA进行重写 

 

2.

        C#Excel单元格中读取的时间值是以1900-01-01开始计时的数值,如39668.3389814815表示时间

        2008-08-08 8:08:08 (System.DateTime.FromOADate(39668.3389814815d)) 

3.

Oracle数据库系统中,对于逻辑运算符来说,优先级由高到低的顺序是(not and or)

4.

            string str = "中";
            int byteCount = System.Text.Encoding.Default.GetBytes(str).Length;
            int stringLength = str.Length;
            (byteCount = 2, stringLength = 1)哎,在这道题面前死了N次了.

5.

asp.netSate serverSQL Server数据库的方式存储Session可以捕获SessionEND事件 是否正确?

这个问题自己到现在还没弄明白,回来测试下再说

6.

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

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

在网上搜索了下,更详细的:

其实现的原理并没有本质的区别,在应用开发层面上有以下区别:
1、Remoting可以灵活的定义其所基于的协议,如果定义为HTTP,则与Web Service就没有什么区别了,一般都喜欢定义为TCP,这样比Web Service稍为高效一些
2、Remoting不是标准,而Web Service是标准;
3、Remoting一般需要通过一个WinForm或是Windows服务进行启动,而Web Service则需要IIS进行启动。
4、在VS.net开发环境中,专门对Web Service的调用进行了封装,用起来比Remoting方便

我建议还是采用Web Service好些,对于开发来说更容易控制
Remoting一般用在C/S的系统中,Web Service是用在B/S系统中
后者还是各语言的通用接口
相同之处就是都基于XML

为了能清楚地描述Web Service 和Remoting之间得区别,我打算从他们的体系结构上来说起:
Web Service大体上分为5个层次:
1. Http传输信道
2. XML的数据格式
3. SOAP封装格式
4. WSDL的描述方式
5. UDDI

总体上来讲,.NET 下的 Web Service结构比较简单,也比较容易理解和应用:
一般来讲在.NET结构下的WebService应用都是基于.net framework以及IIS的架构之下,所以部署(Dispose)起来相对比较容易点.
从实现的角度来讲,

首先WebService必须把暴露给客户端的方法所在的类继承于:System.Web.Services.WebService这个基类
其次所暴露的方法前面必须有[WebMethod]或者[WebMethodAttribute]

WebService的运行机理
首先客户端从服务器的到WebService的WSDL,同时在客户端声称一个代理类(Proxy Class)
这个代理类负责与WebService服务器进行Request 和Response
当一个数据(XML格式的)被封装成SOAP格式的数据流发送到服务器端的时候,就会生成一个进程对象并且把接收到这个Request的SOAP包进行解析,然后对事物进行处理,处理结束以后再对这个计算结果进行SOAP包装,然后把这个包作为一个Response发送给客户端的代理类(Proxy Class),同样地,这个代理类也对这个SOAP包进行解析处理,继而进行后续操作。

这就是WebService的一个运行过程。

下面对.net Remoting进行概括的阐述:
.net Remoting 是在DCOM等基础上发展起来的一种技术,它的主要目的是实现跨平台、跨语言、穿透企业防火墙,这也是他的基本特点,与WebService有所不同的是,它支持HTTP以及TCP信道,而且它不仅能传输XML格式的SOAP包,也可以传输传统意义上的二进制流,这使得它变得效率更高也更加灵活。而且它不依赖于IIS,用户可以自己开发(Development)并部署(Dispose)自己喜欢的宿主服务器,所以从这些方面上来讲WebService其实上是.net Remoting的一种特例。

7.

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

这个问题有点扯淡,遇到的时候怎么也想不通,看了答案之后感叹 原来就这样啊 哎,鄙视自己下脑子太笨了 2^6 - 63=1

nnd打不出来二的六次方 囧

8.

数据库一般有哪几种索引?

自己也无法完整的答出来还是网上搜的答案 [转自itpub]
逻辑上:
       Single column 单行索引
       Concatenated 多行索引
       Unique 唯一索引
       NonUnique 非唯一索引
       Function-based函数索引
       Domain 域索引
物理上:
       Partitioned 分区索引
       NonPartitioned 非分区索引
       B-tree:
           Normal 正常型B树
           Rever Key 反转型B树
       Bitmap 位图索引
索引结构:
       B-tree:
           适合与大量的增、删、改(OLTP);
           不能用包含OR操作符的查询;
           适合高基数的列(唯一值多)
           典型的树状结构;
           每个结点都是数据块;
           大多都是物理上一层、两层或三层不定,逻辑上三层;
           叶子块数据是排序的,从左向右递增;
           在分支块和根块中放的是索引的范围;
       Bitmap:
           适合与决策支持系统;
           做UPDATE代价非常高;
           非常适合OR操作符的查询;
           基数比较少的时候才能建位图索引;
           树型结构:
               索引头
               开始ROWID,结束ROWID(先列出索引的最大范围)
               BITMAP
               每一个BIT对应着一个ROWID,它的值是1还是0,如果是1,表示着BIT对应的ROWID有值;

9.

.NET Framework 3.5 相对.NET Framework 2.0多了哪些功能

自动属性(Auto-Implemented Properties)

隐含类型局部变量(Local Variable Type Inference)

匿名类型(Anonymous Types)

对象与集合初始化器(Object and Collection Initializers)

扩展方法(Extension Methods)

Lambda表达式和Lambda表达式树 (Lambda Expression and Lambda Expression Trees)

LINQ,语言级集成查询(Language INtegrated Query

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

21.

22.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值