一、C#中 property 與 attribute的區別,他們各有什麼用處,這種機制的好處在哪裏?
property和attribute漢語都稱之爲屬性。不過property是指類向外提供的數據區域。而attribute則是描述對象在編譯時或運行時屬性的。這二者是有本質區別的。
2 .列舉ASP.NET 頁面之間傳遞值的幾種方式。
1.使用QueryString, 如....?id=1; response. Redirect()....
2.使用Session變量
3.使用Server.Transfer
3. 一列數的規則以下: 一、一、二、三、五、八、1三、2一、34...... 求第30位數是多少, 用遞歸算法實現。
public class MainClass
{
//主函數調用輸出低30的數值
public static void Main()
{
Console.WriteLine(Foo(30));
Console.ReadLine();
}
//方法封裝,參數爲第幾個,求第30個
public static int Foo(int i)
{
if (i <= 0)
{
return 0;
}
else if (i > 0 && i <= 2)
{
return 1;
}
else
{
return Foo(i - 1) + Foo(i - 2);
}
}
}
4.C#中的委託是什麼?事件是否是一種委託?
委託能夠把一個方法做爲參數代入另外一個方法。
委託能夠理解爲指向一個函數的引用。是,是一種特殊的委託
5.override與重載的區別
override 與重載的區別。重載是方法的名稱相同。參數或參數類型不一樣,進行屢次重載以適應不一樣的須要,Override 是進行基類中函數的重寫。爲了適應須要。
6.請編程遍歷頁面上全部TextBox控件並給它賦值爲string.Empty?
foreach (System.Windows.Forms.Control control in this.Controls)
{
if (control is System.Windows.Forms.TextBox)
{
System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control ;
tb.Text = String.Empty ;
}
}
7.在下面的例子裏
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;x= 1 y = -1
8.什麼是裝箱和拆箱? javascript
從值類型接口轉換到引用類型裝箱。從引用類型轉換到值類型拆箱。
例如:
裝箱: int i=0; Object obj=i;
拆箱: int i=0; Object obj=i;
int j=(int)obj;
9經常使用的調用WebService的方法有哪些?
1.使用WSDL.exe命令行工具。
2.使用VS.NET中的Add Web Reference菜單選項
10.簡要談一下您對微軟.NET 構架下remoting和webservice兩項技術的理解以及實際中的應用。
服務器端向客戶端發送一個進程編號,一個程序域編號,以肯定對象的位置。
11.公司要求開發一個繼承System.Windows.Forms.ListView類的組件,要求達到如下的特殊功能:點擊
答:根據點擊的列頭,包該列的ID取出,按照該ID排序後,在給綁定到ListView中。
12.能用foreach遍歷訪問的對象須要實現 ________________接口或聲明________________方法的類型。
答:IEnumerable 、 GetEnumerator。
13.abstract class和interface有什麼區別?
聲明方法的存在而不去實現它的類被叫作抽象類(abstract class),它用於要建立一個體現某些基本行爲的類,併爲該類聲明方法,但不能在該類中實現該類的狀況。不能建立abstract 類的實例。然而能夠建立一個變量,其類型是一個抽象類,並讓它指向具體子類的一個實例。不能有抽象構造函數或抽象靜態方法。Abstract 類的子類爲它們父類中的全部抽象方法提供實現,不然它們也是抽象類爲。取而代之,在子類中實現該方法。知道其行爲的其它類能夠在類中實現這些方法。
接口(interface)是抽象類的變體。在接口中,全部方法都是抽象的。多繼承性可經過實現這樣的接口而得到。接口中的全部方法都是抽象的,沒有一個有程序體。接口只能夠定義static final成員變量。接口的實現與子類類似,除了該實現類不能從接口定義中繼承行爲。當類實現特殊接口時,它定義(即將程序體給予)全部這種接口的方法。而後,它能夠在實現了該接口的類的任何對象上調用接口的方法。因爲有抽象類,它容許使用接口名做爲引用變量的類型。一般的動態聯編將生效。引用能夠轉換到接口類型或從接口類型轉換,instanceof 運算符能夠用來決定某對象的類是否實現了接口。 java
14.sleep() 和 wait() 有什麼區別?
sleep()方法是使線程中止一段時間的方法。在sleep 時間間隔期滿後,線程不必定當即恢復執行。這是由於在那個時刻,其它線程可能正在運行並且沒有被調度爲放棄執行,除非(a)「醒來」的線程具備更高的優先級(b)正在運行的線程由於其它緣由而阻塞。
wait()是線程交互時,若是線程對一個同步對象x 發出一個wait()調用,該線程會暫停執行,被調對象進入等待狀態,直到被喚醒或等待時間到。
15.如何處理幾十萬條併發數據?.
答:用存儲過程或事務。取得最大標識的時候同時更新..注意主鍵不是自增量方式這種方法併發的時候是不會有重複主鍵的..取得最大標識要有一個存儲過程來獲取. web
16.Session有什麼重大BUG,微軟提出了什麼方法加以解決?
答:是iis中因爲有進程回收機制,系統繁忙的話Session會丟失,能夠用Sate server或SQL Server數據庫的方式存儲Session不過這種方式比較慢,並且沒法捕獲Session的END事件。
17.進程和線程的區別? 面試
進程是系統進行資源分配和調度的單位;線程是CPU調度和分派的單位,一個進程能夠有多個線程,這些線程共享這個進程的資源。
18.請說明在.net中經常使用的幾種頁面間傳遞參數的方法,並說出他們的優缺點。
答:session(viewstate) 簡單,但易丟失
application 全局 cookie 簡單,但可能不支持,可能被僞造
input type="hidden" 簡單,可能被僞造
url參數 簡單,顯示於地址欄,長度有限
數據庫 穩定,安全,但性能相對弱 算法
19.DataReader與Dataset有什麼區別?
一個是隻能向前的只讀遊標,一個是內存中的表。
20.軟件開發過程通常有幾個階段?每一個階段的做用?
需求分析,架構設計,代碼編寫,QA,部署
21.什麼叫作SQL注入,如何防止?請舉例說明。
利用sql關鍵字對網站進行攻擊。過濾關鍵字'等
22.ADO.net中經常使用的對象有哪些?分別描述一下。
答:Connection 數據庫鏈接對象
Command 數據庫命令
DataReader 數據讀取器
DataSet 數據集
23.寫一個HTML頁面,實現如下功能,左鍵點擊頁面時顯示「您好」,右鍵點擊時顯示「禁止右鍵」。並在2分鐘後自動關閉頁面。 sql
<script language=javascript>
setTimeout('window.close();',3000);
function show()
{
if (window.event.button == 1)
{
alert("左");
}
else if (window.event.button == 2)
{
alert("右");
}
}
</script> 數據庫
數據庫面試題 編程
1.一道SQL語句面試題,關於group by表內容:
2005-05-09 勝
2005-05-09 勝
2005-05-09 負
2005-05-09 負
2005-05-10 勝
2005-05-10 負
2005-05-10 負
若是要生成下列結果, 該如何寫sql語句?
勝 負
2005-05-09 2 2
2005-05-10 1 2
//建立臨時表 2013-06-24 liangjw
create table #tmp(rq varchar(10),shengfu nchar(1)) 安全
insert into #tmp values('2005-05-09','勝')
insert into #tmp values('2005-05-09','勝')
insert into #tmp values('2005-05-09','負')
insert into #tmp values('2005-05-09','負')
insert into #tmp values('2005-05-10','勝')
insert into #tmp values('2005-05-10','負')
insert into #tmp values('2005-05-10','負') 服務器
1)select rq, sum(case when shengfu='勝' then 1 else 0 end)'勝',sum(case when shengfu='負' then 1 else 0 end)'負' from #tmp group by rq
2. 表中有A B C三列,用SQL語句實現:當A列大於B列時選擇A列不然選擇B列,當B列大於C列時選擇B列不然選擇C列。
------------------------------------------
select (case when a>b then a else b end ),
(case when b>c then b esle c end)
from table_name
3.面試題:一個日期判斷的sql語句?
請取出tb_send表中日期(SendTime字段)爲當天的全部記錄?(SendTime字段爲datetime型,包含日期與時間)
select * from tb where datediff(dd,SendTime,getdate())=0
4.有一張表,裏面有3個字段:語文,數學,英語。其中有3條記錄分別表示語文70分,數學80分,英語58分,請用一條sql語句查詢出這三條記錄並按如下條件顯示出來(並寫出您的思路):
大於或等於80表示優秀,大於或等於60表示及格,小於60分表示不及格。
顯示格式:
語文 數學 英語
及格 優秀 不及格
------------------------------------------
select
(case when 語文>=80 then '優秀'
when 語文>=60 then '及格'
else '不及格') as 語文,
(case when 數學>=80 then '優秀'
when 數學>=60 then '及格'
else '不及格') as 數學,
(case when 英語>=80 then '優秀'
when 英語>=60 then '及格'
else '不及格') as 英語,
from table
5.在sqlserver2000中請用sql建立一張用戶臨時表和系統臨時表,裏面包含兩個字段ID和IDValues,類型都是int型,並解釋下二者的區別?
------------------------------------------
用戶臨時表:create table #xx(ID int, IDValues int)
系統臨時表:create table ##xx(ID int, IDValues int)
區別:
用戶臨時表只對建立這個表的用戶的Session可見,對其餘進程是不可見的.
當建立它的進程消失時這個臨時表就自動刪除.
全局臨時表對整個SQL Server實例均可見,可是全部訪問它的Session都消失的時候,它也自動刪除.
8.一個表中的Id有多個記錄,把全部這個id的記錄查出來,並顯示共有多少條記錄數。
select id, Count(*) from tb group by id having count(*)>1
select * from(select count(ID) as count from table group by ID)T where T.count>1