首頁  >  文章  >  後端開發  >  asp .net 面試問題及答案分享

asp .net 面試問題及答案分享

零下一度
零下一度原創
2017-06-23 15:04:123372瀏覽

1,ref 和out 的區別

2,有三個a 標籤沒有id,沒有name,沒有class 如何選取第二個a 標籤,用jquert  選擇

#
<a href ="#这是第一个" </a>
<a href ="#这是第二个"> </a>
<a href ="#这是第三个"> </a>

<script>$(function){
$("a:eq(1)").attr("href");
}</script>
View Code

 

3,集合,泛型集合和陣列有何不同

4, string 和stringbuilder 有什麼區別

     string 物件是不可改變的,每次使用string 類別時,都要在記憶體中建立一個新的字串對象,這就需要為該物件分配一個新的空間, stringbuilder 在做字串的連接操作時是在原來的字串上進行修改,改善了效能!

簡單一點講,string 是不可變長的, stringbuilder 是可變長的。

5,webapi,webservice 和 wcf 有什麼差別?為什麼要用webapi

6,程式碼如何最佳化

7,資料庫如何最佳化,如何最佳化查詢?

8,假如有兩個人在同時操作一條數據,你怎麼處理?

9,快取知道嗎?怎麼用的?

    快取是一種用空間換取時間的技術,通俗點也就是說把你得到的資料存放在記憶體中一段時間,在這短時間內伺服器不去讀取資料庫、或是真實的資料來源,而是讀取你儲存在記憶體中的資料

#  # asp.net中的緩存主要分為:頁面緩存,資料來源緩存,自訂資料緩存這三種主要類型。

   資料快取:將一些耗費時間的條目加入到一個物件快取集合中,以鍵值的方式儲存。我們可以透過使用Cache.Insert()方法來設定快取的過期,優先權,依賴項等。

   具體實作參考

10,全域例外處理是怎麼處理的? 你們是怎麼捕捉的?

透過webconfig customErrors 節點處理異常

#
  <system.web>
<!--添加customErrors节点 定义404跳转页面-->
 <customErrors mode="On">
      <error statusCode="404" redirect="/Error/Path404" />
    </customErrors>
 </system.web>
View Code
########

捕捉異常的幾種方法

    1.透過HttpModule來捕捉未處理的例外【建議】

#    2.Global中擷取未處理的例外

    3.頁面層級的例外擷取

# 特定程式碼參考

11,怎麼知道我這個使用者是否已經登入了?

驗證使用者是否登入的邏輯:

          1)使用者密碼登入時,請在背景的req中記住session.

            2)如果使用者儲存登入密碼,請記住cookie,否則將目前使用者的cookie設定為空白;

        

#        

#       請求時,進行狀態檢定:

               session是否存在?若有,則繼續進行請求操作,並將session的有效時間重新設定一次;

                          若不存在,則判斷cookie是否存在?若存在,使用該cookie完成自動登入完成了一次1);

                                              若不存在,且頁面已重新導向至登入頁面。
   

簡單一點回答: 可以用Session來判斷,因為一般來說你每個使用者的登陸資訊,你都要存進Session裡面

#   只要Session的值是空的或已經失效,那麼就可以說用戶已經退出了!!

12,反射是什麼? 在專案中的應用?
   反射是動態取得組件。
   反射: Reflection
1) 基底類別呼叫衍生類別時候用
2)在執行時才決定要呼叫哪個類別的時候用
3)在運行期  取得模組組件類別建構函數屬性方法的資訊以及實例化類,
    呼叫建構函數,屬性,方法,事件,委託等等…透過對型別動態實例化後,還可以用反射對其執行操作

4)如果在寫程式碼的時候就能確定要呼叫的是哪個類,那直接呼叫當然好了。

   但很多場合(也許是為了通用性),要在運行期才能夠決定需要調用的類型,那樣就有必要用反射來獲取類型的相關信息了

簡單來說就是用string可以在runtime為所欲為的東西,其實就是一個.net framework內建的萬能工廠

13,高並發如何處理?  14,npoi是什麼? 如任何使用      用 NPOI 你就可以在沒有安裝 Office 或對應環境的機器上對 WORD/EXCEL 文件進行讀寫。 NPOI是構建在POI 3.x

版本之上的,它可以在沒有安裝

Office

的情況下對
Word/Excel文檔進行讀寫操作。
      (二)使用
NPOI
的優點##   1、您可以完全免費使用該框架
#   2、包含了大部分EXCEL的特性(儲存格樣式、資料格式、公式等)
#########   3、專業的技術支援服務(24 *7全天候) (非免費)######
   4.支援處理的檔案格式包括xls, xlsx, docx.
