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

任何一個使用.NET的人
1) 描述線程與進程的區(qū)別? 線程(Thread)與進程(Proc " /> 久久精品国产午夜伦班片,久久精品久精品99热,波野结衣qvod

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

對一些面試題的回答

此文中所提到的面試題是園子中Tony Qu兄弟翻譯過來的,特此感謝

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


任何一個使用
.NET的人


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

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

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

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

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

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

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

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

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

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

6)  單個TCP/IP端口上能夠被多少個進程偵聽?

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

端口復(fù)用

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

1)  闡述面向接口、面向?qū)ο蟆⒚嫦蚍矫婢幊痰膮^(qū)別

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

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

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

3)  什么是反射?

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

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

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

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

不清楚 

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

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

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

動態(tài)

8)  何時使用Assembly.LoadFrom?何時使用Assembly.LoadFile

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

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

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

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

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

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

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

12)  DateTime是否可以為null?

不能,因為其為Struct類型,而結(jié)構(gòu)屬于值類型,值類型不能為null,只有引用類型才能被賦值null

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

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

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

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

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

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

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

列出所有使用了以" mscor"作為開頭的dll或者exe的進程和模塊信息

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

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

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

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

19) ASP.NETWindows XP, Windows 2000, Windows 2003上分別跑在哪個進程里面?

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

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

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

主站蜘蛛池模板: 亚洲欧美日韩另类精品一区二区三区 | 亚洲中文字幕乱倫在线 | 中文字幕成人在线观看 | 久久re热线视频精品99 | bl肉yin荡受np各种play | 在线中文高清资源免费观看 | 国产免费看黄的私人影院 | 免费看午夜高清性色生活片 | 极品网红液液酱粉嫩福利照子凌酱 | 果冻传媒MV免费播放在线观看 | 日本精品在线观看视频 | 国产精品综合AV一区二区国产馆 | 猛烈抽插H1V1 | 添加一点爱与你电视剧免费观看 | 一本色道久久综合亚洲精品蜜桃冫 | 中国午夜伦理片 | 777精品久无码人妻蜜桃 | 538视频这里只有精品 | 丰满人妻妇伦又伦精品APP国产 | 九九热精品免费观看 | 欧美精品做人一级爱免费 | 久久99re66热这里只有精品 | 伦理片秋霞免费影院 | 国产学生在线播放精品视频 | 伊人青青草原 | 亚洲一区自拍高清亚洲精品 | 91国内精品久久久久免费影院 | 十分钟免费观看高清视频大全 | 9位美女厕所撒尿11分 | 果冻传媒2021精品影视 | 97国内精品久久久久久久影视 | 三八成人网 | 美女与男人对肌免费网站 | 久久五月综合婷婷中文云霸高清 | RUNAWAY韩国动漫免费官网版 | 欧美大片免费观看 | 熟女人妻水多爽中文字幕 | 99香蕉精品视频在线观看 | 披黑人猛躁10次高潮 | 久久中文字幕人妻熟AV女蜜柚M | 国产伦精品一区二区三区免费 |