ASP.NET筆試題淺析
ASP.NET筆試題會考察程序員的方方面面,那么什么樣的問題將會在面試中出現(xiàn)呢?
1.在C#中,string str = null 與 string str = “” 請盡量使用文字或圖象說明其中的區(qū)別。
string str = null 是不給他分配內存空間,而string str = “”給它分配長度為空字符竄的內存空間.
2.請詳述在dotnet中類(class)與結構(struct)的異同:(10分)
Class可以被實例化,屬于引用類型,是分配在內存的堆上的,Struct屬于值類型,是分配在內存的棧上的.
3.根據(jù)委托(delegate)的知識,請完成以下用戶控件中代碼片段的填寫:(10)
- namespace test
- {
- public delegate voidonDBOperate();
- public class UserControlBase : System.Windows.Forms.UserControl
- {
- public eventonDBOperateonNew;
- privatevoidtoolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonClickEventArgs e)
- {
- if(e.Button.Equals(BtnNew))
- {
- //請在以下補齊代碼用來調用OnDBOperate委托簽名的OnNew事件。
- }
- }
- }
- }
- __________________________________________
- if(onNew != null )
- OnNew( this, e );
4.分析以下代碼,完成填空(10分)
- string strTmp = "abcdefg某某某";
- int i= System.Text.Encoding.Default.GetBytes(strTmp).Length;
- int j= strTmp.Length;
以上代碼執(zhí)行完后,i= j= i還真的不知道, j=10
5.SQLSERVER服務器中,給定表 table1 中有兩個字段 ID、LastUpdateDate,ID表示更新的事務號, LastUpdateDate表示更新時的服務器時間,請使用一句SQL語句獲得最后更新的事務號。(10)
select top ID from table1 order by LastUpdateData desc
6.簡要談一下您對微軟.NET 構架下remoting和webservice兩項技術的理解以及實際中的應用。(10)
remoting是.net 中用來跨越machine, process, appdomain 進行方法調用的技術,對于三成結構的程序,就可以使用remoting技術來構建.它是分布應用的基礎技術.相當于以前的DCOM Web Service是一種構建應用程序的普通模型,并能在所有支持internet網(wǎng)通訊的操作系統(tǒng)上實施。Web Service令基于組件的開發(fā)和web的結合達到最佳,基于組件的對象模型。
7.什么叫做SQL注入,如何防止?請舉例說明。
利用sql關鍵字對網(wǎng)站進行攻擊。過濾關鍵字??等
所謂SQL注入(SQL Injection),就是利用程序員對用戶輸入數(shù)據(jù)的合法性檢測不嚴或不檢測的特點,故意從客戶端提交特殊的代碼,從而收集程序及服務器的信息,從而獲取想得到的資料。http://localhost/lawjia/show.asp?ID=444 and user>0,這時,服務器運行Select * from 表名 where 字段=444 and user>0這樣的查詢,當然,這個語句是運行不下去的,肯定出錯,錯誤信息如下:
·錯誤類型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC SQL Server Driver][SQL Server]
將 nvarchar 值 ??sonybb?? 轉換為數(shù)據(jù)類型為 int 的列時發(fā)生語法錯誤。
8.產(chǎn)生一個int數(shù)組,長度為100,并向其中隨機插入1-100,并且不能重復。
- int[] intArr=new int[100];
- ArrayList myList=new ArrayList();
- Random rnd=new Random();
- while(myList.Count<100)
- {
- int num=rnd.Next(1,101);
- if(!myList.Contains(num))
- myList.Add(num);
- }
- for(int i=0;i<100;i++)
- intArr=(int)myList;
9.請解釋ASP。NET中的web頁面與其隱藏類之間的關系?
一個ASP.NET頁面一般都對應一個隱藏類,一般都在ASP.NET頁面的聲明中指定了隱藏類例如一個頁面Tst1.aspx的頁面聲明如下 Codebehind="Tst1.aspx.cs" 表明經(jīng)編譯此頁面時使用哪一個代碼文件
Inherits="T1.Tst1" 表用運行時使用哪一個隱藏類
10.什么是viewstate,能否禁用?是否所用控件都可以禁用?
Viewstate是保存狀態(tài)的一種機制,EnableViewState屬性設置為false即可禁用
11.當發(fā)現(xiàn)不能讀取頁面上的輸入的數(shù)據(jù)時很有可能是什么原因造成的?怎么解決
很有可能是在Page_Load中數(shù)據(jù)處理時沒有進行Page的IsPostBack屬性判斷
12.請解釋什么是上下文對象,在什么情況下要使用上下文對象
上下文對象是指HttpContext類的Current 屬性,當我們在一個普通類中要訪問內置對象(Response,Request,Session,Server,Appliction等)時就要以使用此對象
13.請解釋轉發(fā)與跳轉的區(qū)別?
轉發(fā)就是服務端的跳轉A頁面提交數(shù)據(jù)到B頁面,B頁面進行處理然后從服務端跳轉到其它頁面
跳轉就是指客戶端的跳轉
14.請簡述一下用Socket進行同步通訊編程的詳細步驟
1)、在應用程序和遠程設備中使用協(xié)議和網(wǎng)絡地址初始化套接字
2)、在應用程序中通過指定端口和地址建立監(jiān)聽
3)、遠程設備發(fā)出連接請求
4)、應用程序接受連接產(chǎn)生通信scoket
5)、應用程序和遠程設備開始通訊(在通訊中應用程序將掛起直到通訊結束)
6)、通訊結束,關閉應用程序和遠程設備的Socket回收資源
15.請敘述類與結構的區(qū)別。
1)、結構是值類型;
2)、結構不支持繼承;
3)、結構不能定義默認的構造函數(shù);
4)、結構不能定義析構函數(shù);
5)、結構不能使用初始值設置域值。
ASP.NET筆試題的情況就向你介紹到這里,希望對你在ASP.NET筆試題的準備上有所幫助。
【編輯推薦】