首页 >后端开发 >C#.Net教程 >asp .net 面试题及答案分享

asp .net 面试题及答案分享

零下一度
零下一度原创
2017-06-23 15:04:123452浏览

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()方法来设置缓存的过期,优先级,依赖项等。

   具体实现参考

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.页面级别的异常捕获

 具体代码参考

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文件也可以做对应的操作
  使用案例 :参考博客园网址:
 
 

 

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,消息队列是什么?

     推荐一个 非常不错的博客,

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(文件)等几种类型。

以上是asp .net 面试题及答案分享的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn