网站首页 > 文章精选 正文
asp.net常考面试题
一,列举ASP.Net页面之间传递值的几种方式?
1,使用QueryString,如:......?id=1;response.Redirect()......
2,使用Session变量
3,使用Server.Transfer
4,Cookie传值
二,什么是code-Behind技术。
→ 就是代码隐藏,在ASP.NET中通过ASPX页面指向CS文件的方法实现显示逻辑和处理逻辑的分离,这样有助于web应用程序的创建。比如分工,美工和编程的可以个干各的,不用再像以前asp那样都代码和html代码混在一起,难以维护。code-Behind是基于部分类技术实现的,在我的项目的三层代码生成器中用到了部分类。
三,请解释ASP。NET中的web页面与其隐藏类之间的关系?
→ 一个ASP.NET页面一般都对应一个隐藏类,一般都在ASP.NET页面的声明中指定了隐藏类例如一个页面Tst1.aspx的页面声明如下
<%@ Page language="c#" Codebehind="Tst1.aspx.cs" AutoEventWireup="false" Inherits="T1.Tst1" %>
→ Codebehind="Tst1.aspx.cs" 表明经编译此页面时使用哪一个代码文件
→ Inherits="T1.Tst1" 表用运行时使用哪一个隐藏类
→ aspx页面会编译生成一个类,这个类从隐藏类继承。
四,通过超链接怎样传递中文参数?
→ 用URL编码,通过QueryString传递,用urlencode编码 用urldecode解码
五,Server.Transfer和Response.Redirect的区别是什么?(常考)
→ Server.Transfer仅是服务器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;Response.Redirect则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。
→ Server.Transfer是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。这个过程中浏览器和Web服务器之间经过了一次交互。
→ Response.Redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求。这个过程中浏览器和Web服务器之间经过了两次交互。
六,说出一些常用的类、接口,请各举5个
→ 要让人家感觉你对.Net开发很熟,所以,不能仅仅只列谁都能想到的那些东西,要多列你在做项目中涉及的那些东西。就写你最近写的那些程序中涉及的那些类。
→ 常用的类:StreamReader、WebClient、Dictionary、StringBuilder、SqlConnection、FileStream、File、Regex、List
→ 常用的接口:IDisposable、IEnumerable、IDbConnection、IComparable、ICollection、IList、IDictionary
→ 要出乎意料!不要仅仅完成任务!笔试不是高考!处处要显出牛!
七,post、get的区别
→ get的参数会显示在浏览器地址栏中,而post的参数不会显示在浏览器地址栏中;
→ 使用post提交的页面在点击【刷新】按钮的时候浏览器一般会提示“是否重新提交”,而get则不会;
→ 用get的页面可以被搜索引擎抓取,而用post的则不可以;
→ 用post可以提交的数据量非常大,而用get可以提交的数据量则非常小(2k),受限于网页地址的长度。
→ 用post可以进行文件的提交,而用get则不可以。
参考阅读:http://www.cnblogs.com/skynet/archive/2010/05/18/1738301.html
八,Application 、Cookie和 Session 两种会话有什么不同?
→ Application是用来存取整个网站全局的信息,而Session是用来存取与具体某个访问者关联的信息。Cookie是保存在客户端的,机密信息不能保存在Cookie中,只能放小数据;Session是保存在服务器端的,比较安全,可以放大数据。
→ 谈到Session的时候就侃Session和Cookie的关系:Cookie中的SessionId。和别人对比说自己懂这个原理而给工作带来的方便之处。
九,Http状态码各是什么意思。
→ 301(永久重定向)、302 :重定向、404 :页面不存在、500:服务器内部错误
十,Session有什么重大BUG,微软提出了什么方法加以解决?(常考)
→ iis中由于有进程回收机制,系统繁忙的话Session会丢失,IIS重启也会造成Session丢失。这样用户就要重新登录或者重新添加购物车、验证码等放到Session中的信息。可以用State server或SQL Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件。但是(一定要写上,这样才够拽)我认为这不是Bug,只能说是In-Proc方式存储Session的缺陷,缺陷是和Bug不一样的,In-Proc方式存储Session会由服务器来决定什么时候释放Session,这是By Design,In-Proc方式不满足要求的话完全可以用StateServer和数据库的方式。→ StateServer还可以解决集群Session共享的问题。→ 配置StateServer的方法:http://support.microsoft.com/kb/317604http://blog.csdn.net/zj1103/archive/2008/09/14/2926773.aspx
十一,asp.net中<%%>、<%=%>、<%#%>的区别是什么→ <%%>是执行<%%>中的C#代码,<%=%>是将=后表达式的值输出到Response中,<%#%>是数据绑定,一般用在ListView、GridView、Repeater等控件的绑定中。数据绑定分为:Eval:单向绑定和Bind:双向绑定。
十二、asp.net中的错误机制。(常考)
→ 定制错误页来将显示一个友好的报错页面。
→ 页面中未捕获一样会触发Page_Error(不常用),应用程序中的未捕获异常会触发
→ Application_Error。通过HttpContext.Current.Server.GetLastError()、HttpContext.Current.Error;拿到未捕捉异常,记录到Log4Net日志中。
十三,锁的问题:
public void Test(int i)
{
lock (this)
{
if (i > 10)
{
i--;
Test(i);
}
}
}
执行Test(10)是否会造成死锁?
→ 不会,因为多线程才有锁的问题,线程无法自己锁自己(单线程必然是有先后执行顺序的,没必要锁)。
十四,Math.Round(11.5)、Math.Round(11.3)、Math.Round(-11.5)、Math.Round(-11.3)的值各是多少?
→ Round 四舍五入:Math.Round(-11.5)=-12,因为是按照绝对值考虑。
→ 扩展:Math.Ceiling(-11.6)=-11,因为负数的天花板也在上面。
Math.Floor(-11.5)=-12
转载请注明来自:成笑笑博客: http://www.chengxiaoxiao.com/
C#视频教程技术交流分享网_成笑笑博客_C#技术爱好者
本文链接: http://www.chengxiaoxiao.com/?p=911
转载请注明来源: 成笑笑博客 .net技术学习交流《asp.net常考面试题》
标签: asp.net入门asp.net常考面试题.asp.net面试题asp.net教程
你可能也喜欢Related Posts
sql面试题-sql理论
ASP.Net服务器端控件
Jquery Ajax-C#教程
C#实现定时任务功能
[成笑笑博客]java中的变量、字符串与数组
Lucene.Net实现站内搜索功能
猜你喜欢
- 2025-01-20 java笔试题大全带答案_java笔试题大全带答案 经典11题
- 2025-01-20 50道Java面试题
- 2025-01-20 阿里资深架构师整理分享60道全套Java核心技术面试题及答案
- 2025-01-20 JavaScript从入门到精通
- 2025-01-20 Round函数揭秘:数值取舍的“数字游戏”
- 2025-01-20 js四舍五入
- 2025-01-20 2022最全java面试题及答案(208道)你能坚持到哪一道呢?
- 2025-01-20 JavaScript 内置对象——Math,你真的了解吗?
- 2025-01-20 ROUND组合三个不同的函数,3种方法对同表格不同数据3种舍入方式
- 2025-01-20 今天自己摸索了“round函数”的使用方法,学会了,非常开心
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)