欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

asp .net 面试题及答案分享

程序员文章站 2022-02-27 11:44:39
...
1,ref 和out 的区别

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

asp .net 面试题及答案分享asp .net 面试题及答案分享
<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 节点处理异常

asp .net 面试题及答案分享asp .net 面试题及答案分享
  <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 面试题及答案分享的详细内容,更多请关注其它相关文章!