asp .net 面试题及答案分享
2,有三个a 标签 没有id,没有name,没有class 如何选中第二个 a 标签,用jquert 选择
<a href ="#这是第一个" </a> <a href ="#这是第二个"> </a> <a href ="#这是第三个"> </a> <script>$(function){ $("a:eq(1)").attr("href"); }</script>
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>
捕获异常的几种方法
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文档进行读写操作。
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 面试题及答案分享的详细内容,更多请关注其它相关文章!
下一篇: JDK动态代理和CGLIB区别