1. 程式人生 > 其它 >C#.NET面試題彙總系列七:ADO.NET,XML,HTTP,AJAX,WebService

C#.NET面試題彙總系列七:ADO.NET,XML,HTTP,AJAX,WebService

C#.NET面試題彙總系列七:ADO.NET,XML,HTTP,AJAX,WebService

1. ADO.NET中有哪些物件

  • Connection連線物件
  • Command執行命令和儲存過程
  • DataReader向前只讀的資料流
  • DataAdapter介面卡,支援增刪查詢
  • DataSet資料級物件,相當與記憶體裡的一張或多張表

2. DataReader與Dataset有什麼區別?

一個是隻能向前的只讀遊標,一個是記憶體中虛擬的資料庫

3. ExecuteScalar 和 ExecuteNonQuery 的區別?

ExecuteNonQuery:返回受影響的行數

ExecuteScalar:返回結果集的第一行第一列,忽略其他行

4. 什麼是SQL注入,應該如何防止?

利用sql關鍵字對網站進行攻擊,用引數化的SQL就可以避免SQL注入

5. 何時建立連線池?

當第一個連線請求到來時建立連線池;連線池的建立由資料庫連線的連線字元創來決定。每一個連線池都與一個不同的連線字串相關。當一個新的連線請求到來時如果連線字串和連線池使用的字串相同,就從連線池取出一個連線;如果不相同,就新建一個連線池

6. 何時關閉連線池?

當連線池中的所有連線都已經關閉時關閉連線池

7. 當連線池中的連線都已經用完,而有新的連線請求到來時會發生什麼?

當連線池已經達到它的最大連線數目時,有新的連線請求到來時,新的連線請求將放置到連線佇列中。當有連線釋放給連線池時,連線池將新釋放的連線分配給在佇列中排隊的連線請求

8. 什麼是XML?

XML即可擴充套件標記語言

9. XML與 HTML 的主要區別?

XML是區分大小寫字母的,HTML不區分

在HTML中,如果上下文清楚地顯示出段落或者列表鍵在何處結尾,那麼你可以省略,在XML中,擁有單個標記而沒有匹配的結束標記的元素必須用一個 / 字元作為結尾

在XML中,屬性值必須分裝在引號中。在HTML中,引號是可用可不用的

在HTML中,可以擁有不帶值的屬性名。在XML中,所有的屬性都必須帶有相應的值

10. 列舉一下你所瞭解的XML技術及其應用

xml用於配置,用於儲存靜態資料型別.接觸XML最多的是web Services..和config

11. 什麼是SOAP,有哪些應用?

SOAP,簡單物件接受協議,以xml為基本編碼結構,建立在已有通訊協議上(如http)的一種規範WebService使用的協議

12. 說說RESTful是什麼

是一種網路應用程式的設計風格和開發方式,基於HTTP,可以使用XML格式定義或JSON格式定義

13. 什麼是WebService?

Web Service便是基於網路的、分散式的模組化元件,它執行特定的任務,遵守具體的技術規範,這些規範使得Web Service能與其他相容的元件進行互操作

14. 談談WebApi/WebService/WCF三者的特點

Web Service:

1、它是基於SOAP協議的,資料格式是XML  

2、只支援HTTP協議  

3、它不是開源的,但可以被任意一個瞭解XML的人使用  

4、它只能部署在IIS上 

WCF  

1、這個也是基於SOAP的,資料格式是XML  

2、這個是Web Service(ASMX)的進化版,可以支援各種各樣的協議,像TCP,HTTP,HTTPS,Named Pipes, MSMQ.  

3、WCF的主要問題是,它配置起來特別的繁瑣  

4、它不是開源的,但可以被任意一個瞭解XML的人使用  

5、它可以部署應用程式中或者IIS上或者Windows服務中 

Web API: 

1、這是一個簡單的構建HTTP服務的新框架  

2、在.net平臺上Web API 是一個開源的、理想的、構建REST-ful 服務的技術  

3、不像WCF REST Service.它可以使用HTTP的全部特點(比如URIs、request/response頭,快取,版本控制,多種內容格式)  

4、它也支援MVC的特徵,像路由、控制器、action、filter、模型繫結、控制反轉(IOC)或依賴注入(DI),單元測試。這些可以使程式更簡單、更健壯  

5、它可以部署在應用程式和IIS上  

6、這是一個輕量級的框架,並且對限制頻寬的裝置,比如智慧手機等支援的很好  

7、Response可以被Web API的MediaTypeFormatter轉換成Json、XML 或者任何你想轉換的格式

15. 什麼是 XSS 攻擊,如何避免?

XSS 攻擊:即跨站指令碼攻擊,它是 Web 程式中常見的漏洞

原理是攻擊者往 Web 頁面裡插入惡意的指令碼程式碼(css 程式碼、Javascript 程式碼等),當用戶瀏覽該頁面時,嵌入其中的指令碼程式碼會被執行,從而達到惡意攻擊使用者的目的,如盜取使用者 cookie、破壞頁面結構、重定向到其他網站等

預防 XSS 的核心是必須對輸入的資料做過濾處理

16. 什麼是 CSRF 攻擊,如何避免?

CSRF:跨站請求偽造,可以理解為攻擊者盜用了你的身份,以你的名義傳送惡意請求,比如:以你名義傳送郵件、發訊息、購買商品,虛擬貨幣轉賬等。

防禦手段:驗證請求來源地址; 關鍵操作新增驗證碼; 在請求地址新增 token 並驗證

到達勝利之前無法回頭!