• asp .net 面试问题整理(给自己整理的,有许多东西在不断更新)


    1,ref 和out 的区别

    2,有三个a 标签 没有id,没有name,没有class 如何选中第二个 a 标签,用jquert  选择

    <a href ="#这是第一个" </a>
    <a href ="#这是第二个"> </a>
    <a href ="#这是第三个"> </a>
    
    <script>
    $(function){
    $("a:eq(1)").attr("href");
    }
    </script>
    View Code

    3,集合,泛型集合和数组有什么区别

    4,string 和 stringbuilder 有什么区别

         string 对象是不可改变的,每次使用string 类 时,都要在内存中创建一个新的字符串对象,这就需要为该对象分配一个新的空间, stringbuilder 在做字符串的连接操作时是在原来的字符串上进行修改,改善了性能!

    简单一点讲,string 是不可变长的, stringbuilder 是可变长的。

    5,webapi,webservice 和 wcf 有什么区别?为什么要用webapi

    6,代码如何优化

    7,数据库如何优化,如何优化查询?

    8,假如有两个人在同时操作一条数据,你怎么处理?

    9,缓存知道吗?怎么用的?

        缓存是一种用空间换取时间的技术,通俗点也就是说把你得到的数据存放在内存中一段时间,在这短时间内服务器不去读取数据库、或是真实的数据源,而是读取你存放在内存中的数据

       asp.net中的缓存主要分为:页面缓存,数据源缓存,自定义数据缓存这三种主要类型。

       数据缓存:将一些耗费时间的条目加入到一个对象缓存集合中,以键值的方式存储。我们可以通过使用Cache.Insert()方法来设置缓存的过期,优先级,依赖项等。

       具体实现参考 http://www.cnblogs.com/knowledgesea/archive/2012/06/20/2536603.html

    10,全局异常处理是怎么处理的? 你们是怎么捕捉的?

    通过webconfig customErrors 节点处理异常

      
    <system.web>
    <!--添加customErrors节点 定义404跳转页面-->
     <customErrors mode="On">
          <error statusCode="404" redirect="/Error/Path404" />
        </customErrors>
     </system.web>
    View Code

    捕获异常的几种方法

        1.通过HttpModule来捕获未处理的异常【推荐】

        2.Global中捕获未处理的异常

        3.页面级别的异常捕获

     具体代码参考 http://www.cnblogs.com/youring2/archive/2012/04/25/2469974.html

    11,怎么知道我这个用户是否已经登录了?

    验证用户是否登录的逻辑:

              1)用户密码登录时,在后台的req中记住session.

                2)如果用户保存登录密码,则记住cookie,否则把当前用户的cookie设置为空;

                3)每次用户需要向后台进行请求时,进行状态检验:

                   session是否存在?若存在,则继续进行请求操作,并将session的有效时间重新设置一次;

                                                     若不存在,则判断cookie是否存在?若存在,使用该cookie完成自动登录,即完成了一次1);

                                                                         若不存在,则页面重定向到登录页面。

        简单一点回答 : 可以用Session来判断,因为一般来说你每个用户的登陆信息,你都要存进Session里面
       只要Session的值是空的或者已经失效,那么就可以说用户已经退出了!!

    12,反射是什么? 在项目中的应用?

       反射就是动态获取程序集。

       反射 : Reflection
    1) 基类调用派生类时候用
    2)在运行时才确定要调用哪个类的时候用
    3)在运行期  获取 模块 程序集 类 构造函数 属性方法的信息 以及实例化类,
        调用构造函数,属性,方法,事件,委托等……通过对类型动态实例化后,还可以用反射对其执行操作
    4)如果在写代码的时候就能确定要调用的是哪个类,那直接调用当然好了。
       但很多场合(也许是为了通用性),要在运行期才能够决定需要调用的类型,那样就有必要用反射来取得类型的相关信息了

    简单来说就是用string可以在runtime为所欲为的东西,实际上就是一个.net framework内建的万能工厂

    13,高并发如何处理?

    14,npoi是什么? 如任何使用

          用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写。NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作。

       

       (二)使用NPOI的优势
       1、您可以完全免费使用该框架
       2、包含了大部分EXCEL的特性(单元格样式、数据格式、公式等等)
       3、专业的技术支持服务(24*7全天候) (非免费)
       4、支持处理的文件格式包括xls, xlsx, docx.
       5、采用面向接口的设计架构( 可以查看 NPOI.SS 的命名空间)
       6、同时支持文件的导入和导出
       7、基于.net 2.0 也支持xlsx 和 docx格式(当然也支持.net 4.0)
       8、来自全世界大量成功且真实的测试Cases
       9、大量的实例代码
       11、你不需要在服务器上安装微软的Office,可以避免版权问题。
       12、使用起来比Office PIAAPI更加方便,更人性化。
       13、你不用去花大力气维护NPOINPOI Team会不断更新、改善NPOI,绝对省成本。
       14、不仅仅对与Excel可以进行操作,对于doc、ppt文件也可以做对应的操作
      使用案例 :参考博客园网址:http://www.cnblogs.com/stone_w/archive/2012/08/02/2620528.html
     
     

    15,页面间的几种传值方式?

    16,json 传输数据的格式,如果传递的是一组数据又是什么格式?

    json 传递的数据是以 键/值 方式 传递的  比如:{ "firstName": "Brett" }

     如果传递的是一组数据,格式如下!!

    { "people": [

    { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },

    { "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},

    { "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }

    ]}

    17,什么是数据库锁,有哪些锁? 作用是什么?如何使用?

    18,事务是什么?什么时候用到事务?事务的好处和弊端?

    19.什么是依赖注入,什么时候使用,使用的好处是什么?

    20,socket 通信是什么?

    21,消息队列是什么?

         推荐一个 非常不错的博客,http://www.ywnds.com/?p=5791

    22,ajax 的工作原理是什么?

    ajax的原理
      XMLHttpRequest是ajax的核心机制,它是在IE5中首先引入的,是一种支持异步请求的技术。简单的说,也就是javascript可以及时向服务器提出请求和处理响应,而不阻塞用户。达到无刷新的效果。我们可以把服务器端看成一个数据接口,它返回的是一个纯文本流,当然,这个文本流可以是XML格式,可 以是Html,可以是Javascript代码,也可以只是一个字符串。这时候,XMLHttpRequest向服务器端请求这个页面,服务器端将文本的 结果写入页面,这和普通的web开发流程是一样的,不同的是,客户端在异步获取这个结果后,不是直接显示在页面,而是先由javascript来处理,然 后再显示在页面。至于现在流行的很多ajax控件,比如magicajax等,可以返回DataSet等其它数据类型,只是将这个过程封装了的结果,本质 上他们并没有什么太大的区别

    23,ORM 是什么?

          ORM,即Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法。

      大型的orm 框架有EF、NHibernate ,目前为止我只接触过EF,具体的EF 的优缺点 再以后总结了!!

       

    24,数据库行转列,列转行

    25,数据库查询优化怎么处理?

    26,convert.toint32 和 int,parce 有什么区别?

      Convert.ToInt32将object类类型转换成int类型

      int.Parse适合将string类类型转换成int类型

    (1)Convert.ToInt32的参数比较多,Int.Parse只能转换string类型的.
    (2)Parse就是把String转换成int,char,double....等,也就是*.Parse(string) 括号中的一定要是string.。

    27,简述javascript中的“=、==、===”的区别?

    =赋值

    ==比较是否一般相等   "3"==3 //会做类型的隐式转换,true

    ===比较是否严格相等 "3"===3 //先比较类型,再进行值比较,false

    28、看下列代码输出为何?解释原因
    var a = null;
    alert(typeof a); 
    var b;
    alert(typeof b);
    alert(c);

    a为null,也是一个对象,所以typeof(a)为object.

    b只有声明没有初始化,因此typeof(b)为undefined.

    c没有定义,因此alert(c)会出现error.

    29、编写javascript代码实现把两个数组合并,并删除第二个元素。

    合并js数组用concat方法,array1.concat(array2)。

    删除元素用splice方法,splice(1,1),函数原型splice(index,count),指从数组索引1处开始删除1个元素,即删除第二个元素。

    30、简述a.Equals(b)和a==b的区别?

    Equals方法比较内容(值是否相等),==比较引用地址(是否指向同一个对象)。

    31、列举ASP.NET MVC ActionResult的返回值有几种类型?

    主要有View(视图)、PartialView(部分视图)、Content(内容)、Json(Json字符串)、Javascript(js脚本)、File(文件)等几种类型。

    技在手,能在身,思在脑,大度看世界,从容过生活!!!
  • 相关阅读:
    数据库连接字符串
    html中嵌入.html的文件,使用iframe
    js 排序
    Node Sass version 7.0.1 is incompatible with ^4.0.0.
    关于js调用ts中某些属性
    BehaviorSubject 发布订阅Angular
    c# 图片压缩
    yarn install 出现异常 package.json: Unexpected token } in JSON at position 2173
    js 正反斜杠 替换
    ABP 新建项目数据库建立
  • 原文地址:https://www.cnblogs.com/bsjbk/p/7009441.html
Copyright © 2020-2023  润新知