ASP net core的面試題20道
?
大家好,這一期呢蓬衡,我們來說一下ASP net core的面試喻杈。
第1題,什么是ASP net core?
首先ASP net core不是 asp net的升級版本狰晚。它遵循了dot net的標(biāo)準(zhǔn)架構(gòu)筒饰, 可以運(yùn)行于多個(gè)操作系統(tǒng)上。它更快壁晒,更容易配置瓷们,更加模塊化,可擴(kuò)展性更強(qiáng)。
第2題谬晕,asp dot core有哪些好的功能碘裕?
第一是依賴注入。
第二是日志系統(tǒng)架構(gòu)攒钳。
第三是引入了一個(gè)跨平臺的網(wǎng)絡(luò)服務(wù)器帮孔,kestrel∠ν妫可以沒有iis, apache和nginx就可以單獨(dú)運(yùn)行你弦。
第四是可以使用命令行創(chuàng)建應(yīng)用。
第五是使用APP settings json file來配置工程燎孟。
第六是使用start up來注冊服務(wù)禽作。
第七是更好的支持異步編程。
第八是支持web socket和signal IR揩页。
第九是對于跨網(wǎng)站的請求的預(yù)防和保護(hù)機(jī)制旷偿。
第3題,dot net core跟dot net比較有哪些更好的地方爆侣?
第一是跨平臺萍程,它可以運(yùn)行在三大操作系統(tǒng)上面,windows兔仰, Linux和MAC茫负。
第二是對架構(gòu)本身安裝沒有依賴,因?yàn)樗械囊蕾嚩几绦虮旧碓谝黄稹?/p>
第三是dot net core處理請求的效率更高乎赴,能夠處理更多的請求忍法。
第四是dot net core有更多的安裝配置方法。
第4題什么是meta packages榕吼?
Meta packages是指包含所有ASP dot net code依賴的一個(gè)包饿序。叫做Microsoft.AspNetCore
第5題,don net core應(yīng)用能夠跟dot net 4.x架構(gòu)一起工作嗎羹蚣?
可以原探。Dot net core應(yīng)用可以跟標(biāo)準(zhǔn)的dot net 庫一起工作。
第6題顽素,什么是dot net core的startup class咽弦?
Startup class是dot net core應(yīng)用的入口。所有的dot net core應(yīng)用必須有這個(gè)class胁出。這個(gè)類用來配置應(yīng)用型型。這個(gè)類的調(diào)用是在program main函數(shù)里面進(jìn)行配置的。類的名字可以自己定義划鸽。
第7題, Startup class的config service方法有什么作用?
在這個(gè)方法里我們可以添加一些service進(jìn)入依賴注入容器输莺。
第8題戚哎,startup class的configure方法有什么作用?
這個(gè)方法來定義整個(gè)應(yīng)用如何響應(yīng)HTTP請求嫂用。它有幾個(gè)比較重要的參數(shù)型凳,application builder,Hosting environment, logo factory嘱函, 在這里我們可以配置一些中間件用來處理路徑甘畅,驗(yàn)證和session等等。
第9題往弓,什么是中間件疏唾?
中間件在這里是指注入到應(yīng)用中處理請求和響應(yīng)的組件。
第10題函似,application builder的use和run方法有什么區(qū)別槐脏?
這兩個(gè)方法都在start up class的configure方法里面調(diào)用。都是用來向應(yīng)用請求管道里面添加中間件的撇寞。Use方法可以調(diào)用下一個(gè)中間件的添加顿天,而run不會。
第11題蔑担,dot net core 管道里面的map拓展有什么作用?
可以針對不同的路徑添加不同的中間件牌废。
第12題,dot net core里面的路徑是如何處理的啤握?
路徑處理是用來為進(jìn)入的請求尋找處理函數(shù)的機(jī)制鸟缕。所有的路徑在函數(shù)運(yùn)行開始時(shí)進(jìn)行注冊。
主要有兩種路徑處理方式排抬, 常規(guī)路徑處理和屬性路徑處理懂从。常規(guī)路徑處理就是用MapRoute的方式設(shè)定調(diào)用路徑,屬性路徑處理是指在調(diào)用函數(shù)的上方設(shè)定一個(gè)路徑屬性畜埋。
第13題莫绣,如何在dot net core中激活session功能?
首先要添加session包. 其次要在config service方法里面添加session畴蒲。然后又在configure方法里面調(diào)用usesession悠鞍。
第14題,dot net core工程里面有多少個(gè)工程文件?
global, launch setting模燥,app settings咖祭,bundle config,bower, package蔫骂。
第15題么翰,什么是dot net core里面的tag helper?
Tag helper用來在服務(wù)器端使用Razor視圖引擎創(chuàng)建html元素的。
第16題辽旋, 如何使tag helper在元素這一層上失效?
使用嘆號浩嫌。
第17題檐迟,什么是Razor頁面?
是dot net core中支持ASP網(wǎng)頁表格的一種開發(fā)模型。@page 作為頁面的起始標(biāo)志码耐。
第18題追迟,如何在Razor頁面中實(shí)現(xiàn)數(shù)據(jù)模型綁定?
使用bindproperty屬性。
第19題, 如何在controller中注入service?
在config services方法中配置這個(gè)service骚腥。
在controller的構(gòu)造函數(shù)中敦间,添加這個(gè)依賴注入。
第20題束铭,描述一下依賴注入后的服務(wù)生命周期?
在dot net core中廓块,我們不需要關(guān)心如何釋放這些服務(wù), 因?yàn)橄到y(tǒng)會幫我們釋放掉。有三種服務(wù)的生命周期契沫。
單實(shí)例服務(wù)带猴, 通過add singleton方法來添加。在注冊時(shí)即創(chuàng)建服務(wù), 在隨后的請求中都使用這一個(gè)服務(wù)懈万。
短暫服務(wù), 通過add transient方法來添加浓利。是一種輕量級的服務(wù),用于無狀態(tài)服務(wù)的操作钞速。
作用域服務(wù)贷掖,一個(gè)新的請求會創(chuàng)建一個(gè)服務(wù)實(shí)例。使用add scoped方法來添加渴语。
碼字不易苹威,請不吝點(diǎn)贊, 隨手關(guān)注,更多精彩驾凶,自動送達(dá)牙甫。