激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

.net面試題

時(shí)間:2024-10-01 13:46:17 面試筆試 我要投稿
  • 相關(guān)推薦

.net面試題

  對于任何一個(gè)使用.NET的人

.net面試題

  1) 描述線(xiàn)程與進(jìn)程的區別?

  線(xiàn)程(Thread)與進(jìn)程(Process)二者都定義了某種邊界,不同的是進(jìn)程定義的是應用程序與應用程序之間的邊界,不同的進(jìn)程之間不能共享代碼和數據空間,而線(xiàn)程定義的是代碼執行堆棧和執行上下文的邊界。一個(gè)進(jìn)程可以包括若干個(gè)線(xiàn)程,同時(shí)創(chuàng )建多個(gè)線(xiàn)程來(lái)完成某項任務(wù),便是多線(xiàn)程。而同一進(jìn)程中的不同線(xiàn)程共享代碼和數據空間。用一個(gè)比喻來(lái)說(shuō),如果一個(gè)家庭代表一個(gè)進(jìn)程,在家庭內部,各個(gè)成員就是線(xiàn)程,家庭中的每個(gè)成員都有義務(wù)對家庭的財富進(jìn)行積累,同時(shí)也有權利對家庭財富進(jìn)行消費,當面對一個(gè)任務(wù)的時(shí)候,家庭也可以派出幾個(gè)成員來(lái)協(xié)同完成,而家庭之外的人則沒(méi)有辦法直接消費不屬于自己家庭的財產(chǎn)。

  2) 什么是Windows服務(wù),它的生命周期與標準的EXE程序有什么不同?

  Windows服務(wù)是運行在windows后臺指定用戶(hù)下(默認System)的應用程序,它沒(méi)有標準的UI界面,想比標準的EXE程序,Windows服務(wù)是在服務(wù)開(kāi)始的時(shí)候創(chuàng )建,而在服務(wù)結束的時(shí)候銷(xiāo)毀,而且可以設置服務(wù)是否與操作系統一起啟動(dòng),一起關(guān)閉。它支持三種方式:1)自動(dòng)方式 2)手動(dòng)方式 3)禁用 。自動(dòng)方式的時(shí)候,windows服務(wù)將在OS啟動(dòng)后自動(dòng)啟動(dòng)運行,而手動(dòng)方式則必須手工啟動(dòng)服務(wù),禁用的情況下服務(wù)將不能被啟動(dòng)。另外標準的EXE默認使用的當前登錄的用戶(hù),而windows服務(wù)則默認使用System用戶(hù),這在對系統資源訪(fǎng)問(wèn)的時(shí)候特別需要注意。

  3) Windows單個(gè)進(jìn)程所能訪(fǎng)問(wèn)的最大內存量是多少?它與系統的最大虛擬內存一樣嗎?這對于系統設計有什么影響?

  這個(gè)需要針對硬件平臺,公式為單個(gè)進(jìn)程能訪(fǎng)問(wèn)的最大內存量=2的處理器位數次方/2,比如通常情況下,32位處理器下,單個(gè)進(jìn)程所能訪(fǎng)問(wèn)的最大內存量為:232 /2 = 2G 。單個(gè)進(jìn)程能訪(fǎng)問(wèn)的最大內存量是最大虛擬內存的1/2,因為要分配給操作系統一半虛擬內存。

  4) 什么是強類(lèi)型,什么是弱類(lèi)型?哪種更好些?為什么?

  強類(lèi)型是在編譯的時(shí)候就確定類(lèi)型的數據,在執行時(shí)類(lèi)型不能更改,而弱類(lèi)型在執行的時(shí)候才會(huì )確定類(lèi)型。沒(méi)有好不好,二者各有好處,強類(lèi)型安全,因為它事先已經(jīng)確定好了,而且效率高。一般用于編譯型編程語(yǔ)言,如c++,java,c#,pascal等,弱類(lèi)型相比而言不安全,在運行的時(shí)候容易出現錯誤,但它靈活,多用于解釋型編程語(yǔ)言,如javascript,vb等

  5) PID是什么?在做系統的故障排除時(shí)如何使用它?

  PID是進(jìn)程編號,在系統發(fā)現故障的時(shí)候,可以根據它尋找故障所發(fā)生的具體進(jìn)程,并且可通過(guò)visual studio.net等ide將故障進(jìn)程附加到進(jìn)程中進(jìn)行調試(debug)

  6) 單個(gè)TCP/IP端口上能夠被多少個(gè)進(jìn)程偵聽(tīng)?

  可以為多個(gè),多個(gè)為端口復用。

  7) 什么是GAC?它解決了什么問(wèn)題?

  Gloal Assembly Cache,全局應用程序集緩存。它解決了幾個(gè)程序共享某一個(gè)程序集的問(wèn)題。不必再將那個(gè)被共享的程序集拷貝到應用程序目錄了,其實(shí)這道理很簡(jiǎn)單,.net應用程序在加載的時(shí)候,會(huì )首先查看全局應用程序集緩存,如果有就可以直接使用,沒(méi)有再到應用程序目錄進(jìn)行查找。

  中級.NET開(kāi)發(fā)人員

  1) 闡述面向接口、面向對象、面向方面編程的區別

  面向接口更關(guān)注的是概念,它的原則是先定義好行為規范,再根據行為規范創(chuàng )建實(shí)現,嚴格的來(lái)說(shuō),面向接口應該是面向對象中的一部分吧,因為面向對象也強調的是依賴(lài)倒置原則,也就是實(shí)現依賴(lài)于抽象,而抽象不依賴(lài)于具體實(shí)現,更具比較的應該是面向接口與面向抽象對象,我的體會(huì )是面向接口更加靈活,但實(shí)現時(shí)候,稍微有些代碼冗余,而面向抽象可以結合面向接口,先定義接口,再定義抽象類(lèi),在抽象類(lèi)中處理一些公共邏輯,再實(shí)現具體實(shí)現類(lèi)。面向對象是對復雜問(wèn)題的分解。面向方面的編程是一種新概念,它解決了很多面向對象無(wú)法解決的問(wèn)題,比如面向對象技術(shù)只能對業(yè)務(wù)相關(guān)的代碼模塊化,而無(wú)法對和業(yè)務(wù)無(wú)關(guān)的代碼模塊化。而面向方面正是解決這一問(wèn)題的方案,它的關(guān)鍵思想是"將應用程序中的商業(yè)邏輯與對其提供支持的通用服務(wù)進(jìn)行分離"。

  2) 什么是Interface?它與Abstract Class有什么區別?

  接口(Interface)是用來(lái)定義行為規范的,不會(huì )有具體實(shí)現,而抽象類(lèi)除定義行為規范外,可以有部分實(shí)現,但一個(gè)類(lèi)能實(shí)現多個(gè)接口,但只能繼承一個(gè)父類(lèi)

  3) 什么是反射?

  程序集包含模塊,而模塊又包括類(lèi)型,類(lèi)型下有成員,反射就是管理程序集,模塊,類(lèi)型的對象,它能夠動(dòng)態(tài)的創(chuàng )建類(lèi)型的實(shí)例,設置現有對象的類(lèi)型或者獲取現有對象的類(lèi)型,能調用類(lèi)型的方法和訪(fǎng)問(wèn)類(lèi)型的字段屬性。它是在運行時(shí)創(chuàng )建和使用類(lèi)型實(shí)例

  4) 使用ASMX的XML Web服務(wù)與使用SOAP的.NET Remoting的區別?

  Web服務(wù)使用的消息機制,而Remoting采用的RPC. Web Service能用于不同平臺,不同語(yǔ)言,Remoting只適用于.Net。效率上Remoting高于Xml Web Service

  5) 從概念上闡述前期綁定(early-binding)和后期綁定(late-binding)的區別?

  這個(gè)就像是強弱類(lèi)型的比較相似,前期綁定是在編譯的時(shí)候就確定了要綁定的數據,而后期綁定是在運行的時(shí)候才填充數據。所以前期綁定如果失敗,會(huì )在編譯時(shí)報編譯錯誤,而后期綁定失敗只有在運行時(shí)的時(shí)候才發(fā)生

  6) 調用Assembly.Load算靜態(tài)引用還是動(dòng)態(tài)引用?

  動(dòng)態(tài)

  7) 何時(shí)使用Assembly.LoadFrom?何時(shí)使用Assembly.LoadFile?

  呵呵,這個(gè)比較有意思,相比LoadFile,LoadFrom則顯得不地道,因為它娶媳婦的時(shí)候,是讓人家穿上嫁妝,坐上馬車(chē),還得帶著(zhù)人家的妹妹來(lái),:)用它加載的是程序集,這就要求同時(shí)將此程序集所依賴(lài)的程序集加載進(jìn)來(lái)。而LoadFile就地道的多,它是加載程序集文件的內容,只將傳入參數的文件加載,不考慮程序集依賴(lài),但如果有相同實(shí)現,但位置不同的文件用LoadFrom是不能同時(shí)加載進(jìn)來(lái)的,而LoadFile卻可以。由于LoadFile加載的是文件,所以調用它之后,可能因為缺少必要的依賴(lài)造成無(wú)法被執行。

  8) 什么叫Assembly Qualified Name?它是一個(gè)文件名嗎?它有什么不同?

  它不是一個(gè)文件名,相比文件名,Assembly Qualified Name(程序集限定名稱(chēng)),更能確定一個(gè)程序集,它包含文件名,但同時(shí)包含版本,公鑰,和區域。因為同樣一個(gè)名稱(chēng)的文件可能有不同的版本和區域,此時(shí)單獨靠文件名稱(chēng),可能會(huì )造成不能確定程序集的正確性。

  9) Assembly.Load("foo.dll"); 這句話(huà)是否正確?

  錯誤,正確的應該是Assembly.Load("foo"); 或者Assembly.LoadFrom("foo.dll");

  10) 做強簽名的assembly與不做強簽名的assembly有什么不同?

  強簽名的程序集可以做成com,而不做強簽名的就不行,同樣強簽名程序集可以安裝到GAC中,而不做強簽名的確不能。

  11) DateTime是否可以為null?

  不能,因為其為Struct類(lèi)型,而結構屬于值類(lèi)型,值類(lèi)型不能為null,只有引用類(lèi)型才能被賦值null

  12) 什么叫JIT?什么是NGEN?它們分別有什么限制和好處?

  Just In Time 及時(shí)編譯,它是在程序第一次運行的時(shí)候才進(jìn)行編譯,而NGEN是所謂的pre-jit,就是說(shuō)在運行前事先就將生成程序集的本機鏡像,并保存到全局緩存中,適用NGEN可以提高程序集的加載和執行速度,因為它可以從本機映像中還原數代碼和數據結構,而不必像jit那樣動(dòng)態(tài)生成它們。感覺(jué)和緩存的道理大同小異。

  13) Finalize()和Dispose()之間的區別?

  Finalize()用于隱式釋放資源,Dispose()用于顯示釋放資源 (Finalize()的確相當于C++中的析構函數

  14) using() 語(yǔ)法有用嗎?什么是IDisposable?它是如何實(shí)現確定性終結的。

  有用,實(shí)現了IDisposiable的類(lèi)在using中創(chuàng )建,using結束后會(huì )自定調用該對象的Dispose方法,釋放資源。不明白什么是確定性終結

  15) tasklist /m "mscor*" 這句命令是干嘛的?

  列出所有使用了以" mscor"作為開(kāi)頭的dll或者exe的進(jìn)程和模塊信息

  16) in-proc和out-of-proc的區別

  in-proc是進(jìn)程內,進(jìn)程內能共享代碼和數據塊,out-of-proc是進(jìn)程外,進(jìn)程外的互操作需要用進(jìn)程間通訊來(lái)實(shí)現。

  17) .NET里的哪一項技術(shù)能夠實(shí)現out-of-proc通訊?

  .Net Remoting技術(shù)或者WCF技術(shù)

  18) ASP.NET在Windows XP, Windows 2000, Windows 2003上分別跑在哪個(gè)進(jìn)程里面?

  Xp : aspnet_Wp.exe

  Windows 2000 : aspnet_Wp.exe

  Windows 2003 : w3wp.exe

  高級開(kāi)發(fā)人員/架構師

  1) DateTime.Parse(myString); 這行代碼有什么問(wèn)題?

  有問(wèn)題,當myString不能滿(mǎn)足時(shí)間格式要求的時(shí)候,會(huì )引發(fā)異常,建議使用DateTime.TryParse() ,同時(shí),還需要注意到文化區域的設置,如果做代碼規范檢查,該語(yǔ)句也會(huì )不符合規范,就是因為缺少文化區域的設置

  2) PDB是什么東西? 在調試中它應該放在哪里?

  PDB是用于保存調試和項目狀態(tài)信息的文件,在debug的時(shí)候將產(chǎn)生pdb文件,調試的時(shí)候應該放在和對應應用程序集相同目錄。 默認的是同一目錄,ide還可以設置全局pdb symbol文件的地址,這也是vs2008能調試.net framework source code的方法。還可以為解決方案指定pdb位置

  3) 寫(xiě)一個(gè)標準的lock(),在訪(fǎng)問(wèn)變量的前后創(chuàng )建臨界區,要有"雙重檢查"

  4) 什么叫FullTrust?放入GAC的assembly是否是FullTrust的?

  FullTrust完全信任。放入GAC中的Assembly是否FullTrust我的理解不是。我理解FullTrust是可以通過(guò)代碼設定的

  5) 代碼加上需要安全權限的特性有什么好處?

  可以更加靈活的設置對代碼的訪(fǎng)問(wèn)權限,實(shí)現代碼級保護。?這點(diǎn)不是特清楚,有明白的給講解下。

  6) gacutil /l | find /i "Corillian" 這句命令的作用是什么?

  全局程序集緩存中如果有Corillian就更新該程序集,沒(méi)有就安裝

  7) sn -t foo.dll 這句命令是干嘛的?

  顯示程序集foo.dll的公鑰標記

  8) DCOM需要防火墻打開(kāi)哪些端口?端口135是干嘛用的?

  135端口,因為DCOM的端口號是隨機分配的,默認情況下,會(huì )分配1024以上的端口號,所以默認情況下,DCOM不能穿越防火墻。因為根本不曉得開(kāi)哪個(gè)端口。但有解決辦法可以使DCOM分配的端口號固定,有關(guān)內容我在http://www.cnblogs.com/jillzhang/archive/2008/02/20/1075057.html 有過(guò)一些描述。135是遠程過(guò)程調用(RPC)的默認端口

  9)

  我想OOP和SOA應該沒(méi)有對比性吧。OOP是一種編程模型,強調將復雜的邏輯分解出小的模塊,特性是繼承,封裝和多態(tài) 。而SOA是一個(gè)技術(shù)框架,技術(shù)框架和編程模型應該說(shuō)不是一碼事吧?SOA的思想是將業(yè)務(wù)邏輯封裝成服務(wù)或者中間件提供給應用程序來(lái)調用,當然其組件化思想是繼承和發(fā)揚了OOP的優(yōu)點(diǎn)。

  10) XmlSerializer是如何工作的?使用這個(gè)類(lèi)的進(jìn)程需要什么ACL權限?

  XmlSerializer是將對象的屬性和字段進(jìn)行序列化和反序列化的,序列化成為xml數據,反序列化再將xml轉換成對象。應該至少需要ACL權限中的讀權限.

  11)為什么不提倡catch(Exception)?

  原因可能有兩點(diǎn):1)try..catch在出現異常的時(shí)候影響性能 2)應該捕獲更具體得異常,比如IOExeception,OutOfMemoryException等

  12)Debug.Write和Trace.Write有什么不同?何時(shí)應該使用哪一個(gè)?

  Debug.Write是調試的時(shí)候向跟蹤窗口輸出信息。當編譯模式為debug的時(shí)候才有效,為release的時(shí)候Debug.Write在編譯的時(shí)候會(huì )忽略,而Trace則是在debug和release兩種模式下均可以向跟蹤窗口輸出信息。

  13)Debug Build和Release Build的區別,是否會(huì )有明顯的速度變化?請說(shuō)明理由。

  Debug會(huì )產(chǎn)生pdb文件,release不會(huì )。Debug用于開(kāi)發(fā)時(shí)的調試,不能要于部署,而release用于部署.debug編譯一些特殊代碼,比如#IFDEBUG Debug.Write等,而Release則會(huì )將那些特殊標記省略

  14)JIT是以assembly為單位發(fā)生還是以方法為單位發(fā)生?這對于工作區有何影響?

  方法,道理很簡(jiǎn)單,因為對于一次運行,很可能只用到一個(gè)程序集中極少數類(lèi)型和對象,而大部分可能并不會(huì )被使用,此時(shí)CLR傻乎乎的給整個(gè)程序集都給Compile了,CLR不是傻瘋了么

  15)對比抽象基類(lèi)和接口的使用

  抽象類(lèi)能有具體實(shí)現,而接口只定義行為規范,不能有具體實(shí)現。一個(gè)類(lèi)只能繼承一個(gè)父類(lèi),但能實(shí)現多個(gè)接口。

  16)a.Equals(b)和a == b一樣嗎?

  不一樣。多數情況下,a.Equals(b)表示a與b一致, a==b表示a與b的值相等 。也可以有具體重載

  17)在對象比較中,對象一致和對象相等分別是指什么?

  對象一致是指兩個(gè)對象是同一個(gè)對象,引用相同。而對象相等是指兩個(gè)對象的值相同,但引用不一定相同

  18)在.NET中如何實(shí)現深拷貝(deep copy)?

  實(shí)現IClonable接口

  19)請解釋一下IClonable

  IClonable方法是實(shí)現深度復制的接口,實(shí)現它應該能深度復制一個(gè)對象出來(lái)。深度復制的特征的調用對象的構造方法,創(chuàng )建新的對象,包括創(chuàng )建對象中嵌套的引用對象的新實(shí)例。而Shadow復制則不同,是淺表復制,不重新創(chuàng )建新實(shí)例。淺表復制的實(shí)現是Object.MemberWiseClone().

  20)什么叫裝箱?

  裝箱(boxing)是將值類(lèi)型的數據轉化成引用類(lèi)型,int i=3; object o = i ;便是裝箱過(guò)程,而拆箱(unboxing)是將飲用類(lèi)型數據轉換值類(lèi)型,比如int j = (int)o;屬于拆箱

  21)string是值類(lèi)型還是引用類(lèi)型?

  引用類(lèi)型

  22)XmlSerializer使用的針對屬性的模式有什么好處?解決了什么問(wèn)題?

  只序列化有用的數據,而不是序列化整個(gè)對象。實(shí)現沒(méi)必要的數據冗余,和提升序列化時(shí)的性能。


【.net面試題】相關(guān)文章:

.NET高頻筆試題11-16

面試題精選02-18

分享面試題目 教育職業(yè)面試題11-20

熱門(mén)就業(yè)行業(yè)面試題精選:編輯行業(yè)面試題!11-19

Microsoft 面試題11-19

蘋(píng)果 面試題11-19

熱門(mén)就業(yè)行業(yè)面試題精選 銷(xiāo)售行業(yè)面試題11-20

熱門(mén)就業(yè)行業(yè)面試題目精選:行政行業(yè)面試題11-20

銀行招聘面試題11-26

經(jīng)典面試題 及答案分析11-20

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频