75、谈谈你对设计模式的理解(传智播客.Net培训班原创模拟题) 世界上本没有模式,用的人多了,也就有了模式。不用刻意记每种模式的名字,手中无模式,心中有模式。 大部分设计模式就是接口、抽象类的一个组合。ADO.Net基于接口编程,SafeDbCommand、SafeConnection。SettingsProvider。没必要记模式的名字。 举例:传智播客.net培训时SettingsProvider、第三方支付的例子。 76、谈谈ViewState。谈谈对ASP.Net原理的理解。谈谈ASP.Net生命周期。 Label、Textbox在禁用ViewState的时候自增的不同表现 Http是无状态的,WebForm为了实现基于http的“有状态”从而简化开发,ViewState用来在两次请求间保持状态。页面返回前将界面的状态序列化到ViewState中,这样就将状态保存在了浏览器中,下次页面提交的时候会顺便再将ViewState提交到服务器,这样服务器就根据ViewState还原了状态,这样WebForm开发就像有状态一样了。谈谈自定义AutoInc控件。 77、post、get的区别 get的参数会显示在浏览器地址栏中,而post的参数不会显示在浏览器地址栏中; 使用post提交的页面在点击【刷新】按钮的时候浏览器一般会提示“是否重新提交”,而get则不会; 用get的页面可以被搜索引擎抓取,而用post的则不可以; 用post可以提交的数据量非常大,而用get可以提交的数据量则非常小(2k),受限于网页地址的长度。 用post可以进行文件的提交,而用get则不可以。 参考阅读:http://www.cnblogs.com/skynet/archive/2010/05/18/1738301.html 78、下面的程序执行结果是什么?(传智播客.Net培训班原创模拟题) class Person { public int Age { get; set; } } int i1 = 20; int i2 = i1; i1++; Console.WriteLine(i2); Person p1 = new Person(); p1.Age = 20; Person p2 = p1; p1.Age++; Console.WriteLine(p2.Age); 答案: 20 21 解释:引用类型和值类型的区别。 79、Http默认的端口号是(80)、Ftp默认的端口号是(21)、SQLServer的默认端口号是(1433)(传智播客.Net培训班原创模拟题) 80、运算符++a表示(先将a加1,然后表达式的值为a加1后的值),i++表示(表达式的值为a,然后a加1)。 81、下面程序的执行结果是什么?(传智播客.Net培训班原创模拟题) int i = 10; Console.WriteLine(i++); Console.WriteLine(++i); Console.WriteLine(i=20); 答案: 10 12 20 解答:前两个参考第80题,i++表达式的值为i自增之前的值,所以打印10,执行完成后i变成11,执行++i的时候表达式的值为自增以后的值12。C#中赋值表达式的值为变量被赋值的值,因此最后一个就输出i赋值后的值20 while((line=reader.ReadLine())!=null) { } 82、如果不用VisualStudio,用哪个命令行编译C#程序?(*)(传智播客.Net培训班原创模拟题) 答:csc.exe。 83、下列哪个名词和WebService不直接相关?(B)(传智播客.Net培训班原创模拟题) A、UDDI B、GUID C、WSDL D、SOAP SOAP和HTTP的关系:SOAP基于Http协议的,和普通网页不同的是网页返回HTML,SOAP则是符合SOAP协议的XML数据。 84、.Net Framework中的类是专门供C#调用的是吗?(传智播客.Net培训班原创模拟题) 答:错。VB.Net等语言都可以调用.Net Framework中的类。CTS、CLS。 85、开放性问题:说出尽可能多的基于.Net Framework的语言。(*)(传智播客.Net培训班原创模拟题) 参考解答:C#、VB.Net、F#、PowerShell、IronPython、J#、Ruby.Net 86、.Net、ASP.Net、C#、VisualStudio之间的关系是什么?(传智播客.Net培训班原创模拟题) 答:.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?(传智播客.Net培训班原创模拟题) 答: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。 |
|