阿彪温馨的家
我不去想是否能够成功,既然选择了远方,便只顾风雨兼程。

C#面试题——附答案(二)


2006-12-04 20:45:53

1.C#中的垃圾回收机制是怎样的?
   垃圾回收器是用来管理应用程序的内存分配和释放的。当一个应用程序在运行的时候,垃圾回收器设置了一个托管堆。每次当开发人员使用 new 运算符创建对象时,运行库都从托管堆为该对象分配内存。新创建的对象被放在上次创建的对象之后。垃圾回收器保存了一个指针,该指针总是指向托管堆中最后一个对象之后的内存空间。当新的对象被产生时,运行库就知道应该将新的对象放在内存的什么地方。当垃圾回收器的指针指向托管堆以外的内存空间时,就需要回收内存中的垃圾了。在这个过程中,垃圾回收器首先假设在托管堆中所有的对象都需要被回收。然后它在托管堆中寻找被根对象引用的对象(根对象就是全局,静态或处于活动中的局部变量以及寄存器指向的对象),找到后将它们加入一个有效对象的列表中,并在已经搜索过的对象中寻找是否有对象被新加入的有效对象引用。直到垃圾回收器检查完所有的对象后,就有一份根对象和根对象直接或间接引用了的对象的列表,而其它没有在表中的对象就被从内存中回收。___更详细的信息请参考:http://www.linuxmine.com/48694.html
 
2. 请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?
protected void Page_Load(object sender, EventArgs e)
    {
        foreach (Control ctl in Page.Controls[0].Controls)
        {
            if (ctl.GetType().Name == "TextBox")
            {
                TextBox tb = new TextBox();
                tb = (TextBox)this.FindControl(ctl.ID);
                tb.Text = "";               
            }
        }
    }
 
3.请编程实现一个冒泡排序算法
        int[] i = new int[5] {5,3,4,2,1};
        for(int j = 0; j < i.Length-1; j++)
        {
            for (int k = 0; k < i.Length-1; k++)
            {
                int a;
                if (i[k] > i[k + 1])
                {
                    a = i[k];
                    i[k] = i[k + 1];
                    i[k+1]=a;               
                }
            }
        }
 
4.什么是Application Pool?
It is the new features in IIS 6.0. An Application Pool can contain one or more applications and allows us to configure a level of isolation between different Web applications. For example, if you want to isolate all the Web applications running in the same computer, you can do this by creating a separate application pool for every Web application and placing them in their corresponding application pool. Because each application pool runs in its own worker process, errors in one application pool will not affect the applications running in other application pools. Deploying applications in application pools is a primary advantage of running IIS 6.0 in worker process isolation mode because you can customize the application pools to achieve the degree of application isolation that you need.____  http://www.developer.com/net/asp/article.php/2245511 需要的话,大家多多支持,我可以抓时间翻译全文,呵呵。
 
5.微软推出了一系列的Application Block,请举出您所知道的Application Block并说明其作用?
  以前下过一个Enterprise Library 2006,但是没具体应用过,我知道和熟悉的就是Data Access Application Block 和一个关于日志的Application Block了。下面是所有的:数据访问应用程序块;配置管理应用程序块;安全应用程序库;日志和监测应用程序块;缓存应用程序块;异常处理应用程序块;加密应用程序块。详见:http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/consyscourse/EntLib.aspx
 
6.您对Web Service的体会?——答案节选自我的《人工智能》课程的结课论文
    Web Service是由URI(统一资源标识符)标识的软件应用程序,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。
World Wide Web Consortium----W3C组织
WSDL(Web Service Description Language,Web Service描述语言)
Common Object Request Broker Architecture,CORBA通用对象请求代理体系结构Extensible Markup Language,XML 可扩展标记语言
SOAP Simple Object Access Protocol,SOAP简单对象访问协议
Universal Description Discovery and Integration,UDDI 通用描述、发现和集成
Service Oriented Architecture, SOA 面向Service的架构
•Service提供者。从企业的角度看,这是Service的所有者。从体系结构的角度看,这是托管访问Service的平台。
•Service请求者。从企业的角度看,这是要求满足特定功能的企业。从体系结构的角度看,这是寻找并调用Service,或启动与Service的交互的应用程序。Service请求者角色可以由浏览器来担当,由人或无用户界面的程序(例如,另外一个 Web Service)来控制它。
•Service注册中心。这是可搜索的Service描述注册中心,Service提供者在此发布他们的Service描述。
 
7.CTS、CLS和CLR分别作何解释?
  参见我的另一篇blog:http://august.blog.51cto.com/blog/59588/7018
 
8.什么是应用程序域?(C# 编程指南)
应用程序域为隔离正在运行的应用程序提供了一种灵活而安全的方法。
应用程序域通常由运行库宿主创建和操作。有时,您可能希望应用程序以编程方式与应用程序域交互,例如想在不停止应用程序运行的情况下卸载某个组件时。
应用程序域使应用程序以及应用程序的数据彼此分离,有助于提高安全性。单个进程可以运行多个应用程序域,并具有在单独进程中所存在的隔离级别。在单个进程中运行多个应用程序提高了服务器伸缩性
posted on 2007-01-17 12:55  甩掉裤衩凭风吹  阅读(164)  评论(0编辑  收藏  举报