ASP.NET教程之.NET牛人应当晓得些甚么仓酷云
学习asp.net两个月有余了,除了对html、web控件比较熟悉(应该是说都能理解和接受)之外,竟不知道自己还会什么。看了两本书:《精通asp.net网络编程》(人民邮电出版社)、《asp.net实用案例教程》(清华大学出版社)。原文地点:http://www.hanselman.com/blog/WhatGreatNETDevelopersOughtToKnowMoreNETInterviewQuestions.aspxScottHanselman
译文出自:http://www.ckuyun.com/tonyqus/archive/2008/02/22/1043005.html
译者:TonyQu
前些日子我发了一份ASP.NET口试题清单.有一些访客对照守旧,以为我是没事谋事,内里都是些很噜苏的成绩。剩下的人则说“蛮不错的,我得往看一看个中的一些成绩”我更喜好后者的复兴,我以为后者才是准确的立场。
固然我其实不想把.NET软件开辟归纳综合为一些复杂的小成绩,我只是想让人人多思索。我信任一个真正优异的ASP.NET(及WinForm)开辟职员应当不单单会拖放控件到计划器中,也应当把握更多的工具。一个优异的赛车竞赛选手很懂得他本人的坐驾,他晓得哪些能够做?哪些不克不及做?
以是我筹办了别的一份清单——一份扩大的清单,供你利用。这是我上个礼拜在从博伊西往波特兰的路上写在一块板上的,而且我也思索到了那些以为我的清单过于噜苏的定见,试图把这个清单按节办理。假如你历来没有深切ASP.NET,你一定不会晓得一切ASP.NET成绩的谜底。假如你是一个自力参谋,你大概历来没有碰到过这些观点。但在我呆在科林斯的这4年中,这些成绩我都碰到过。因而,是不是周全了解这些成绩大概与你是否是一个优异的开辟者没有干系,但在碰到成绩时它切实其实能够帮你节俭很多工夫。
.NET牛人应当晓得些甚么?
任何一个利用.NET的人
[*]形貌线程与历程的区分?
[*]甚么是Windows服务,它的性命周期与尺度的EXE程序有甚么分歧
[*]Windows上的单个历程所能会见的最年夜内存量是几?它与体系的最年夜假造内存一样吗?这关于体系计划有甚么影响?
[*]EXE和DLL之间的区分是甚么?
[*]甚么是强范例,甚么是弱范例?哪一种更好些?为何?
[*]PID是甚么?在做体系的妨碍扫除时怎样利用它?
[*]单个TCP/IP端口上可以侦听几个历程?
[*]甚么是GAC?它办理了甚么成绩?
中级.NET开辟职员
[*]论述面向接口、面向对象、面向方面编程的区分
[*]甚么是Interface?它与Class有甚么区分?
[*]甚么是反射?
[*]利用ASMX的XMLWeb服务与利用SOAP的.NETRemoting的区分?
[*]范例体系是由XMLSchema暗示的吗?CLS是XMLSchema暗示的吗?
[*]从观点上论述后期绑定(early-binding)和前期绑定(late-binding)的区分?
[*]挪用Assembly.Load算静态援用仍是静态援用?
[*]什么时候利用Assembly.LoadFrom?什么时候利用Assembly.LoadFile?
[*]甚么叫AssemblyQualifiedName?它是一个文件名吗?它有甚么分歧?
[*]Assembly.Load("foo.dll");这句话是不是准确?
[*]做强署名的assembly与不做强署名的assembly有甚么分歧?
[*]DateTime是不是能够为null?
[*]甚么叫JIT?甚么是NGEN?它们分离有甚么限定亲睦处?
[*].NETCLR中一代的渣滓搜集器是怎样办理对象的性命周期的?甚么叫非断定性闭幕?
[*]Finalize()和Dispose()之间的区分?
[*]using()语法有效吗?甚么是IDisposable?它是怎样完成断定性闭幕的。
[*]tasklist/m"mscor*"这句命令是干吗的?
[*]in-proc和out-of-proc的区分
[*].NET里的哪一项手艺可以完成out-of-proc通信?
[*]当你在ASP.NET中运转一个组件时,它在WindowsXP,Windows2000,Windows2003上分离跑在哪一个历程内里?
初级开辟职员/架构师
[*]DateTime.Parse(myString);这行代码有甚么成绩?
[*]PDB是甚么工具?在调试中它应当放在那里?
[*]甚么叫圈庞大度(cyclomaticcomplexity)?为何它很主要?
[*]写一个尺度的lock(),在会见变量的前后创立临界区,要有"两重反省",
[*]甚么叫FullTrust?放进GAC的assembly是不是是FullTrust的?
[*]代码加上必要平安权限的特征有甚么优点?
[*]gacutil/l|find/i"Corillian"这句命令的感化是甚么?
[*]sn-tfoo.dll这句命令是干吗的?
[*]DCOM必要防火墙翻开哪些端口?端口135是干吗用的?
[*]对照OOP和SOA,它们的目标分离是甚么?
[*]XmlSerializer是怎样事情的?利用这个类的历程必要甚么ACL权限?
[*]为何不倡始catch(Exception)?
[*]Debug.Write和Trace.Write有甚么分歧?什么时候应当利用哪个?
[*]DebugBuild和ReleaseBuild的区分,是不是会有分明的速率变更?请申明来由。
[*]JIT是以assembly为单元产生仍是以办法为单元产生?这关于事情区有何影响?
[*]对照笼统基类和接口的利用
[*]a.Equals(b)和a==b一样吗?
[*]在对象对照中,对象分歧和对象相称分离是指甚么?
[*]在.NET中怎样完成深拷贝(deepcopy)?
[*]请注释一下IClonable
[*]甚么叫装箱?
[*]string是值范例仍是援用范例?
[*]XmlSerializer利用的针对属性的形式有甚么优点?办理了甚么成绩?
[*]为何不该该在.NET中利用out参数?它事实好欠好?
[*]特征可以放到某个办法的参数上?假如能够,这有甚么用?
C#组件开辟职员
[*]甚么时分利用override?甚么时分利用new?甚么叫shadowing?
[*]注释virtual、sealed、override和abstract的区分
[*]Foo.Bar,Version=2.0.205.0,Culture=neutral,PublicKeyToken=593777ae2d274679d注释这个字符串每一个部分的主要性和感化
[*]注释public、protected、private和internal的区分
[*]利用PrimaryInteropAssembly(PIA)有甚么优点?
[*]NUnit是经由过程甚么机制获知必要测试哪些办法的?
[*]catch(Exceptione){throwe;}和catch(Exceptione){throw;}的区分
[*]typeof(foo)和myFoo.GetType()的区分?
[*]publicclassc{publicc(stringa):this(){;};publicc(){;}}注释第一个机关函数中产生了甚么?这个机关函数有甚么用?
[*]this是干吗用的?可以用在static办法中?
ASP.NET(UI)开辟职员
[*]论述一个基于扫瞄器的FormPOST怎样酿成一个服务器真个事务,如Button1_OnClick。
[*]甚么是PostBack?
[*]甚么是ViewState?它是不是被编码过?是不是被加密过?谁会利用ViewState?
[*]<machinekey>元素是干吗用的?它用于哪两项ASP.NET手艺?
[*]说出ASP.NET1.1中的3种SessionState供应程序和它们的优弱点?
[*]甚么叫WebGardening?在计划中怎样利用它?
[*]假定有一个ASP.NET使用程序,那末独自一个历程中同意几使用程序对象?那两个历程呢?启用了WebGardening的2个历程呢?这对计划有何影响?
[*]ASP.NET会重用多个哀求之间的线程吗?是不是每一个HttpRequest都有本人的线程?你是不是应当用ASP.NET的ThreadLocal存储?
[*]属性在ASP.NET中有效吗?它有无反作用?是好是坏?
[*]怎样利用HttpHandler简化现有的为.aspx页面供应考证图片的计划
[*]HttpModule定阅的是甚么范例的事务?这关于完成有何影响?假如不盘算从头编译ASP.NE使用程序,应当怎样做?
[*]说出暗示恣意一个终端(URL)的体例,和ASP.NET中把哀求路由到谁人尽头的体例
[*]注释cookie的事情道理。给出一个滥用Cookie的例子。
[*]注释HttpRequest.ValidateInput()的主要性?
[*]哪些数据是经由过程HTTPHeader传送的?
[*]对照HTTP动词GET和POST?甚么是HEAD?
[*]说出最少6个HTTP形态码和它们的寄义
[*]if-not-modified-since的事情道理是甚么?用ASP.NET怎样完成它?
[*]注释<@OutputCache%>和怎样利用VaryByParam、VaryByHeader.
[*]VaryByCustom是怎样事情的?
[*]怎样经由过程q=?(除q=5)来完成ASP.NETHTML输入缓冲弛缓冲过时(好比http://localhost/page.aspx?q=5)?
XML开辟职员
[*]XML定名空间的感化?
[*]什么时候合适利用DOM?什么时候不合适?有无标准限定?
[*]甚么是WS-I基础设置?它主要在那里?
[*]写一个小XML文档,个中利用的是默许的定名空间,和一个正当的(前缀)定名空间,个中要有分离属性这两个定名空间的元素
[*]元素和特征的基础区分在那里?
[*]格局无缺的XML和无效的XML有甚么区分?
[*].NET中怎样考证XML?
[*]myXmlDocument.SelectNodes("//mynode");为何这句代码欠好?甚么时分它是好的?
[*]拉式剖析(XmlReader)与事务读取器(Sax)的区分
[*]XPathDocument和XmlDocument的区分?在何种情形下应当用哪个?
[*]“XML片段”与“XML文档”有甚么区分
[*]甚么叫格局标准的XML?
[*]XMLInfoSet标准与XmlDOM有甚么分歧?InfoSet是要办理甚么成绩?
[*]对照DTD和XSD,它们的类似点与区分分离是甚么?哪一个更好些?为何?
[*]System.Xml撑持DTD吗?假如撑持,怎样利用?
[*]XMLSchema可以暗示为对象图?对象图可以暗示为XMLSchema?
语言是不是不是最重要的? 可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。 在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗? 业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。 JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。 如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。 最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。 如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。 Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境! 现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。 如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。 我的意思是.net好用,从功能上来说比JAVA强还是很明显的。 但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。
页:
[1]