zoukankan      html  css  js  c++  java
  • ASP.NET(C#)面试题目

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

    回答要点:说明详细的空间分配。(10分) 

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


    2、请详述在dotnet中类(class)与结构(struct)的异同:(10分) 

    答:Class可以被实例化,属于引用类型,是分配在内存的堆上的,Struct属于值类型,是分配在内存的栈上的. 

    3、根据委托(delegate)的知识,请完成以下用户控件中代码片段的填写:(10) 

    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 

      
    4、分析以下代码,完成填空(10分) 

    string strTmp = "abcdefg某某某"; 

    int i= System.Text.Encoding.Default.GetBytes(strTmp).Length; 

    int j= strTmp.Length; 

    以上代码执行完后,i=                 j=          

    答:i=13,j=10 

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

    答:SELECT ID 

    FROM table1 

    WHERE LastUpdateDate = (SELECT MAX(LastUpdateDate) FROM table1) 



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

    public void test(int i) 

    {   

    lock(this) 



    if (i>10) 



    i--; 

    test(i); 







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

     
    7、分析以下代码。(10) 

    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)以上代码可以正确使用连接池吗? 

    答:回答:如果传入的connectionString是一模一样的话,可以正确使用连接池。不过一模一样的意思是,连字符的空格数,顺序完全一致。 

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

    答:只可以捕捉数据库连接中的异常吧. (finally中,catch中,如果有别的可能引发异常的操作,也应该用try,catch。所以理论上并非所有异常都会被捕捉。) 



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

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

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

    答:根据点击的列头,包该列的ID取出,按照该ID排序后,在给绑定到ListView中 
     

    10、给定以下XML文件,完成算法流程图。(10) 

    <FileSystem> 

    < DriverC > 

    <Dir DirName=”MSDOS622”> 

    <File FileName =” Command.com” ></File> 

    </Dir> 

    <File FileName =”MSDOS.SYS” ></File> 

    <File FileName =” IO.SYS” ></File> 

    </DriverC> 

    </FileSystem> 

    请画出遍历所有文件名(FileName)的流程图(请使用递归算法)。 

    答: 

    void FindFile( Directory d  



        FileOrFolders = d.GetFileOrFolders(); 

        foreach( FileOrFolder fof in FileOrFolders  



            if( fof is File  

                  You Found a file; 

            else if ( fof is Directory  

                  FindFile( fof 

        } 



    简单的说就是从根节点开始遍历找子节点,在从找到的子节点找它的子节点,一层层下去

    11.net 里面的三层结构.
    数据访问层,业务层,表示层(可能叫法上有些不同)

    12.NET内值对象.
    .NET的公共类型系统CTS可以分为两大类,引用类型和值类型,引用类型分配在堆中,值类型分配在栈中;
    对于值类型的变量或常量我们一般不称之为对象,题目竟然将其称做值对象,可见出题的人本身就概念不清;设计上,对象的概念是伴随类而出现的,类的实例我们才称之为对象

    13.一个页面调用另一个页面的状态有几种方法.
    如果是方法可以声明为public或者public static的方法或变量,或通过设置获取属性。

    14.session和application有什么区别.
    Session是会话,多线程;application是全局唯一的,对它的操作牵扯到同步问题.
    简单例子,application(一个应用例如你的站点)是一个聊天室,session(访问站点的一个活动用户)就是里面的一个人,

    15.如何让一个类不允许被new出来.
    把类的构造函数声明为私有,同时可以提供一个public static 类名 GetInstance()函数来构造类的实例.

    16.PreRender和Event有什么区别?
    PreRender是
    事件处理程序接收一个 EventArgs 类型的参数。

    备注
    使用该事件在服务器控件呈现给页的输出之前执行任何更新。在该事件的生存期内可以保存服务器控件视图状态的任何更改。不保存呈现阶段内所做的同样更改。
    ————————————————————————
    就是说当控件在输出到客户端时将要进行的处理

    17.面向对象的思想主要包括什么?
    面向对象三大特征:继承,封套,多态.面相对象的思想也不是一句两句就能说清楚..主要思想就是减少代码重复,增大代码复用率..

    18.什么是ASP.net中的用户控件
    问这样的问题,一般是迷惑你.因为新手还是分不清楚用户控件和服务器控件(也称自定义控件)..用户控件一般用在内容多为静态,或者少许会改变的情况下..用的比较大..类似ASP中的include..但是功能要强大的多..

    19.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
    这个需要当前描述了..东西太多..打字要打死了..找个比较简单的说说吧!
    CTS:公共类型系统.主要是为了语言之间的进行标准化处理.
    CLS:公共语言规范.主要是确保代码可以在任何语言中访问的最小标准集体
    CLR:公共语言运行时.主要是管理代码..处理,加载代码,以及所有服务的代码

    20.列举一下你所了解的XML技术及其应用
    xml用于配置,用于保存静态数据类型.接触XML最多的是web Services..和config

    21.值类型和引用类型的区别?写出C#的样例代码。
    值类型是在内存中保存,引用类型是在内存中保存一副本.你在内存中可以有多个某种引用对象..但是值类型始终只有一个.
    最常见的值类型就是static,struct;
    例如:
    static int aa = 1;//值类型
    如果多个用户改变aa的值则,aa的值会以最后一个修改的记录为准.其他人的修改则会被冲掉.
    引用类型,最能说明问题的就是实例化..你new出来的对象单独分配一个独立的内存..所以值不会互相冲突/

    22.ADO.net中常用的对象有哪些?分别描述一下。
    Connection 数据库连接对象
    Command 数据库命令
    DataReader 数据读取器
    DataSet 数据集

    23.如何理解委托?
    委托的概念,最好的说明就是事件.因为事件使用的就是委托.例如:this.Load += new System.EventHandler(this.Page_Load);这个就是使用了一个委托.
    具体的用法请参考.我以前的帖子,设计猫鼠联动..

    24.C#中的接口和类有什么异同。
    类是方法功能的实现和集合,接口是规范类.约束类.

    25.net中读写数据库需要用到哪些类?他们的作用
    看第六题..答案差不多

    26.UDP连接和TCP连接的异同。
    这个说不清楚.

    27.ASP.net的身份验证方式有哪些?分别是什么原理?
    window验证:为每个用户开启window帐号,验证其身份.安全性较高.
    forms验证:为每个登陆用户写入一个身份验证票据..在web使用最广的验证方式..灵活方便.

    28.进程和线程分别怎么理解?
    这个是新人最容易迷惑的东西..
    进程:Process

    29.什么是code-Behind技术。
    新建一个VS.NET下的项目..看到ASPX,RESX和CS三个后缀的文件了吗??这个就是代码分离.实现了HTML代码和服务器代码分离.方便代码编写和整理.

    30.活动目录的作用。
    活动目录是window2000的最重要的功能.可以将用户信息全部集成起来,登陆以后可以访问多个不同的网络服务..没深入研究过.
    查看一下帖子:http://www.ies.impu.edu.cn/resource/os/windowsx/WindowsGeneral/WinGeneral0008.htm
    31..net中读写XML的类都归属于哪些命名空间?
    System.XML类

    32.解释一下UDDI、WSDL的意义及其作用。
    解释不清楚了..又是一大块..

    33.什么是SOAP,有哪些应用。
    simple object access protocal,简单对象接受协议.以xml为基本编码结构,建立在已有通信协议上(如http,不过据说ms在搞最底层的架构在tcp/ip上的soap)的一种规范
    是微软大力推广的Web Service使用的协议..

    34.如何部署一个ASP.net页面。
    不清楚问的什么意思...如果非要回答的话,就写一个带.aspx的后缀文件..然后安装IIS和FrameWork环境..浏览就好了.

    35.如何理解.net中的垃圾回收机制。
    垃圾回收体制如下:
    如果发现内存不够,则垃圾回收器,将全部对象作为无效对象(被回收对象),然后先将全局变量,static,处于活动中的局部变量,以及当前CG指针指向的对象放入一个表中.然后
    会搜索新列表中的对象所引用的对象.加入列表中,其他没有被加入列表的对象都会被回收.

    36.常用的调用webservice方法有哪些?
    我一般用的是WSDL..或者web引用..

    37..net中读写XML的类都归属于哪些命名空间?
    System.XML类

    38.解释一下UDDI、WSDL的意义及其作用。
    解释不清楚了..又是一大块..

    39.什么是SOAP,有哪些应用。
    simple object access protocal,简单对象接受协议.以xml为基本编码结构,建立在已有通信协议上(如http,不过据说ms在搞最底层的架构在tcp/ip上的soap)的一种规范
    是微软大力推广的Web Service使用的协议..

    40.如何部署一个ASP.net页面。
    不清楚问的什么意思...如果非要回答的话,就写一个带.aspx的后缀文件..然后安装IIS和FrameWork环境..浏览就好了.

    41.如何理解.net中的垃圾回收机制。
    垃圾回收体制如下:
    如果发现内存不够,则垃圾回收器,将全部对象作为无效对象(被回收对象),然后先将全局变量,static,处于活动中的局部变量,以及当前CG指针指向的对象放入一个表中.然后
    会搜索新列表中的对象所引用的对象.加入列表中,其他没有被加入列表的对象都会被回收.

    42.常用的调用webservice方法有哪些?
    我一般用的是WSDL..或者web引用..

  • 相关阅读:
    二分图最大匹配的K&#246;nig定理及其证明
    HDOJ 2389 Rain on your Parade
    HDOJ 1083 Courses
    HDOJ 2063 过山车
    POJ 1469 COURSES
    UESTC 1817 Complete Building the Houses
    POJ 3464 ACM Computer Factory
    POJ 1459 Power Network
    HDOJ 1532 Drainage Ditches
    HDU 1017 A Mathematical Curiosity
  • 原文地址:https://www.cnblogs.com/nonsuch/p/473083.html
Copyright © 2011-2022 走看看