5.採用以介面為導向的設計架構( 可以查看NPOI.SS 的命名空間)
   6、同時支援檔案的匯入和匯出
#   7、基於.net 2.0 也支援xlsx 和docx格式(當然也支援.net 4.0)
   8、來自全世界大量成功且真實的測試Cases
   9、大量的實例代碼
   11、你不需要在伺服器上安裝微軟的Office,可以避免版權問題。
   12、使用起來比Office PIAAPI更方便,更人性化。
   13、你不用去花大力氣維護NPOINPOI Team會不斷更新、改善NPOI,絕對省成本。
   14、不僅僅對與Excel可以進行操作,對於doc、ppt檔也可以做對應的操作
  使用案例 :參考部落格花園網址:
 
 
#######

 

15,頁間的幾種傳值方式?

 

16,json 傳送資料的格式,如果傳遞的是一組資料又是什麼格式?

json 傳遞的資料是以鍵/值方式傳遞的  例如:{ "firstName": "Brett" }

 如果傳遞的是一組數據,格式如下! !

{ "people": [

{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },

{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},

{ "firstName": "Elliotte", "lastName":"Harold ", "email": "cccc" }

]}

17,什麼是資料庫鎖,有哪些鎖? 作用是什麼?如何使用?

18,事務是什麼?什麼時候用到事務?事務的好處和弊端?

19.什麼是依賴注入,什麼時候使用,使用的好處是什麼?

20,socket 通訊是什麼?

21,訊息隊列是什麼?

     推薦一個 非常不錯的博客,

22,ajax 的工作原理是什麼?

ajax的原理
  XMLHttpRequest是ajax的核心機制,它是在IE5中首先引入的,是一種支援非同步請求的技術。簡單的說,也就是javascript可以及時向伺服器提出請求和處理回應,而不阻塞使用者。達到無刷新的效果。我們可以把伺服器端看成一個資料接口,它回傳的是一個純文字流,當然,這個文字流可以是XML格式,可 以是Html,可以是Javascript程式碼,也可以只是一個字串。這時候,XMLHttpRequest向伺服器端請求這個頁面,伺服器端將文字的結果寫入頁面,這和普通的web開發流程是一樣的,不同的是,客戶端在非同步取得這個結果後,不是直接顯示在頁面,而是先由javascript來處理,然後再顯示在頁面。至於現在流行的許多ajax控件,例如magicajax等,可以返回DataSet等其它資料類型,只是將這個過程封裝了的結果,本質上他們並沒有什麼太大的區別

## 

23,ORM 是什麼?

      ORM,即Object-Relational Mapping(物件關係映射),它的作用是在關係型資料庫和業務實體物件之間作一個映射,這樣,我們在具體的操作業務物件的時候,就不需要再去和複雜的SQL語句打交道,只需要簡單的操作物件的屬性和方法。

  大型的orm 框架有EF、NHibernate ,目前為止我只接觸過EF,具體的EF 的優缺點 再以後總結了! !

   

24,資料庫行轉列,列轉行

25,資料庫查詢最佳化怎麼處理?

26,convert.toint32 和 int,parce 有什麼不同?

  Convert.ToInt32將object類別型別轉換成int型別

  int.Parse適合將string類別型別轉換成int型別

(1)Convert.ToInt32的參數比較多,Int.Parse只能轉換string類型的.
(2)Parse就是把String轉換成int,char,double ....等,也就是*.Parse(string) 括號中的一定要是string.。

27,簡述javascript中的「=、==、===」的差別?

=賦值

#==比較是否一般相等  "3"==3 //會做型別的隱式轉換,true

===比較是否嚴格相等"3"===3 //先比較型別,再進行值比較,false

 

28、看下列程式碼輸出為何?解釋原因
var a = null;
alert(typeof a); 
var b;
alert(typeof b);
#alert(c);

#a為null,也是一個對象,所以typeof(a)為object.

b只有宣告沒有初始化,因此typeof(b)為undefined.

#c沒有定義,因此alert(c)會出現error.

#29、寫javascript程式碼實作把兩個數字組合並,並刪除第二個元素。

合併js陣列用concat方法,array1.concat(array2)。

刪除元素用splice方法,splice(1,1),函數原型splice(index,count),指從陣列索引1處開始刪除1個元素,即刪除第二個元素。

30、簡述a.Equals(b)和a==b的差別?

Equals方法比較內容(值是否相等),==比較引用位址(是否指向同一個物件)。

31、列舉ASP.NET MVC ActionResult的回傳值有幾種型別?

主要有View(視圖)、PartialView(部分視圖)、Content(內容)、Json(Json字串)、Javascript(js腳本)、File (文件)等幾種類型。

以上是asp .net 面試問題及答案分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn