84、.Net Framework中的类是专门供C#调用的是吗?
答:错。VB.Net等语言都可以调用.Net Framework中的类。CTS、CLS。
85、开放性问题:说出尽可能多的基于.Net Framework的语言。(*)
参考解答:C#、VB.Net、F#、PowerShell、IronPython、J#、Ruby.Net
86、.Net、ASP.Net、C#、VisualStudio之间的关系是什么?
答:.Net一般指的是.Net Framework,提供了基础的.Net类,这些类可以被任何一种.Net编程语言调用,.Net Framework还提供了CLR、JIT、GC等基础功能。
ASP.Net是.Net中用来进行Web开发的一种技术,ASP.Net的页面部分写在aspx 文件中,逻辑代码通常通过Code-behind的方式用C#、VB.Net等支持.Net的语言编写。
C#是使用最广泛的支持.Net的编程语言。除了C#还有VB.Net、IronPython等。
VisualStudio是微软提供的用来进行.Net开发的集成开发环境(IDE),使用VisualStudio可以简化很多工作,不用程序员直接调用csc.exe等命令行进行程序的编译,而且VisualStudio提供了代码自动完成、代码高亮等功能方便开发。除了VisualStudio,还有SharpDevelop、MonoDevelop等免费、开源的IDE,VisualStudio Express版这个免费版本。
87、AJAX解决什么问题?如何使用AJAX?AJAX有什么问题需要注意?项目中哪里用到了AJAX?
答:AJAX解决的问题就是“无刷新更新页面”,用传统的HTML表单方式进行页面的更新时,每次都要将请求提交到服务器,服务器返回后再重绘界面,这样界面就会经历:提交→变白→重新显示这样一个过程,用户体验非常差,使用AJAX则不会导致页面重新提交、刷新。
AJAX最本质的实现是在Javascript中使用XMLHttpRequest进行Http的请求,开发中通常使用UpdatePanel、JQuery等方式简化AJAX的开发,UpdatePanel的方式实现AJAX最简单,但是数据通讯量比较大,因为要来回传整个ViewState,而且不灵活,对于复杂的需求则可以使用JQuery提供的ajax功能。
UpdatePanel的内部原理。
AJAX最重要的问题是无法跨域请求(www.rupeng.com →so.rupeng.com),也就是无法在页面中向和当前域名不同的页面发送请求,可以使用在当前页面所在的域的服务端做代理页面的方式解决。
在如鹏网项目中发帖的时候显示相关帖的功能、站内搜索项目中显示搜索Suggestion、数据采集项目中都用到了AJAX。
88、NET通过对各语言先编译成( IL),然后再执行时用( JIT)将其编译成本地平台代码,来实现异构平台下对象的互操作。(*)
89、编写正则表达式验证一个字符串是否为Email。复习正则表达式部分的知识。
90、Application 、Cookie和 Session 两种会话有什么不同?
答:Application是用来存取整个网站全局的信息,而Session是用来存取与具体某个访问者关联的信息。
91、开放式问题:你经常访问的技术类的网站是什么?
博客园(www.cnblogs.com)、csdn、codeplex、codeproject、msdn文档、msdn论坛(遇到问题先到网上搜解决方案,还不行就问同事,同事也解决不了就去MSDN论坛提问,一定能得到解决)
92、你对.net的GC的理解
GC是.Net的垃圾收集器,可以进行内存资源的回收,程序员无需关心资源的回收,当一个对象没有任何引用的时候就可以被回收了。一个对象可以被回收并不意味着一定会被立即回收,GC会选择时机进行回收。可以调用GC.Collect()让GC立即回收。GC不能回收非托管资源,对于非托管资源一般都实现了IDisposable接口,然后使用using关键字进行资源的回收。
93、请写一个SQL语句:从user表中取出name列中的起始字符是“北京”的全部记录
select * from [user] wherer name like’北京%’
94、请你简单的说明数据库建立索引的优缺点
使用索引可以加快数据的查询速度,不过由于数据插入过程中会建索引,所以会降低数据的插入、更新速度,索引还会占磁盘空间。
95、什么是WEB服务控件?使用WEB服务控件有那些优势、劣势?
web服务控件就是可以在服务器执行的控件,优势在于可以回传数据(ViewState),带有事件驱动(doPostBack),简化了Html标签的使用,使得开发ASP.net程序可以像开发Winform程序一样简单。Web服务控件最终还是被渲染(Render)为Html标签。使用WEB服务控件的劣势是会生成一些无用的属性、ViewState等,不利于SEO,一般在内网系统或者互联网系统的后台中使用WEB服务控件。如果没有复杂的服务器交互动作,就不用Web服务器控件。
runat=server的HTML控件有什么特点:路径不用程序员解析,可以使用“~”来虚拟路径。
96、下面程序的执行结果是什么?
int i = 10;
if (i <=0) ;
Console.WriteLine("i必须大于0");
Console.WriteLine("ok");
答案:
i必须大于0
ok
解答:注意if (i <=0)后面的“;”,由于有了“;”,所以Console.WriteLine("i必须大于0")不再是和if一起的一部分,而是独立的语句。
for循环也是如此。
97、下面程序的执行结果是什么? (*)
static void Main(string[] args)
{
Console.WriteLine(Calc());
Console.ReadKey();
}
static int Calc()
{
int i = 0;
try
{
return i;
}
finally
{
Console.WriteLine("finally");
i++;
}
}
答案:
finally
0
解释:参考第22题的值,return先执行,finally后执行,所以return的值是没有i++之前的0。注意并不是return的时候函数真的就“返回、执行结束”了,return只是标记函数的返回值是0,标记完了还会执行finally中的代码,只有finally中的代码执行完成后函数才真正的返回。