• 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引用..

  • 相关阅读:
    Swing编程基础 之二
    数据库有几种
    世界上所有的电脑操作系统
    Linux基础命令-有关于目录的命令
    Oracle Flashback 闪回
    Linux CentOS6.5下安装Oracle ASM
    如何将U盘内文件拷入VMware Linux CentOS6.5虚拟机
    iptables 开启端口
    在Oracle SQLplus下建用户 建表
    Linux CentOS中使用SQL*Plus启动和关闭数据库
  • 原文地址:https://www.cnblogs.com/nonsuch/p/473083.html
Copyright © 2020-2023  润新知