星辉

星月同辉 e路随行
.net/vs2005/c#/web/ajax
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

[转]微软面试题

Posted on 2007-12-01 23:39  star163  阅读(345)  评论(0编辑  收藏  举报
下面列一下,我在面试的时候主要卡住的一些地方,主要都是在微软中国的时候被问住的。

         1、数据库连接池是在哪里建立的?(数据库, 应用程序)如何真正关闭一个连接池里的连接。如果一个数据库(相同连接字符串)被多个应用程序使用(设置的连接池大小不同)会是怎么样的情况?
   数据库连接池基于进程和连接字符串(精确依赖):每个进程第一次按照一个连接字符串进行数据连接的时候为该连接字符串在ADO.NET(即数据库驱动程序)创建连接池。例如:多个Client直接通过ADO.Net去访问数据库,那么每个Client会分别为自己建立一个数据库连接池;如果多个Client通过IIS(可能是B/S,也可能是SmartClient方式)去访问ADO.NET,IIS会为IIS上的每个应用程序创建一个应用程序池,和Client的数量就无关了。

         2、.NET Remoting如果用HTTP和SOAP方式部署在IIS上,和WS方式在被调用时有区别嘛? 
  .NET Remoting即便是使用HTTP和SOAP方式部署在IIS上后,和WS还是有一些区别:.NET Remoting才有三种对象激活方式,生命周期管理,回调等方式,所以Remoting只能被用于.NET平台,不能被应用于异构平台间的通讯。(WebService和.NET Remoting在客户端的调用都是调用一个Proxy Dll来引用的,不知道这里面会不会有具体区别了。)

         3、Web里的Cache如果数据很重要,不希望在内存吃紧的时候被清除,应该怎么做?
  Cache的Insert方法有个参数CacheItemPriority(枚举),选择NotRemovable,并将Cache过期时间设置为int.Max。

         4、Java里调用WS或者.NET Remoting传递的DataSet数据,要如何实现? 
  J2EE应用程序只需要拥有该DataSet的XSD结构描述文件即可,通过该文件对SOAP Body进行解析,将数据转换为Java可以直接读取的Bean。
         (http://www.microsoft.com/china/community/program/originalarticles/techdoc/callwebs.mspx

         5、多服务器WEB站点之间的Session传递如何处理的?如果是Form认证方式又是怎么样的? 
   Session和Form认证都是基于Cookies的,当多站点时,必须使各台Web服务器的Cookies域名,路径以及加解密算法配置相同(如果采用Windows群集方式,似乎会自动配置)。而因为Session除了SessionId标识存在Cookies中,Session的其他内容都是存在服务器上的,所以如果Session采用状态服务器则需要维护同步和复制,也可以选择保存到SQL Server。

         6、如果使用DataReader不需要读取完所有数据,这个时候在DataReader.Close()和Conn.Close()之间加入什么语句可以大大提高效率 
  Command.Dispose();

         7、.NET Remoting的三种激活模式比较
         Remoting支持两种远程对象:服务器和客户激活的。知名的远程对象使用了uri作为标识,客户程序使用这个uri来访问那些远程对象,也正式为什么称作知名的原因。对知名的对象来说2种使用模式:SingleCall和Singleton,对于前者每次调用都会新建对象,因此对象是无状态的。对于后者,对象只被创建一次,所有客户共享对象状态,因此对象是有状态的。另外一种客户端激活对象使用类的类型来激活,uri再后台被动态创建,并且返回给客户程序。客户激活对象是有状态的。只有客户端激活支持非默认构造函数,并且实例都将只服务于该特定客户端中的特定引用。
      对于Singleton对象来说需要考虑伸缩性,Singleton对象不能在多个服务器上被部署,如果要跨服务器就不能使用Singleton了。

   以上答案不敢保证正确,仅做参考 。

__________________________________________________________________________________

      今天(2006.6.7)又去微软中国顾问咨询部面试了一次,有些郁闷。今天是另一个经理岳权利面试的,面试的过程比之前两次就简单得多了,后来才知道原因是因为这个职位是:助理咨询顾问,说白了也就是Coder。岳经理主要问的就三个问题:
      1、Application、Session、ViewState的区别
      2、为一个DataSet添加一个DataTable,这个DataTable里要有两个列产品ID,产品名称,并要将产品ID设为主键。(手写代码)
      3、用DOM解析XML