技術乾貨:ASP.net mvc面試32題附答案

陝西優就業發表於2019-12-06

  今天,陝西優就業小編想給大家分享一篇總結的ASP.net mvc的面試題。希望能幫助到即將進入職場的同學們。

  第1題:什麼是ASP.net mvc?

  這是一個網路應用的開發框架。輕量型的,很容易測試的一個框架。它把整個應用程式分成三個元件: model view controller.

  第2題:解釋一下model view controller。

  Model是資料模型,用來表示應用中我們使用的資料。

  Controller處理各種使用者請求,並且把使用者重定位到view。

  View就是我們使用者能看到的那一層。

  第3題:解釋一下mvc 4的新的功能。

  ①非同步control的處理。

  ②JavaScript Bundling.

  ③配置方法的分離。Mvc路徑,web API和bundle。

  ④移動端的模板支援。

  ⑤Rest API service的模板支援。

  第4題:在建立一個路徑的時候,我們需要哪些元件?

  首先是路徑名字。

  其次是路徑的url。

  再一個就是defaults。當被呼叫的時候,在某個controller裡面需要被呼叫的那個action連同引數。

  第5題:mvc對ASP.net的好處在哪裡?

  ①提供非常清晰的成績管理,像ui層,也就是view, 資料層model和管理層controller。

  ②單元測試比較容易。

  ③改善了資料模型和檢視的重用性。

  ④程式碼的結構更加最佳化。

  第6題:什麼是separation of concerns?

  是一個分解的過程。把一個大的功能分解成幾個小的功能,幾個小功能之間重疊性非常低。對於mvc來說,比較關心從演示層到資料處理分層。

  第7題:一個檢視是否能在多個controller中分享?

  是的,可以。

  可以把這個檢視放在一個shared的資料夾裡面。當我們在建立一個新的mvc工程的時候,這個layout page就會被新增在分享的資料夾裡面因為他會被多個子頁面呼叫。

  第8題:unobstrusive JavaScript是什麼意思?

  這個javascript的意思是說不會把JavaScript內嵌到你的頁面的標記裡面。

  第9題:view model在mvc中的作用是什麼?

  Viewmodel是一個通常的類,有很多屬性它可以繫結到檢視上。它也可以透過屬性來設定一些驗證的規則。

  第10題:Mvc中的路徑是幹什麼的?

  路徑主要有兩個部分,一個是路徑的那個字串,還有一個是它的處理函式。透過搜尋這個路徑以及對應的請求方法,然後找到對應的處理函式。

  第11題:Mvc中的actions是什麼?

  Actions是controller裡面的方法,主要處理兩部分內容,一個是檢視,另外一個是json資料。它的返回值型別是action result,是透過invoke action這個方法來呼叫。

  第12題:什麼是屬性路徑?

  屬性路徑可以定義在controller層級或者是action層級。從mvc 5 才開始有的。

  第13題:如何啟用屬性路徑?

  在registerRoutes裡面新增map mvc attribute routes就可以啟用屬性路徑。

  第14題:什麼是json binding?

  從mvc3開始,使用json value provider factory來支援json binding. 允許action方法接收和繫結json型別的資料。這一點在向伺服器傳送資料的時候非常有用。

  第15題:解釋一下dependency resolution.

  這個主要是來做dependency injection,這樣可以使得程式碼耦合性非常低,可以更容易的進行測試。

  第16題:解釋一下mvc4中的bundle.config.

  這個檔案主要是用來註冊一些非常有用的程式庫像jquery。

  第17題:在dot net mvc中,路徑表是如何建立的?

  RegusterRoutes用來註冊各種路徑,這個方法會在application start方法中被呼叫,這個方法存在於global.asax檔案裡面。在程式啟動的時候,會被呼叫。

  第18題:為什麼使用"{resource}.asd/{*pathinfo}"?

  這樣做主要是為了防止網路資原始檔,比如web resource.asd,或者script resource.asd,被傳送到一個controller上。

  第19題:什麼是view data?

  view data,是一個資料字典,有key和value,從view data dictionary派生出來的,在action方法中,我們可以設定viewdata的值,在檢視中,我們可以獲取這些值。

  第20題:view bag 和 view data之間的區別是什麼?

  view bag是view data的一個擴充套件。擴充套件以後可以建立動態的屬性。這樣的好處有:不需要進行型別的轉換。我們可以使用dynamic關鍵字。

  但是有一個缺點就是view bag要比view data慢一些。

  第21題:解釋一下temp data。

  是從temp data dictionary派生出來的,跟view data很類似,它也是key和value的對組合。它主要用在兩個請求的互動當中,它們可能是兩個actions或者兩個controllers。它在檢視中使用的時候需要型別轉換。

  第22題:什麼是html Helpers?

  Html helpers相當於在傳統的web form中的控制元件。但是它更輕量級, 不會儲存試圖的狀態和事件。

  它返回html字串,它可以直接被顯示的網頁上。從html helper時派生可以自定義html helpers。

  第23題:什麼是ajax helpers?

  它是用來對網頁表格進行進一步請求的機制,它的擴充套件方法存在於System.Web.Mvc。

  第24題:有哪些配置ajax helper的選項?

  Url, 這是請求的連結。

  Confirm這個是用來指定顯示的確認訊息。

  On begin這個方法是在ajax請求之前被呼叫。

  On Complete, 這個方法會在ajax請求之後被呼叫。

  On success當ajax請求成功時,這個方法會被呼叫。

  On failure, 當ajax請求失敗時,這個方法會被呼叫。

  Update trigger ID.在action返回的html中會存在目標元素, 這個ID就是對應這個元素的。

  第25題:解釋一下render body和render page。

  render body就相當於在網頁表格中的content place holder。它存在於layout頁面當中,一個layout頁面只有一個render body。而在一個layout頁面當中可以有多個render page.

  第26題:什麼是view start page?

  這個頁面是用來製作通用的layout頁面,它可以被多個檢視使用,在這個檔案裡的程式碼,會在程式載入的時候首先被執行。

  第27題:解釋一下顯示檢視的方法。

  View在action中返回的是一個檢視。

  Partial view, 它是在action中返回一部分檢視。

  Redirect to action.它是用來重定向到不同的action裡面,它可以在一個controller裡面也可以在不同的controller裡面。

  第28題:如何改變action的名字?

  可以使用action name屬性來改變action的名字。

  [actionname("testactionview")]

  第29題:什麼是validation anotations?

  資料anotations存在於system.componentmodel.data .anotations. 它可以用作伺服器端的驗證也可以用作客戶端的驗證。有4個屬性一個是required,一個是string length,一個是regular expression,一個是range。

  第30題:為什麼要使用html.partial?

  這個方法用來顯示html string指定的某塊檢視。

  html.partial("testpartialview")

  第31題:什麼是html.Renderpartial?

  這個方法向response裡面寫入資料的。沒有任何返回值。

  @{html.renderpartial("testpartialview")}

  第32題:什麼是scaffold模板?

  用來生成controller,model,views,對應的是create,read,,,這些功能操作。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69902581/viewspace-2667186/,如需轉載,請註明出處,否則將追究法律責任。

相關文章