<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          金三銀四面試:C#.NET面試題 基礎(chǔ)篇5

          共 2800字,需瀏覽 6分鐘

           ·

          2022-04-03 10:29


          1.Webservice與Webapi的區(qū)別?

          2.ADO.NET常用對象有哪些?

          3.什么是托管和非托管?

          4.在.NET托管代碼總我們不必?fù)?dān)心內(nèi)存泄漏,這是因?yàn)橛辛耍?/a>

          5.什么是MVC模式

          6.能用foreach遍歷訪問的對象的要求

          7.什么是反射?

          8.ORM中的延遲加載與直接加載有什么異同?

          9.簡述Func與Action的區(qū)別?

          10.23種設(shè)計(jì)模式分別叫什么名稱,如何分類?


          1.Webservice與Webapi的區(qū)別?

          Webservice

          它是基于SOAP協(xié)議的,數(shù)據(jù)格式是XML (SOAP )

          只支持HTTP協(xié)議

          不是開源的,但可以被任意一個(gè)了解XML的人使用

          它只能部署在IIS上

          Webapi

          Web API 是一個(gè)開源的、理想的、構(gòu)建REST-ful 服務(wù)的技術(shù)

          它也支持MVC的特征,像路由、控制器、action、filter等

          它可以部署在應(yīng)用程序和IIS上

          Response可以被Web API的MediaTypeFormatter轉(zhuǎn)換成Json、XML 或者任何你想轉(zhuǎn)換的格式。

          --->詳解


          2.ADO.NET常用對象有哪些? ? ? ? ? ? ? ? ? ? ? ?

          Connection:主要是開啟程序和數(shù)據(jù)庫之間的連接。沒有利用連接對象將數(shù)據(jù)庫打開,是無法從數(shù)據(jù)庫中取得數(shù)據(jù)的。Close和Dispose的區(qū)別,Close以后還可以O(shè)pen,Dispose以后則不能再用。

          Command:主要可以用來對數(shù)據(jù)庫發(fā)出一些指令,例如可以對數(shù)據(jù)庫下達(dá)查詢、新增、修改、刪除數(shù)

          據(jù)等指令,以及調(diào)用存在數(shù)據(jù)庫中的存儲(chǔ)過程等。這個(gè)對象是架構(gòu)在Connection 對象上,也就是Command 對象是通過在Connection對象連接到數(shù)據(jù)源。

          DataAdapter:主要是在數(shù)據(jù)源以及DataSet 之間執(zhí)行數(shù)據(jù)傳輸?shù)墓ぷ鳎梢酝高^Command 對象下達(dá)命令后,并將取得的數(shù)據(jù)放入DataSet 對象中。這個(gè)對象是架構(gòu)在Command對象上,并提供了許多配合DataSet 使用的功能。

          DataSet:這個(gè)對象可以視為一個(gè)暫存區(qū)(Cache),可以把從數(shù)據(jù)庫中所查詢到的數(shù)據(jù)保留起來,甚至可以將整個(gè)數(shù)據(jù)庫顯示出來,DataSet是放在內(nèi)存中的。DataSet 的能力不只是可以儲(chǔ)存多個(gè)Table 而已,還可以透過DataAdapter對象取得一些例如主鍵等的數(shù)據(jù)表結(jié)構(gòu),并可以記錄數(shù)據(jù)表間的關(guān)聯(lián)。

          DataSet 對象可以說是ADO.NET 中重量級的對象,這個(gè)對象架構(gòu)在DataAdapter對象上,本身不具備和數(shù)據(jù)源溝通的能力;也就是說我們是將DataAdapter對象當(dāng)做DataSet 對象以及數(shù)據(jù)源間傳輸數(shù)據(jù)的橋梁。DataSet包含若干DataTable、DataTableTable包含若干DataRow。

          DataReader:當(dāng)我們只需要循序的讀取數(shù)據(jù)而不需要其它操作時(shí),可以使用DataReader 對象。

          DataReader對象只是一次一次向下循序的讀取數(shù)據(jù)源中的數(shù)據(jù),這些數(shù)據(jù)是存在數(shù)據(jù)庫服務(wù)器中的,而不是一次性加載到程序的內(nèi)存中的,只能(通過游標(biāo))讀取當(dāng)前行的數(shù)據(jù),而且這些數(shù)據(jù)是只讀的,并不允許作其它的操作。因?yàn)镈ataReader 在讀取數(shù)據(jù)的時(shí)候限制了每次只讀取一條,而且只能只讀,所以使用起來不但節(jié)省資源而且效率很好。

          --->詳解


          3.什么是托管和非托管?

          托管代碼:是由公共語言運(yùn)行庫(CLR)執(zhí)行的代碼,而不是由操作系統(tǒng)直接執(zhí)行。有關(guān)內(nèi)存管理(內(nèi)存申請,內(nèi)存釋放,垃圾回收之類的)全部都是.net的CLR來管理。

          非托管代碼:直接編譯成目標(biāo)計(jì)算機(jī)碼,由操作系統(tǒng)直接執(zhí)行的代碼,內(nèi)存回收要繼承IDisposable接口手動(dòng)回收。

          --->詳解


          4.在.NET托管代碼總我們不必?fù)?dān)心內(nèi)存泄漏,這是因?yàn)橛辛耍?/strong>? ? ?

          GC 垃圾收集器。

          ?

          5.什么是MVC模式?? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

          MVC(Model View Controller)模型-視圖-控制器

          在MVC項(xiàng)目里cshtml就是View視圖;Model:DataSet、Reader、對象;Controller:CS邏輯代碼。

          MVC是典型的平行關(guān)系,沒有說誰在上誰在下的關(guān)系,模型負(fù)責(zé)業(yè)務(wù)領(lǐng)域的事情,視圖負(fù)責(zé)顯示的事情,控制器把數(shù)據(jù)讀取出來填充模型后把模型交給視圖去處理。而各種驗(yàn)證什么的應(yīng)該是在模型里處理了。它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開。MVC最大的好處是將邏輯和頁面分離。

          --->詳解???


          6.能用foreach遍歷訪問的對象的要求? ? ? ? ? ? ? ??

          需要實(shí)現(xiàn)IEnumerable接口或聲明GetEnumerator方法的類型。

          --->詳解


          7.什么是反射? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

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

          --->詳解


          8.ORM中的延遲加載與直接加載有什么異同?? ? ? ? ? ? ? ?

          延遲加載(Lazy Loading)只在真正需要進(jìn)行數(shù)據(jù)操作的時(shí)候再進(jìn)行加載數(shù)據(jù),可以減少不必要的開銷。

          --->詳解


          9.簡述Func與Action的區(qū)別?? ? ? ? ? ? ? ? ? ? ? ??

          Func是有返回值的委托,Action是沒有返回值的委托。

          --->詳解


          10.23種設(shè)計(jì)模式分別叫什么名稱,如何分類? ? ? ? ? ?

          分三類:

          創(chuàng)建型,行為型,結(jié)構(gòu)型;

          創(chuàng)建型包含

          1).單例模式,2).工廠模式 3).建造者模式? 4).原型模式? 5).工廠方法模式

          行為型包含

          1).策略模式

          2).模板方法模式

          3).觀察者模式

          4).迭代子模式

          5).責(zé)任鏈模式

          6).命令模式

          7).備忘錄模式

          8).狀態(tài)模式

          9).訪問者模式

          10).中介者模式

          11).解釋器模式

          結(jié)構(gòu)型設(shè)計(jì)模式包含:

          1).適配器模式

          2).裝飾器模式

          3).代理模式

          4).外觀模式

          5).橋接模式

          6).組合模式

          7).享元模式


          版權(quán)申明:本文來源于網(wǎng)友收集或網(wǎng)友提供,僅供學(xué)習(xí)交流之用,如果有侵權(quán),請轉(zhuǎn)告版主或者留言,本公眾號立即刪除。


          支持小微:

          299元購買5000+的.NET架構(gòu)課程,還送初級、中級課程!

          騰訊云 爆款2核2G云服務(wù)器首年40,2G4核云服務(wù)器298元/3年

          鏈接:https://curl.qcloud.com/1VVs7OBH


          右下角,您點(diǎn)一下在看圖片c1e06e529a72a828317d998a90fda8f0.webp

          小微工資漲1毛

          商務(wù)合作QQ:185601686





          瀏覽 21
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产精品久久久久久久久绿色 | 亚洲无码视频播放 | 中文字幕在线官网 | 就是干就是操 | 日本黄色免费在线观看 |