1)比較方式角度:
= =是面向過程的操作符;equals是面向對象的操作符
= =不屬於任何類,equals則是任何類(在Java中)的一個方法;
我們可以1)Primitive1 (基本類型)= = Primitive2(基本類型);
2)Object Reference1(對象引用)= = Object Reference2(對象引用)
3)Object Reference1 (對象引用) .equals(Object Reference2 (對象引用))
這三種比較
但卻不能Primitive1 (基本類型).equals( Primitive2(基本類型));
對於基本類型,沒有面向對象中發送消息一說,自然也不會有
方法成員。
2)比較目的角度:
1) 如果要比較兩個基本類型是否相等,請用= =;
2) 如果要比較兩個對象引用是否相等,請用= =;
3) 如果要比較兩個對象(邏輯上)是否一致,請用equals;
第二節:對兩個對象(邏輯上)是否一致的闡釋:
有人會問:在C++中, 比較兩個對象相等不是也可以用==嗎?我知道您是指運算符重載,但是很遺憾,Java中不支持運算符重載(java中亦有重載過運算符,他們是“+”,“+=”,不過也僅此兩個,而且是內置實現的);所以,對象的是否相等的比較這份責任就交由 equals()來實現 。
這個“邏輯上”其實就取決於人類的看法,實際開發中,就取決於用戶的需求;
有人會有看法:“取決於人類的看法”太過寬泛和不嚴肅,如果某人要兩件
風牛馬不相及的事物也相等,equals是否也能作出這樣的比較呢?我們說可以的
下面這個例子說明了這一點:
class Horse {
String Type;
int Legs;
//相等的標準:腿的數目相等
public boolean equals(Object o){
if(this.Legs==((Cattle)o).Legs){
return true;
}
return false;
}
public Horse(String Type,int legs){
this.Type=Type;
this.Legs=legs;
}
|
|||||||||||||||||||||||
|
現在在a用戶權限下,訪問b數據庫sql語句爲select a.* From b a,請改正這一句Sql的寫法
AH 20060625 12 44 01 CAD001
AH 20060625 12 44 01 CAD001
AH 20060625 13 44 02 CAD001
AH 20060625 14 44 03 CAD001
說明:第二列表示日期,第三列表示溫度,第四列表示水位,第五列表示流量,第6列表示水位測站編碼,每一列表示一個字段
很明顯第一條數據和第二條數據重複,然數據表中有主鍵和外鍵的約束,是不允許有重複的數據存在的,請構造算法將重複的數據Del掉
已知a,b,現在點鼠標a會向b遊動,鼠標停,a會停下來
請實現"跑步算法"
b=a-b;
b=(a+b)/2;
a=a-b;
1) a^=b^(b^=a^b); // 13個字節
2) a=b+(b=a)*0; // 11個字節
if (array == null || lowest < 0 || lowest >= highest
|| highest >= array.length) {
return;
}
int low = lowest;
int high = highest;
int key = low++;
for (; low <= high;) {
if (key < high) {
if (array[key] > array[high]) {
array[high] = array[key] + (array[key] = array[high]) * 0;
key = high;
}
high--;
}
if (array[key] < array[low]) {
array[low] = array[key] + (array[key] = array[low]) * 0;
key = low;
}
low++;
}
}
quickSort(lowest, key - 1);
quickSort(key + 1, highest);
}
* @param args
*/
public static void main(String[] args) {
TestQuickSort test = new TestQuickSort();
int[] array = {6,5,2,9,7,4,0};
test.array = array;
test.quickSort(0, array.length - 1);
int length = test.array.length;
for (int i = 0; i < length; i++) {
System.out.println(test.array[i]);
}
}
}
遞歸求解(Conquer):通過遞歸調用快速排序算法分別對ap..aq和aq+1..ar進行排序。
合併(Merge):由於對分解出的兩個子序列的排序是就地進行的,所以在ap..aq和aq+1..ar都排好序後不需要執行任何計算ap..ar就已排好序。
這個解決流程是符合分治法的基本步驟的。因此,快速排序法是分治法的經典應用實例之一。
Procedure Quick_Sort(p,r:TPosition;var L:TList); {快速排序}
一個本來指向基類的對象指針可以指向其派生類的.並訪問從基類繼承而來的成員變量和函數.
而虛函數是專門爲這個特性設計的,這個函數在每個基類的派生類中都是同一個名字,但函數體卻並不一定相同,派生類往往爲實現自己的功能而修改這個虛函數.這樣用一個指針就能夠實現對多種不同的派生類的訪問, 並實現其派生類的特定功能(代碼 )....
用VIEWSTATE
stateserver
可以控制連接池的連接數量條件好的話 可以用負載平衡
select a.* from b.b a
1. 回滾區間空間不足 --- 解決方法,增加表空間
2. 數據表空間不足 ---- 增加數據表空間
3. 表空間不足 ---- 增加表空間(oracle數據表有空間限制)
4. 臨時表空間不足 --- 因爲計算索引使用臨時表空間,增加表空間或者暫時不使用索引,數據導入完畢再重新建立索引
5.另外一些原因,主要是垃圾數據造成的,比如外鍵匹配,主鍵衝突,單一索引衝突等。
DELETE FROM TABLE_NAME
WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D
WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2);
1.面向對象的思想主要包括什麼?
2.什麼是ASP.net中的用戶控件
3.什麼叫應用程序域?什麼是受管制的代碼?什麼是強類型系統?什麼是裝箱和拆箱?什麼是重載?CTS、CLS和CLR分別作何解釋?
4.列舉一下你所瞭解的XML技術及其應用
5.值類型和引用類型的區別?寫出C#的樣例代碼。
6.ADO.net中常用的對象有哪些?分別描述一下。
7.如何理解委託?
8.C#中的接口和類有什麼異同。
9.。net中讀寫數據庫需要用到哪些類?他們的作用
10.UDP連接和TCP連接的異同。
11.ASP.net的身份驗證方式有哪些?分別是什麼原理?
12.進程和線程分別怎麼理解?
13.什麼是code-Behind技術。
14.活動目錄的作用。
15..net中讀寫XML的類都歸屬於哪些命名空間?
16.解釋一下UDDI、WSDL的意義及其作用。
17.什麼是SOAP,有哪些應用。
18.如何部署一個ASP.net頁面。
19.如何理解.net中的垃圾回收機制。
20.常用的調用webservice方法有哪些?
1 繼承 多態 封裝 (一直看一直都忘掉)
2 用戶控件. 不會說懂得做
3 裝箱和拆箱發生 值類型向引用類型轉換,和引用類型向值類型轉 重載:同一個函數參數不同
4.xml可以用來做網頁(xslt) xml可以當作數據庫 xml可以用來保存對象的系列化(web服務好象是基於這個的)
5值類型,沒有什麼好說的.引用類型用處是返回兩個以上參數的時候比較好用 ref out 我常用的是out不要先賦值
6 ado.net 我直接用 sqlhelper了 有connection command 還有參數
7 回調機制比較有用的.在net中採用了委託.
8 接口,是可以多繼承,類只有單繼承.接口強調了你必須實現,而沒有具本實現的方法和虛類有點相似
9 datareader dataset 還有一個不太常用
10 udp不要實現什麼三次握手.
11 asp.net身份驗證最常用還是以前的session方法. form驗證沒有用過. 微軟的哪個也沒有用過
12 進程簡單理解爲單個程序吧(按ctrl alt del)可以看到的.它至少有一個主線程 .
13 代碼後置..不懂得講
14 活動目錄.. 完全不會
15 system.xml (system.io創建目錄的時候用)
16 這個也是web服務裏的東西.
17 soap簡單協議.我只知道.web服務是基於它之上的
18 部置一個頁面. 也就是說沒有代碼是直接寫在aspx中的了.只接放在IIS的虛擬目錄下就行了.當然要asp.net支持
19 垃圾回收..一般的只要掌握.非託管對象要記得釋放資源就行了吧.
20 直接在vs.net裏面引用就OK了.它會自己生成一個代理類
net程序員面試題 看你能否通過技術關?
|
||
面試題
1.以下程序打印結果是什麼: public class A { private void printA() { console.writeline(printA"); } private virtual valueA() { console.writeline(valueA"); } public classs B:A { new private void printA() { console.writeline(printB"); } private override valueA() { console.writeline(valueB"); } } pub static int main(String[] args) { B BTemp=new B(); A ATemp=BTemp; ATemp.printA(); ATemp.valueA(); BTemp.printA(); BTemp.valueA(); } 2.用C#寫一段代碼,使用遞歸算法從一個數組中找出最大值和最小值. 3.public class BassTest { public BassTest() { } } public class BassTemp:BassTest { private BassTemp() { } } 請問以上程序錯誤嗎?爲什麼? 3.寫出以下程序運行的結果或者指出程序中的錯誤: using system name mysapce { public class T1 { public static int mypublicint; internal static int myinternalint; private static int myprivate=0; public class M1 { public static int mypublicint; internal static int myinternalint; private static int myprivate=0; } private class M2 { public static int mypublicint; internal static int myinternalint; private static int myprivate=0; } public class MainClass { public static int Main() { T1.mypublicint=1; T1.myinternalint=2; T1.myprivate=2; T1.M1.mypublicint=1; T1.M1.myinternalint=2; T1.M1.myprivate=2; T1.M2. T1.M2. T1.M2. Return 0; } } } } 4.以下程序有什麼錯? public class TestClass { private int intcount; private static int Y; public static setvalue { intcount=1; Y=1; } } 5.package,package bodies怎麼理解,創建的語法怎樣? 6.寫一個存儲過程,用遊標來作,聲明是在begin後還是在前?用完後是否要關閉? 7.什麼叫值類型,什麼叫引用類型? 8.ADO,ADO.NET有什麼區別? 9.類和結構有什麼不同? 10.Delegate是什麼,舉例說明! 11.什麼是反射,舉例說明? 12.overide 和重載有什麼不同? 13..net中什麼類不能被繼承? 14.接口和抽象類有什麼不同? 15.IS 和AS 有什麼區別? 16..net中傳遞參數有那些方法?有什麼區別? 17.特性和屬性有什麼區別? |
2.當整數a賦值給一個object對象時,整數a將會被__裝箱___?
3.類成員有__3__種可訪問形式?
4.public static const int A=1;這段代碼有錯誤麼?是什麼? const成員都是static所以應該去掉static
5.float f=-123.567F;
int i=(int)f;
i的值現在是_-123____?
6.利用operator聲明且僅聲明瞭==,有什麼錯誤麼? 要同時修改Equale和GetHash() ? 重載了"==" 就必須重載 "!="
7.委託聲明的關鍵字是___ delegate ___?
8.用sealed修飾的類有什麼特點?不可被繼承
9.在Asp.net中所有的自定義用戶控件都必須繼承自_ System.Web.UI.UserControl _______?
10.在.Net中所有可序列化的類都被標記爲__[serializable]___?
11.在.Net託管代碼中我們不用擔心內存漏洞,這是因爲有了_ gC __?
12.下面的代碼中有什麼錯誤嗎?_ abstract override 是不可以一起修飾______
using System;
class A
{
public virtual void F(){
Console.WriteLine("A.F");
}
}
abstract class B:A
{
public abstract override void F();
}
14.下面這段代碼有錯誤麼?case():不行 default;
switch (i){
case():
CaseZero();
break;
case 1:
CaseOne();
break;
case 2:
dufault;
CaseTwo();
break;
}
15.在.Net中,類System.Web.UI.Page 可以被繼承麼?可以
A.Close B.Dispose C.Finalize
D.using E.Quit
3.以下關於ref和out的描述哪些項是正確的?(多選) ( ACD )
A.使用ref參數,傳遞到ref參數的參數必須最先初始化。
B.使用out參數,傳遞到out參數的參數必須最先初始化。
C.使用ref參數,必須將參數作爲ref參數顯式傳遞到方法。
D.使用out參數,必須將參數作爲out參數顯式傳遞到方法。
通過名稱標識。 通過簽名標識。
通過簡單名稱或成員訪問來訪問。 通過元素訪問來訪問。
可以爲靜態成員或實例成員。 必須爲實例成員。
屬性的 get 訪問器沒有參數。 索引器的 get 訪問器具有與索引器相同的形參表。
屬性的 set 訪問器包含隱式 value 參數。 除了 value 參數外,索引器的 set 訪問器還具有與索引器相同的形參表。
爲了不違背編碼規則,通常把static數據成員聲明爲private,然後通過statci property提供讀寫訪問。
const 關鍵字用於修改字段或局部變量的聲明。它指定字段或局部變量的值不能被修改。常數聲明引入給定類型的一個或多個常數。
const數據成員的聲明式必須包含初值,且初值必須是一個常量表達式。因爲它是在編譯時就需要完全評估。
const成員可以使用另一個const成員來初始化,前提是兩者之間沒有循環依賴。
readonly在運行期評估賦值,使我們得以在確保“只讀訪問”的前提下,把object的初始化動作推遲到運行期進行。
readonly 關鍵字與 const 關鍵字不同: const 字段只能在該字段的聲明中初始化。readonly 字段可以在聲明或構造函數中初始化。因此,根據所使用的構造函數,readonly 字段可能具有不同的值。另外,const 字段是編譯時常數,而 readonly 字段可用於運行時常數。
readonly 只能在聲明時或者構造函數裏面初始化,並且不能在 static 修飾的構造函數裏面。
所有的用戶都存在於AllWin這個域中。您想要使用下列認證規則來配置這個應用程序:
a、 匿名用戶不允許訪問這個應用程序。
b、 所有僱員除了Tess和King都允許訪問這個應用程序。
請問您應該使用以下哪一個代碼段來配置這個應用程序?( A )
A. <authorization>
<deny users=”allwin/tess, allwin/king”>
<allow users=”*”>
<deny users=”?”>
</authorization>
B. <authorization>
<allow users=”*”>
<deny users=”allwin/tess, allwin/king”>
<deny users=”?”>
</authorization>
C. <authorization>
<deny users=”allwin/tess, allwin/king”>
<deny users=”?”>
<allow users=”*”>
</authorization>
D. <authorization>
<allow users=”allwin/tess, allwin/king”>
<allow users=”*”>
</authorization>
E.<authorization>
<allow users=”*”>
<deny users=”allwin/tess, allwin/king”>
</authorization>
A.重寫OnPreRender事件,當Grid的Footer行被創建時顯示合計數。
B.重寫OnItemCreated事件,當Grid的Footer行被創建時顯示合計數。
C.重寫OnItemDataBound事件,當Grid的Footer行被創建時顯示合計數。
D. 重寫OnLayout事件,當Grid的Footer行被創建時顯示合計數。
A.在這個應用程序的Global.asax文件中創建一個Application_Error過程去處理ASP.NET代碼錯誤。
B.在這個應用程序的Web.config文件中創建一個applicationError節去處理ASP.NET代碼錯誤。
C.在這個應用程序的Global.asax文件中創建一個CustomErrors事件去處理HTTP錯誤。
D.在這個應用程序的Web.config文件中創建一個CustomErrors節去處理HTTP錯誤。
E.在這個應用程序的每一頁中添加一個Page指示符去處理ASP.NET 代碼錯誤。
F. 在這個應用程序的每一頁中添加一個Page指示符去處理ASP.NET HTTP錯誤。
A. “Server=AllWin;Data Source=PubBase;Initial Catalog=Test;Integrated Security=SSPI”
B. “Server= AllWin;Data Source=PubBase;Database=Test;Integrated Security= SSPI”
C. “Data Source= AllWin /PubBase;Initial Category=PubBase;Integrated Security= SSPI”
D. “Data Source= AllWin / PubBase;Database=Test;Integrated Security= SSPI”
A.在“引用”對話框的.Net標籤中選擇 System.Web.Services.dll。
B.在“Web引用”對話框中輸入這個 XML Web service 的地址。
C.在您的 Global.asax.cs 中添加一條 using 語句並指定這個 XML Web service 的地址。
D.在您的 Global.asax.cs 中寫一個事件處理器導入這個 Xml Web Service 相應的 .wsdl 和 .disco 文件。
A. 將SqlCommand對象的CommandType屬性修改爲CommandType.Text,將CommandText屬性修改爲”SELECT * FROM procProductList ORDER BY ProductName DESC”。然後將這個DataTable對象綁定到DataGrid控件。
B. 創建一個基於這個DataTable對象的新的DataView並將這個DataView的Sort屬性設置爲“ProductName DESC”。然後將這個DataView對象綁定到DataGrid控件。
C. 將DataGrid控件的AllowSorting屬性設置爲True,並將DataGridColumn的SortExpression屬性設置爲 “ProductName DESC”.以顯示ProductName。然後將這個DataTable對象綁定到DataGrid控件。
D. 將DataTable對象的DisplayExpression屬性設置爲 “ORDER BY ProductName DESC”.。然後將這個DataTable對象綁定到DataGrid控件。
解2: select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A)
5 .列舉ASP.NET 頁面之間傳遞值的幾種方式。
2.使用Session變量
3.使用Server.Transfer
2。請說明在.net中常用的幾種頁面間傳遞參數的方法,並說出他們的優缺點。
session(viewstate) 簡單,但易丟失
application 全局
cookie 簡單,但可能不支持,可能被僞造
input ttype="hidden" 簡單,可能被僞造
url參數簡單,顯示於地址欄,長度有限
數據庫穩定,安全,但性能相對弱
DataSet則是將數據一次性加載在內存中.拋棄數據庫連接..讀取完畢即放棄數據庫連接..因爲DataSet將數據全部加載在內存中.所以比較消耗內存...但是確比DataReader要靈活..可以動態的添加行,列,數據.對數據庫進行回傳更新操作...
2.在下面的例子裏
using System;
class A
{
public A(){
PrintFields();
}
public virtual void PrintFields(){}
}
class B:A
{
int x=1;
int y;
public B(){
y=-1;
}
public override void PrintFields(){
Console.WriteLine("x={0},y={1}",x,y);
}
當使用new B()創建B的實例時,產生什麼輸出?X=1,Y=0
3.下面的例子中
class A
{
public static int X;
static A(){
X=B.Y+1;
}
}
class B
{
public static int Y=A.X+1;
static B(){}
static void Main(){
Console.WriteLine("X={0},Y={1}",A.X,B.Y);
}
}
產生的輸出結果是什麼?x=1,y=2
4.談談類和結構的區別?
protected override void DefWndProc ( ref System.WinForms.Message m )
{
switch(m.msg)
{
case WM_Lbutton :
///string與MFC中的CString的Format函數的使用方法有所不同
string message = string.Format("收到消息!參數爲:{0},{1}",m.wParam,m.lParam);
MessageBox.Show(message);///顯示一個消息框
break;
case USER:
處理的代碼
default:
base.DefWndProc(ref m);///調用基類函數處理非自定義消息。
break;
}
}
{
e.Cancel=true;
}
答案:一個是退出整個應用程序,一個是關閉其中一個form
答案:
System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-US");
//System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-GB");爲英國貨幣類型
decimal y = 9999999999999999999999999999m;
string str = String.Format(MyCulture,"My amount = {0:c}",y);
(1) 密碼單詞的最小長度是兩個字母,可以相同,也可以不同
(2) K不可能是單詞的第一個字母
(3) 如果L出現,則出現次數不止一次
(4) M不能使最後一個也不能是倒數第二個字母
(5) K出現,則N就一定出現
(6) O如果是最後一個字母,則L一定出現
問題一:下列哪一個字母可以放在LO中的O後面,形成一個3個字母的密碼單詞?
A) K B)L C) M D) N
答案:B
A)1個 B)3個 C)6個 D)9個
答案:A
A) KLLN B) LOML C) MLLO D)NMKO
答案:C
答案:62移動成2的6次方
第一種:new Class();
第二種:覆蓋方法
public new XXXX(){}
第三種:new 約束指定泛型類聲明中的任何類型參數都必須有公共的無參數構造函數。
2.如何把一個array複製到arrayList裏
foreach( object o in array )arrayList.Add(o);
3.datagrid.datasouse可以連接什麼數據源 [dataset,datatable,dataview]
dataset,datatable,dataview , IList
4.概述反射和序列化
反射:程序集包含模塊,而模塊包含類型,類型又包含成員。反射則提供了封裝程序集、模塊和類型的對象。您可以使用反射動態地創建類型的實例,將類型綁定到現有對象,或從現有對象中獲取類型。然後,可以調用類型的方法或訪問其字段和屬性
序列化:序列化是將對象轉換爲容易傳輸的格式的過程。例如,可以序列化一個對象,然後使用 HTTP 通過 Internet 在客戶端和服務器之間傳輸該對象。在另一端,反序列化將從該流重新構造對象。
5.概述o/r mapping 的原理
利用反射,配置 將類於數據庫表映射
7.用sealed修飾的類有什麼特點
sealed 修飾符用於防止從所修飾的類派生出其它類。如果一個密封類被指定爲其它類的基類,則會發生編譯時錯誤。
密封類不能同時爲抽象類。
sealed 修飾符主要用於防止非有意的派生,但是它還能促使某些運行時優化。具體說來,由於密封類永遠不會有任何派生類,所以對密封類的實例的虛擬函數成員的調用可以轉換爲非虛擬調用來處理。
class:放在 ? struct放在?
struct值傳遞
類與結構有很多相似之處:結構可以實現接口,並且可以具有與類相同的成員類型。然而,結構在幾個重要方面不同於類:結構爲值類型而不是引用類型,並且結構不支持繼承。結構的值存儲在“在堆棧上”或“內聯”。細心的程序員有時可以通過聰明地使用結構來增強性能。
12.概述.NET裏對 remoting 和 webservice 兩項技術的理解和實際中的應用。
遠程邏輯調用,remoing接口只能用在.net中
13.什麼是code-behind技術 aspx and cs
15.asp.net如何實現MVC模式,舉例說明! web/business/dataaccess
答:用戶控件就是.ascx擴展名的東西嘍,可以拖到不同的頁面中調用,以節省代碼.比如登陸可能在多個頁面上有,就可以做成用戶控件,但是有一個問題就是用戶控件拖到不同級別的目錄下后里面的圖片等的相對路徑會變得不準確,需要自已寫方法調整.
3.什麼叫應用程序域?什麼是受管制的代碼?什麼是強類型系統?什麼是裝箱和拆箱?什麼是重載?CTS、CLS和CLR分別作何解釋?
答:裝箱就是把值類型轉成引用類型,從MS IL角度看好像是boxing,沒記錯的話是把值從堆棧轉到堆中.拆箱相反,重載就是指一個方法名同,參數個數不同,返回值可以相同的方法.CLR是通用語言運行時,其它的不清楚.
4.列舉一下你所瞭解的XML技術及其應用
答:XML可是好東西,保存配置,站與站之間的交流,WEB SERVICE都要用它.
5.值類型和引用類型的區別?寫出C#的樣例代碼。
答:結構是值類型,類是引用類型,所以傳結構就是值類型的應用啦,傳對象或類就是引用類型的,這個不用多寫了吧.
6.ADO.net中常用的對象有哪些?分別描述一下。
答:connection command sqladapter dataset datatable dataview等等.寫不完了.
7.如何理解委託?
答:據說相當於函數指針,定義了委託就可以在不調用原方法名稱的情況下調用那個方法.
msdn2005中是這樣解釋的:
委託具有以下特點:
委託類似於 C++ 函數指針,但它是類型安全的。
委託允許將方法作爲參數進行傳遞。
委託可用於定義回調方法。
委託可以鏈接在一起;例如,可以對一個事件調用多個方法。
方法不需要與委託簽名精確匹配。有關更多信息,請參見協變和逆變。
C# 2.0 版引入了匿名方法的概念,此類方法允許將代碼塊作爲參數傳遞,以代替單獨定義的方法。
8.C#中的接口和類有什麼異同。
答:接口是負責功能的定義,項目中通過接口來規範類,操作類以及抽象類的概念!
而類是負責功能的具體實現!
在類中也有抽象類的定義,抽象類與接口的區別在於:
抽象類是一個不完全的類,類裏面有抽象的方法,屬性,也可以有具體的方法和屬性,需要進一步的專業化。
但接口是一個行爲的規範,裏面的所有東西都是抽象的!
一個類只可以繼承一個基類也就是父類,但可以實現多個接口
9.。net中讀寫數據庫需要用到哪些類?他們的作用
答:這個類自已可以寫的啊,你是指基類嗎?那configuration,sqlconnection,sqlcommand等都要用到.
10.UDP連接和TCP連接的異同。
答:前者只管傳,不管數據到不到,無須建立連接.後者保證傳輸的數據準確,須要連結.
11.ASP.net的身份驗證方式有哪些?分別是什麼原理?
答:form認證,windows集成認證等,原理不清楚.
13.什麼是code-Behind技術。
答:代碼分離,這是個明智的東西,像ASP這樣混成一堆很不爽.或者可以理解成HTML代碼寫在前臺,C#代碼寫在後臺.當然前臺也有腳本,類的調用等,其實寫在一起也是可以的.
15..net中讀寫XML的類都歸屬於哪些命名空間?
答:System.Xml
16.解釋一下UDDI、WSDL的意義及其作用。
答:
17.什麼是SOAP,有哪些應用。
答:SOAP(Simple Object Access Protocol )簡單對象訪問協議是在分散或分佈式的環境中交換信息並執行遠程過程調用的協議,是一個基於XML的協議。使用SOAP,不用考慮任何特定的傳輸協議(最常用的還是HTTP協議),可以允許任何類型的對象或代碼,在任何平臺上,以任何一直語言相互通信。這種相互通信採用的是XML格式的消息,具體請看:http://playist.blogchina.com/2521621.html
20.常用的調用webservice方法有哪些?
答:
可以從瀏覽器、ASP頁或其他WEB服務調用可以使用HTTP-GET HTTP-POST訪問WEB服務也可以從ASP頁或其他WEB服務向其他WEB服務發出SOAP請求HTTP-GET HTTP-POST SOAP 使用WEB服務代理
1、在應用程序和遠程設備中使用協議和網絡地址初始化套接字
2、在應用程序中通過指定端口和地址建立監聽
3、遠程設備發出連接請求
4、應用程序接受連接產生通信scoket
5、應用程序和遠程設備開始通訊(在通訊中應用程序將掛起直到通訊結束)
6、通訊結束,關閉應用程序和遠程設備的Socket回收資源
string str = null 是不給他分配內存空間,而string str = “”給它分配長度爲空字符竄的內存空間.
2、請詳述在dotnet中類(class)與結構(struct)的異同:(10分)
Class可以被實例化,屬於引用類型,是分配在內存的堆上的,Struct屬於值類型,是分配在內存的棧上的.
3、根據委託(delegate)的知識,請完成以下用戶控件中代碼片段的填寫:(10)
namespace test
{
public delegate void OnDBOperate();
public class UserControlBase : System.Windows.Forms.UserControl
{
public event OnDBOperate OnNew;
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;
以上代碼執行完後,i= j= i還真的不知道, j=10
5、SQLSERVER服務器中,給定表 table1 中有兩個字段 ID、LastUpdateDate,ID表示更新的事務號, LastUpdateDate表示更新時的服務器時間,請使用一句SQL語句獲得最後更新的事務號。(10)
select top ID from table1 order by LastUpdateData desc
8、簡要談一下您對微軟.NET 構架下remoting和webservice兩項技術的理解以及實際中的應用。(10)
remoting是.net 中用來跨越machine, process, appdomain 進行方法調用的技術,對於三成結構的程序,就可以使用remoting技術來構建.它是分佈應用的基礎技術.相當於以前的DCOM Web Service是一種構建應用程序的普通模型,並能在所有支持internet網通訊的操作系統上實施。Web Service令基於組件的開發和web的結合達到最佳,基於組件的對象模型
9.什麼叫做SQL注入,如何防止?請舉例說明。
利用sql關鍵字對網站進行攻擊。過濾關鍵字'等
所謂SQL注入(SQL Injection),就是利用程序員對用戶輸入數據的合法性檢測不嚴或不檢測的特點,故意從客戶端提交特殊的代碼,從而收集程序及服務器的信息,從而獲取想得到的資料。
http://localhost/lawjia/show.asp?ID=444 and user>0,這時,服務器運行Select * from 表名 where 字段=444 and user>0這樣的查詢,當然,這個語句是運行不下去的,肯定出錯,錯誤信息如下:
[Microsoft][ODBC SQL Server Driver][SQL Server]將 nvarchar 值 'sonybb' 轉換爲數據類型爲 int 的列時發生語法錯誤。
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[i]=(int)myList[i];
20.請敘述類與結構的區別。
1)、結構是值類型;
2)、結構不支持繼承;
3)、結構不能定義默認的構造函數;
4)、結構不能定義析構函數;
5)、結構不能使用初始值設置域值。
給你兩個8,兩個3,只用 加減乘除和括號運算,怎麼才能得出24?
哪位兄弟也有其它面試題目,最好能反應出面試者兩年.net開發水平的?
我說個吧,以前遇到過的
int i=123;
object obj = i;
i = 456;
問i和obj的值。
public class MyType
{
private static int i;
public MyType
{
i = 1;
}
請填寫函數,使下面的程序能夠運行
}
int iNum = 100;
MyType myType = (MyType)iNum;
樓上的題目我不會 是裝箱操作吧。但我不知道結果請指教
裝箱操作.i被裝箱爲引用.i = 123;obj =456
樓上的,寫倒了.
暈
(8-3)%8*3
不到十秒的事,無聊。
樓上太沖動了,打錯括號了吧~!(8-3%8)*3
算24偶小學的時候經常玩的~!
8/(3-8/3)
3%(8*3)*8
3%8 是多少? 是0還是3?
to:charles_y(難得糊塗)
8/(3-8/3)是怎麼算出來爲24的!你能把步驟寫一遍嗎?
叫小學生做吧
3*8就可以了
搞什麼()的
這些考官簡直是垃圾
我有做法 3*8-3/8
int i=123;
object obj = i;
i = 456;
我想結果是:
i=456 obj=(object)123
public class MyType
{
private static int i;
public MyType
{
i = 1;
}
請填寫函數,使下面的程序能夠運行
}
int iNum = 100;
MyType myType = (MyType)iNum;
-----------------------------
類型強制轉換
public static explicit operator MyType(int number)
{
return new MyType();
}
to:charles_y(難得糊塗)
8/(3-8/3)是怎麼算出來爲24的!你能把步驟寫一遍嗎?
----------------------------------
不會是真的要我寫吧?
3-8/3= (9-8)/3=1/3
8/(1/3)=8*3=24
難道這不是小學一年級的題目?
to:charles_y(難得糊塗)
你的步驟在數學上是對的,如果在計算機裏呢?
1/3 可是等於0的。
沒說是一道計算機試題啊,就是一道+-x/算24點嗎
如果是筆試題目,那上面寫的好像都錯了 ^_^
using System;
namespace cs_17
{
class cs
{
public static void Main(string[] args)
{
int i=8;
int j=3;
int k;
k=(i^(i+j))*8;
Console.WriteLine(k);
Console.ReadLine();
}
}
}
3%(8*3)*8
簡單呀,但是在於你怎麼解釋!
3*8 = 24
節省了一個3和一個8,還節省了 加減除和括號。效率上也是蠻高的。
既節省了資源又提高了效率,這個答案是最好的。
要這麼複雜嗎?
(8-3)*3+8
哈哈 樓上的 傻瓜!!! 來了個23點
我寒........爲什麼大家不在那個比較有意義的類型強制轉換的問題上討論而討論這個....24點啊........................
誰來寫一段:
VB.NET的代碼???
樓上的"chester1(學習中) "寫的是C#的代碼吧?
int i=123;
object obj = i;
i = 456;
問i和obj的值。
==========================================
i = 456 obj = 123
考查裝箱、拆箱內容。
對值類型進行裝箱時,必須分配並構造一個全新的對象。
好難的24點。不會做
暈
(8-3)%8*3
不到十秒的事,無聊。
============
不到10秒就做錯了,太快了
沒看見 只用 加減乘除和括號運算
%算加減乘除和括號裏面那一個
我就搞不明白爲什麼不是8+8+3+3?
錯了,原來是求24。唉,看A片看多了,頭都昏了。
http://superdullwolf.cnzone.net/wolf24.htm
(8*8)/3+3
強貼。第一次見到explicit operator
快點給分:結果是,
(8+3)/3*8
http://lib.manbu.net/s.asp?i=5066050
1. 簡述Web服務器端程序的用途。
Web服務器端程序,提供了瀏覽器端和服務器端之間的會話功能。
2. 簡述CSS的用途。
CSS是樣式表。可以定義很多樣式,這些樣式用一個簡短的字符串來表示,然後在html文件中就可以方
便的引用這些樣式了。
3. 在Visual Studio.Net中,一個完整的Asp.Net解決方案至少應包括那些項目?
沒有嚴格的規定一定要包含哪些項目。只是現在比較流行的和合理的做法是分3層結構,數據訪問層
,業務層,Web層。每個對應1個項目。當然還可以細分。
4. 簡述全局變量和局部變量的區別。
全局變量和局部變量的差別:程序上講是作用域不同,生存期不同,存儲上來講,存儲的位置不同,
一個存放在靜態存儲區,另一個存放在動態存儲區。
5. 簡述傳值調用與傳址調用的主要區別。
傳值調用,實參把值傳遞給參數,在被調函數中形參的值得變化不會影響實參。傳址調用,實參把值
的地址傳給了形參,如果被調函數中形參所指的值發生了變化,實參所指的值夜將變化,因爲他們指向的
是同一個地址。
6. 試述函數和過程的區別。
函數和過程不是asp.net的內容吧?pascal中有這個概念,函數可有返回值,存過程沒有(但是可以通過
參數達到這樣的效果)。
7. 對變量而言,遵循“先聲明,後使用”的原則有什麼好處。
先聲名,在編譯調試的過程中可以及早的發現問題。衆所周知,解決問題越早付出的代價越少。
8. HtmlGenericControl控件與那些Html標記對應?
HtmlGenericControl控件與那些Html標記對應?可以到msdn上察看。這就不累贅了。
9. 控件LinkButton與Button的主要區別在哪裏?
LinkButton和Button外觀上不同,linkbutton上的文本顯示爲超鏈接的樣子,用法和Button相同。
10. 控件ImageButton與Image有哪些不同?
ImageButton上顯示的是圖片,用法和Button也大同小異。
11. 簡述ASP.NET網頁的執行流程。
客戶端Request,服務器端Response。其中涉及到驗證方式,公共語言編譯成機器語言(如果是第一次運行
)等等
12. 簡述Cookie的用途及其侷限性。
、Cookie記錄當前被驗證通過的用戶的一些信息。如果需要多用戶會話,Cookie就不實現不了了,就要用
Session了。
13. 在設計ASP.NET應用程序時,怎樣獲取客戶端的IP地址?
可以在客戶端提取IP,也可以在服務器端提取。客戶端用jscript或javascript,服務器端有相應的類解決。
14. 在ASP.NET應用程序設計中,Server.MapPath()方法有什麼實用價值?
Server.MapPath(),程序做出來以後,移植性好。
15. 簡述Response對象的主要用途。
Response對象,頁面跳轉,動態添加客戶端腳本,等等。
16. 簡述Request對象的主要用途。
Request,獲取URL參數,記錄了客戶端request的一些信息等等
17. 試述數據源、DataAdapter與DataSet三者之間的關係。
數據源就是數據存儲的地方;DataSet相當於一個小型的數據庫,用來存放數據。DataAdapter是個適配器
,用來從數據源中提取需要的數據,可以爲DataSet填充數據。
18. 簡述DataAdapter的用途。
DataAdapter是數據庫與Command,Select,Update對象等之間的接口。
19. 簡述認證和授權的概念。
包名:System.Security.Principal:
Identity:(識別)包裝了已經驗證過的用戶名和認證的方式
主要成員:Name, IsAuthenticated, AuthenticationType
Principal: 當前代碼的security上下文。包含Identity和Roles. 用於授權
主要成員:IsInRole, Identity
* // 一般用戶可以有多個Indentity, 即多種身份來訪問不同資源 --pending
* 每個AppDomain裏面都有CallContext,CallContext裏面包含Principal。線程在啓動的時候也會帶上
Pricncipal的ref。靜態方法,僅對當前線程
* Thread.CurrentPrincipal / WindowsIdentity.GetCurrent()靜態方法返回當前用戶。
Permission: 權限。不是用戶需要權限,是執行它的代碼需要權限。
Demand()要求調用此代碼的代碼有什麼權限。Assert()斷言
三種權限:
1 代碼權限: 基類爲CodeAccessPermission .用來保護環境變量、文件、訪問非託管代碼。總表參見:
ms-
help://MS.VSCC.2003/MS.MSDNQTR.2003APR.1033/cpguide/html/cpconcodeaccesspermissions.htm
2 Identity權限:基類爲CodeAccessPermission。對應於控制檯中的信任集設定。基於發行者、強類型
、域、URL。總表:
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003APR.1033/cpguide/html/cpconidentitypermissions.htm
3. PrincipalPermission(Role Based Permission)
Authorization 授權 判斷用戶是否有權操作,比如登錄的用戶有沒有權限訪問資源或者數據庫
Authentication 認證 用戶的Identity. 主要有:HTTP基礎認證、證書、Kerberos、Passport、NTLM、
Forms-based、Digest
這兩個東西最好從讀音上區別,以前一直糊塗。一般應用先authenticate用戶, 判斷用戶是否能鏈接到系
統。然後authorization, 判斷對某個功能是否有權限。
authorization一般有兩種:ACL/ROLES
ACL:Acess Control Lists. 判斷用戶是否在有權限的用戶組內。缺點:不能定義動態條件。
Role based: 用戶加入到某個role以後,自動獲得了很多特定的權限。先判斷請求者的Identity, 然後看
它是否在Role裏面。類似windows用戶和組的關係
1. 代碼中的檢查方式:new PrincipalPermission(name,role).Demand();
2. 利用Attribute的方式:[PrincipalPermissionAttribute(SecurityAction.Demand,Name="MyUser",
Role="Administrator")]
3. 使用 Principal 對象中的屬性和 IsInRole 方法執行顯式安全性檢查。
4. web.config裏面authorization節中的users/roles(這個一般資料都沒提到)