NET牛人應(yīng)該知道些什么? (本答復(fù)不是標(biāo)準(zhǔn)答案,敬請(qǐng)兄弟們補(bǔ)充更正,不勝感激)

任何一個(gè)使用.NET的人
1) 描述線程與進(jìn)程的區(qū)別? 線程(Thread)與進(jìn)程(Proc " /> 亚洲骚片,午夜99,国产精品成人久久久久

中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

對(duì)一些面試題的回答

此文中所提到的面試題是園子中Tony Qu兄弟翻譯過(guò)來(lái)的,特此感謝

NET牛人應(yīng)該知道些什么?
(本答復(fù)不是標(biāo)準(zhǔn)答案,敬請(qǐng)兄弟們補(bǔ)充更正,不勝感激)


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


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

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

2) 什么是Windows服務(wù),它的生命周期與標(biāo)準(zhǔn)的EXE程序有什么不同

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

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

這個(gè)需要針對(duì)硬件平臺(tái),公式為單個(gè)進(jìn)程能訪問(wèn)的最大內(nèi)存量=2的處理器位數(shù)次方/2,比如通常情況下,32位處理器下,單個(gè)進(jìn)程所能訪問(wèn)的最大內(nèi)存量為:232 /2 = 2G 。單個(gè)進(jìn)程能訪問(wèn)的最大內(nèi)存量是最大虛擬內(nèi)存的1/2,因?yàn)橐峙浣o操作系統(tǒng)一半虛擬內(nèi)存。

4)  什么是強(qiáng)類型,什么是弱類型?哪種更好些?為什么?

強(qiáng)類型是在編譯的時(shí)候就確定類型的數(shù)據(jù),在執(zhí)行時(shí)類型不能更改,而弱類型在執(zhí)行的時(shí)候才會(huì)確定類型。沒(méi)有好不好,二者各有好處,強(qiáng)類型安全,因?yàn)樗孪纫呀?jīng)確定好了,而且效率高。一般用于編譯型編程語(yǔ)言,如c++,Java,c#,pascal,弱類型相比而言不安全,在運(yùn)行的時(shí)候容易出現(xiàn)錯(cuò)誤,但它靈活,多用于解釋型編程語(yǔ)言,如Javascript,vb

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

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

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

可以為多個(gè),多個(gè)為端口復(fù)用 (多謝蛙蛙池塘的提醒)
看下面代碼

端口復(fù)用

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

1)  闡述面向接口、面向?qū)ο?、面向方面編程的區(qū)別

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

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

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

3)  什么是反射?

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

4)  使用ASMXXML Web服務(wù)與使用SOAP.NET Remoting的區(qū)別?

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

5)  類型系統(tǒng)是由XMLSchema表示的嗎?CLSXMLSchema表示的嗎?

不清楚 

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

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

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

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

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

呵呵,這個(gè)比較有意思,相比LoadFile,LoadFrom則顯得不地道,因?yàn)樗⑾眿D的時(shí)候,是讓人家穿上嫁妝,坐上馬車(chē),還得帶著人家的妹妹來(lái),:)用它加載的是程序集,這就要求同時(shí)將此程序集所依賴的程序集加載進(jìn)來(lái)。而LoadFile就地道的多,它是加載程序集文件的內(nèi)容,只將傳入?yún)?shù)的文件加載,不考慮程序集依賴,但如果有相同實(shí)現(xiàn),但位置不同的文件用LoadFrom是不能同時(shí)加載進(jìn)來(lái)的,而LoadFile卻可以。由于LoadFile加載的是文件,所以調(diào)用它之后,可能因?yàn)槿鄙俦匾囊蕾囋斐蔁o(wú)法被執(zhí)行。

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

它不是一個(gè)文件名,相比文件名,Assembly Qualified Name(程序集限定名稱),更能確定一個(gè)程序集,它包含文件名,但同時(shí)包含版本,公鑰,和區(qū)域。因?yàn)橥瑯右粋€(gè)名稱的文件可能有不同的版本和區(qū)域,此時(shí)單獨(dú)靠文件名稱,可能會(huì)造成不能確定程序集的正確性。

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

錯(cuò)誤,正確的應(yīng)該是Assembly.Load("foo"); 或者Assembly.LoadFrom("foo.dll"); (多謝 Tristan(Guozhijian)的提示更正)

11) 做強(qiáng)簽名的assembly與不做強(qiáng)簽名的assembly有什么不同?

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

12)  DateTime是否可以為null?

不能,因?yàn)槠錇?/span>Struct類型,而結(jié)構(gòu)屬于值類型,值類型不能為null,只有引用類型才能被賦值null

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

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

14)  Finalize()Dispose()之間的區(qū)別?

Finalize()用于隱式釋放資源,Dispose()用于顯示釋放資源 (Finalize()的確相當(dāng)于C++中的析構(gòu)函數(shù)(多謝Jeffrey Zhao提示更正)

15)  using() 語(yǔ)法有用嗎?什么是IDisposable?它是如何實(shí)現(xiàn)確定性終結(jié)的

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

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

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

17)  in-procout-of-proc的區(qū)別

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

18)  .NET里的哪一項(xiàng)技術(shù)能夠?qū)崿F(xiàn)out-of-proc通訊?

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

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

Xp : ASPNET_Wp.exe
Windows 2000 : ASPNET_Wp.exe (多謝 Tristan提示更正)
Windows 2003 : w3wp.exe

NET技術(shù)對(duì)一些面試題的回答,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 精品国产一区二区三区久久久蜜月 | 欧美一级片 | 久国产| 美女视频黄的 | 午夜视频免费在线观看 | 91亚洲精品在线 | 日韩成人免费av | 久草在线在线精品观看 | 久久精品16 | 亚洲一区 中文字幕 | 亚洲欧美综合 | 日韩精品一区二区三区免费观看 | 国产成人精品一区二区 | 色片在线观看 | www.久久| 国产精品区一区二 | 日韩av最新网址 | caoporn国产精品免费公开 | 国产精品美女久久久久久久久久久 | 午夜免费 | 中文字幕精品一区二区三区在线 | 人人做人人澡人人爽欧美 | 日韩最新网址 | 日本三级在线视频 | 久久精品 | 精品乱子伦一区二区三区 | 婷婷国产一区二区三区 | 91视频入口| 国产日韩一区二区三免费高清 | 麻豆精品国产91久久久久久 | a在线视频 | 五月综合色啪 | 在线观看电影av | 欧美寡妇偷汉性猛交 | 国产精品日日夜夜 | 久久亚洲春色中文字幕久久久 | 欧美中文字幕 | 精品久久久久香蕉网 | 精品乱人伦一区二区三区 | 国产精品区二区三区日本 | 男女下面一进一出网站 |