企業面試題彙總javascript
--.Net部分css
目錄html
.Net部分 4java
簡單 4node
1.什麼叫SQL注入?如何防止?請舉例說明 4程序員
2.若是有100萬條記錄,請問你如何優化表結構查詢提升速度? 4web
3.string與stringBuilder的區別 4面試
4. XML與Html的區別 5算法
5.如何動態遍歷頁面中全部TextBox,Combox控件,並給Text屬性賦空 5spring
6.一列數的規則以下: 一、一、二、三、五、8..求第30位數是多少,用遞歸算法實現。 5
7.請編程實現一個冒泡排序算法? 6
8.寫出抽象類和接口的定義,並描述二者的區別。 6
9. 在c#中using和new這兩個關鍵字有什麼意義,請寫出你所知道的意義? 6
10.override與重載的區別 8
11.用sealed修飾的類有什麼特色 8
12.net中接口是否能夠繼承接口?抽象類是否能夠實現接口?抽象類是否能夠繼承實體類? 8
13. a=10,b=15,在不用第三方變題的前提下,把a,b的值互換 8
14..net中( )方法能夠把虛擬路徑轉換成物理路徑 Response 8
15.接口中不能包含如下哪幾項()方法,屬性,字段,事件,索引器,構造函數,析構函數 8
16.ASP經常使用的6大對象,並說出其功能; 8
17.C#中什麼是泛型和泛型的集合? 9
18.什麼是委託,怎麼定義一個委託? 9
19.C#中關於Struct和Class的區別? 9
20 簡述private,protected,public,internal修飾符的訪問權限 9
21.代碼判斷題 10
2二、ado.net中鏈接數據庫的幾個對象,各有什麼用處 10
23.請說出int與integer的區別 10
24. JavaScript的變量做用域。 10
25.什麼叫裝箱,什麼叫拆箱?[易] 11
26.什麼是反射?什麼是委託?(易) 11
27. 若是B b=new B (); b Printfields () 11
28.什麼是虛函數?什麼是抽象函數?什麼是反射? 11
29.談談解決session丟失的方法。 11
30.寫一個你最熟悉的函數,輸出「hello,world!」(易) 12
31.面向對象的特色 12
32.編寫一個簡單模型實現定義的接口,實現接口和使用接口。(易) 12
33.頁面中有兩個文本框和一個按鈕,當點擊按鈕時交換兩個文本框的內容!可是單擊按時不能互換,你認爲問題出在哪?怎麼樣解決。 12
34.用THML實現上面表格,你要繪製的表格以下: 13
35.C#或java語言中abstract class和interface有什麼區別? 13
36.請說明C#與java語言中,方法中參數傳遞有哪幾種方式?C#中參數傳遞中設置ref或out關鍵字時,有什麼區別及做用? 14
37.序列化有什麼做用? 14
38. string str = null 和 string str = " " 有什麼區別? 14
34. 下面的文件後綴表明什麼 14
35. 在頁面上彈出對話框與確認框 14
36.string s=「1,2,3,4」去除逗號把剩下的裝入數組中 14
37. 在HTML中SPAN標籤中寫出一個小時鐘程序, 15
38.主題文件在什麼位置,怎麼在web.config文件中找到一個叫(spring)的皮膚配置. 15
39.Ajax都有什麼提交方式,有什麼不一樣,在Ajax中怎麼提交一個from。 15
40.怎麼在web.config文件中取到自定義配置. 15
41.一些特殊符號 製表符,回車符,換行符. 15
42.寫出一個完整的異常處理(try) 15
中等 16
1. StrTemp 是string變量 包含一些空格和字母,除去全部空格,並找英文字母,按順序排列 16
2.從面向對象的角度思考,什麼是多態。 16
3.Session有什麼重大的BUG,微軟提出了什麼方法加以解決? 16
4.CTS、CLS、CLR分別做何解釋? 16
5.C\S和B\S的區別。 16
6.軟件工程的最終目的(開發出高質量的軟件) 17
七、什麼是設計模式?列出你所知道的幾種寫出名稱 17
8.寫一個判斷某正整數是不是素數的函數。 17
9.類設計:寫一個學生選課系統,C#語言,定義類以及每一個類的基本屬性和方法,方法只寫方法名和註釋便可。 18
10.如何解決數據庫的併發訪問(中) 18
11.請描述一下MVC結構,什麼是數據庫中的視圖,存儲過程,事務 18
12.什麼是深拷貝,淺拷貝?淺拷貝常常會出現什麼問題? 19
13.談談你對Webservice的解釋 19
較難 19
1.有一個3L和5L的杯子,怎樣量出4L?用公式表達 19
2.寫出軟件的開發流程 19
3.九宮格,裏面有個一個球,要求每當鼠標移動到小球上,小球就像相鄰的格里移動,說出思路 19
4查找頁面上全部TextBox並把文本設爲空。 20
5.看代碼,寫結果: 21
6. 你日常的項目是怎麼樣架構的? 21
七、簡述List、set、Map各實現哪些接口,有什麼區別 22
八、有一個Double型變量,不一樣的國家存放不一樣的數據,美國習慣用$10321.50,英國習慣用£10321.50,請問用什麼方法能夠按照不一樣國家的習慣進行輸出?(中) 22
9.程序訪問數據庫記錄速度很慢,分析什麼緣由形成以及解決辦法。 22
10.遊標的聲明與使用,如何判斷記錄已到達最末尾 23
11.如何用JavaScript實現一個浮動圖片,能夠隨滾動條的移動而移動 23
12.什麼是面向對象? 23
13.抽象工廠模式和工廠模式的區別?(易) 24
14.編寫一個ADO.NET中的事務的使用模型。(難) 24
選擇題部分: 25
簡單 25
中等 29
較難 32
SQL Server部分 32
簡單 32
1.什麼是inserted表?什麼是deleted表? 32
2..在成績表中,小於60分爲不及格,大於60分爲及格,大於80分爲優秀,請用一條SQL語句查詢。 33
3.tb_send表中有日期時間字段SendTime,請用SQL語句查處當天全部記錄. 34
4. sql查詢,表table(id,lastUpdateDate);第一個字段爲標識列,第二個爲最後更新時間。使用一條sql語句查出最近一次的修改時間 34
5.舉例寫出表的左右關聯查詢(易) 34
6.看錶寫SQL 34
7.寫出一條查詢全部用戶當tid爲1的時候顯示普通用戶,爲2時顯示VIP用戶 34
8.寫出一條查詢全部訂單數大於3條的用戶 35
9.刪除3張表CId=3的全部記錄? 35
10.數據庫定義一個int變量。括號裏是面試時問的(數據庫中怎麼將Int類型轉換成sting) 35
11.怎麼聲明一個table 怎麼在在表中申明列a 和列b 以及怎麼給列賦值。 35
12.查詢訂單在2005-8月之後的全部訂單,而且訂單時間爲空的時候顯示未送達 35
13.查詢時間最近的三條記錄。 35
14.怎麼調用存儲過程 寫好了一個存儲過程,讓你在數據庫中調用。 35
15.有一張表 主鍵ID 一共有10條記錄 其餘字段自定義 按照順序把數據從數據庫中依次讀出來! 35
16.描述C#中索引器實現的過程 是否只有數字能夠做爲索引 35
17.看數據寫結果表中已存在內容: 36
18. 表中有A B C三列, 36
19. 有一張表,裏面有3個字段:語文,數學,英語。 37
20.sqlserver2000是一種大型數據庫,他的存儲容量只受存儲介質的限制,請問它都要那些類型的文件組成,並說明其不一樣 37
中等 38
1. 查詢表中stuAge字段有重複值的數據: 38
2.用 table2中科目餘額更新table1中的科目餘額,不在table2中出現的科目不更新。 38
3.查出表中11到20條記錄,ID做爲主鍵(ID可能不是連續的); 39
4. SQL語句編寫T表前10行記錄,總行數。(易) 39
5.看錶數據寫sql語句 39
6.執行以下sql語句 40
7.在sqlserver2000中請用sql建立一張用戶臨時表和系統臨時表,裏面包含兩個字段ID和IDValues,類型都是int型,並解釋二者的區別? 41
較難 41
1.看錶,寫出實現的SQL語句 41
上機題部分 42
1.winForm上機(TreeView,ListView) 42
2. GridView & 自定義樣式: 42
3.Asp.net上機(GridView) 43
4.Asp.net上機(DropDownList & GridView) 43
5.使用WinForm繪圖 43
6.用Asp.net實現登錄 43
7.GridView操做 44
8.Asp.net上機(1至2天完成) 44
9. Asp.net上機(1至2天完成) 44
答:SQL注入是常見的利用程序漏洞進行攻擊的方法。致使sql注入攻擊並不是系統形成的,主要是程序中忽略了安全因素,利用sql語言漏洞得到合法身份登錄系統
例如:
"Select * from users where name='"+uName+"' and pwd='"+uPwd+"' "
如用戶在t_name中輸入tom’ or 1=‘1 就能夠進入系統了。
生成語句:
Select * from users where name = ‘tom’ or 1=‘1’ and pwd=‘123’
防止sql注入的方法有以下幾點:
使用參數化過濾語句
在web應用程序的開發過程當中全部階段實施代碼安全檢察
使用存儲過程
答:1.合理的使用索引(例如在頻繁做爲條件的列,常常做爲排序或分組的列)
2.只查詢必要的列,避免 *
3.避免或簡化排序
4.使用存儲過程
5.使用dataReader讀取數據
6.使用reapter控件顯示
答:string對象在內存中是隻讀的,每次在調用string類方法是,都要在內存中建立一個新的字符串對象。StringBuilder能夠修改字符串而不建立新的對象。
答:xml[eXtensible Markup Language](可擴展標記語言)提供一種描述結構化數據的方法。
Html(超文本標記語言)主要用於控制數據的顯示和外觀。
區別:
XML是區分大小寫字母的,HTML不區分。
在HTML中,若是上下文清楚地顯示出段落或者列表鍵在何處結尾,那麼你能夠省略或者之類的結束 標記。在XML中,絕對不能省略掉結束標記。
在XML中,擁有單個標記而沒有匹配的結束標記的元素必須用一個 / 字符做爲結尾。這樣分析器就知道不用 查找結束標記了。
在XML中,屬性值必須分裝在引號中。在HTML中,引號是可用可不用的。
在HTML中,能夠擁有不帶值的屬性名。在XML中,全部的屬性都必須帶有相應的值。
答: foreach (Control ctl in this.Controls)
{
if (ctl is TextBox || ctl is ComboBox)
{
ctl.Text = string.Empty;
}
}
答:public class MainClass
{
public static void Main()
{
Console.WriteLine(Foo(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);
}
}
答:
int [] array = new int [*] ;
int temp = 0 ;
for (int i = 0 ; i < array.Length - 1 ; i++)
{
for (int j = i + 1 ; j < array.Length ; j++)
{
if (array[j] < array[i])
{
temp = array[i] ;
array[i] = array[j] ;
array[j] = temp ;
}
}
}
答:聲明方法的存在而不去實現它的類被叫作抽像類(abstract class),它用於要建立一個體現某些基本行爲的類,併爲該類聲明方法,但不能在該類中實現該類的狀況。
不能建立abstract 類的實例。然而能夠建立一個變量,其類型是一個抽像類,並讓它指向具體子類的一個實例。
不能有抽像構造函數或抽像靜態方法。
Abstract 類的子類爲它們父類中的全部抽像方法提供實現,不然它們也是抽像類爲。取而代之,在子類中實現該方法。知道其行爲的其它類能夠在類中實現這些方法。
接口(interface)是抽像類的變體。在接口中,全部方法都是抽像的。
多繼承性可經過實現這樣的接口而得到。接口只能夠定義static final成員變量。接口的實現與子類類似,除了該實現類不能從接口定義中繼承行爲。當類實現特殊接口時,它定義(即將程序體給予)全部這種接口的方法。而後,它能夠在實現了該接口的類的任何對像上調用接口的方法。
答:using:
1) 引入命名空間
2) using別名。using + 別名 = 包括詳細命名空間信息的具體的類型。
3) 定義一個範圍,在範圍結束時處理對象。
new:
1)new 運算符:用於建立對象和調用構造函數。
2)new 修飾符:在用做修飾符時,new 關鍵字能夠顯式隱藏從基類繼承的成員。
3)new 約束:用於在泛型聲明中約束可能用做類型參數的參數的類型。
例:
namespace WindowsApplication6
{
public class Employee
{
private string name;
private int id;
public Employee()
{
name = "Temp";
id = 0;
}
public Employee(string s, int i)
{
name = s;
id = i;
}
public string Name
{
get { return name; }
set { name = value; }
}
public int ID
{
get { return id; }
set { id = value; }
}
}
class ItemFactory<T> where T : new()
{
public T GetNewItem()
{
return new T();
}
}
}
private void btnTest_Click(object sender, EventArgs e)
{
ItemFactory<Employee> EmployeeFactory = new ItemFactory<Employee>();
////此處編譯器會檢查Employee是否具備公有的無參構造函數。
//若沒有則會有The Employee must have a public parameterless constructor 錯誤。
Console.WriteLine("{0}'ID is {1}.", EmployeeFactory.GetNewItem().Name, EmployeeFactory.GetNewItem().ID);
}
答 :override 與重載的區別。重載是方法的名稱相同。參數或參數類型不一樣,進行屢次重載以適應不一樣的須要
Override 是進行基類中函數的重寫。爲了適應須要。
答:sealed 修飾符用於防止從所修飾的類派生出其它類。若是一個密封類被指定爲其它類的基類,則會發生編譯時錯誤。密封類不能同時爲抽象類。
答:net中接口能夠繼承接口,抽象類能夠實現接口,抽象類能夠繼承實體類。
答:a=a+b; b=a-b; a=a-b;
答:Server.MapPath();
Request.MapPath();
答:字段 構造函數 析構函數
答:asp包含如下6大對象:
1)Request對象:封裝了由web瀏覽器或其餘客戶端生成的http請求的細節(參數,屬性和數據),提供從瀏覽器讀取信息或者讀取客戶端信息等功能,用於頁面請求期。
2)Response對象:封裝了返回到http客戶端的輸出,提供向瀏覽器輸出信息或發送指令,用於頁面執行期。
3)Server 對象:提供對服務器上的方法和屬性的訪問。其中大多數方法和屬性是做爲實用程序的功能服務的。
4)ObjectContext對象:該對象用於控制Active Server Pages的事務處理。事務處理由Microsoft Transaction Server (MTS)管理。
5)Server 對象:Server 對象提供對服務器上的方法和屬性的訪問。其中大多數方法和屬性是做爲實用程序的功能服務的。
6)Session對象:爲某個用戶提供共享信息,做用於用戶會話期。
答:泛型:泛型是 C# 2.0 的最強大的功能。經過泛型能夠定義類型安全的數據結構,而無須使用實際的數據類型。這可以顯著提升性能並獲得更高質量的代碼,由於您能夠重用數據處理算法,而無須複製類型特定的代碼。在概念上,泛型相似於 C++ 模板,可是在實現和功能方面存在明顯差別。
泛型的集合:泛型集合是泛型的最顯著應用,能夠約束類內的元素類型,比較典型的泛型集合是List<T>和Dictionary<K,V>
答:委託是指具備相同屬性(也稱具備相同的函數簽名:返回類型相同,參數類型、參數順序及參數個數相同)的函數或方法的抽象,關鍵字爲delegate。主要用途是三個:1)函數回調;2)傳遞方法;3)事件機制
定義委託的格式:
[做用域] delegate <返回類型> 委託名([參數列表]);
答:在.net中,類與結構的區別以下:
類屬於引用類型,而結構屬於值類型
類能夠被繼承,而結構不能被繼承
類能夠有默認的構造函數,而結構沒有默認構造函數
類可自行添加無參構造函數,機構不能添加無參構造函數,可手動添加有參構造
類在建立對象時必須使用new關鍵字,結構可不用new
類中的字段在聲明時可賦初值,結構在聲明字段時不能賦初值
類和結構的相同點:
均可包含字段,屬性和方法
均可以實現接口
答:
|
類內部 |
同一程序集的派生類 |
同一程序集的其餘類 |
不一樣程序集的派生類 |
不一樣程序集的其餘類 |
private |
能夠 |
不能夠 |
不能夠 |
不能夠 |
不能夠 |
Protected |
能夠 |
能夠 |
不能夠 |
能夠 |
不能夠 |
Internal |
能夠 |
能夠 |
能夠 |
不能夠 |
不能夠 |
Public |
能夠 |
能夠 |
能夠 |
能夠 |
能夠 |
namespace a
{
public class A{
protected string str="str";
}
}
namespace b
{
using a;
public class B{
public static void Main()
{
A obj=new A();
obj.str="abc";
}
}
}
以上代碼可否正確編譯,爲何?
答,沒法經過編譯,B類不能訪問A類的protected成員。
答:Ado.net中鏈接數據庫主要有一下幾個對象:
Connection:創建與特定數據源的鏈接
Command:對數據源執行命令
DataReader:從數據源中讀取只進且只讀的數據流
DataAdapter:用數據源填充DataSet並解析更新
Parmaeter:表示 Command 的參數
Transaction:表示要在數據源執行的 SQL 事務
答:int屬與c#中定義int32的整數類型,integer在vb.net用於定義整形變量
答 :JavaScript的變量做用域以下:
A )全局變量:在整個頁面均可訪問,聲明在Script塊內
B )局部變量:只在方法中可用,聲明在函數體內
注:javascript的變臉可不聲明直接使用,若是在函數內直接使用了一個變量,如函數外沒有同名變臉的聲明,則此變量爲局部變量
答:
將值類型轉換爲引用類型的過程稱爲裝箱
反之稱爲拆箱
答:能夠獲取有關已加載的程序集和在其中定義的類型(如類、接口和值類型)的信息。使用反射在運行時建立類型實例,以及調用和訪問這些實例。
如下代碼輸出結果爲?
Class A
{ Public A (){PrintFields();}
Public virtual void PrintFields()
{}
}
Class B:A
{ int x=10; int y ;
Public B () {y=10}
Public override void PrintFields ()
{ console WriteLine (「x={0},y={1}」,x,y);}
}
答:若是代碼正確運行的話
x=10,y=0
x=10,y=10
答:
虛函數>被virtual關鍵字修飾的成員函數
抽象函數>沒有給出具體解析式的函數
反射>提供了封裝程序集、模塊和類型的對象
答:延長session的保存時間,加內存。
class xxx{
public static void main(stirng[] args)
{ System.Console.Write(「hello,world!」);}
}
答:封裝,繼承,多態
有一串字符`B`,`D`,`A`,`E`,`H`,`G`,`S`,`M`,`F`對字串從小到大進行排序,寫出關鍵代碼(易)
答:
Char[] chs = new char[]{`B`,`D`,`A`,`E`,`H`,`G`,`S`,`M`,`F`};
Array.Sort(chs);
答:interface ITest{ void TestMethod() }
class Test ITest{ void TestMethod() {Console.Write(「aaa」);}}
…
ITest t = new Test();
t. TestMethod();
Private void page_load(object sender,System.Eventhings.e)
{
This.TextBox1.Text=」This is the first request to this age」;
This.TextBox2.Text=」Exchage the content of the two text boxs」;
}
Private void Button1_Click(object sender1,System.Eventhings.e)
{
String temp= This.TextBox1.Text;
This.TextBox1.Text= This.TextBox2.Text;
This.TextBox2.Text=temp;
}
答:IsPostBack;
if(!IsPostBack){
This.TextBox1.Text=」This is the first request to this age」;
This.TextBox2.Text=」Exchage the content of the two text boxs」;
}
員工信息 |
||||
姓名 |
|
性別 |
|
照片 |
聯繫地址 |
|
聯繫電話 |
|
答:
<table border="1">
<tr align="center">
<td colspan="5">員工信息</td>
</tr>
<tr>
<td width="87">姓名</td>
<td width="63"> </td>
<td width="93">性別</td>
<td width="93"> </td>
<td width="86" rowspan="2" align="center" valign="top">照片</td>
</tr>
<tr>
<td>聯繫地址</td>
<td> </td>
<td>聯繫電話</td>
<td> </td>
</tr>
</table>
答:聲明方法的存在而不去實現它的類被叫作抽象類(abstract class),它用於要建立一個體現某些基本行爲的類,併爲該類聲明方法,但不能在該類中實現該類的狀況。不能建立abstract 類的實例。然而能夠建立一個變量,其類型是一個抽象類,並讓它指向具體子類的一個實例。不能有抽象構造函數或抽象靜態方法。Abstract 類的子類爲它們父類中的全部抽象方法提供實現,不然它們也是抽象類爲。取而代之,在子類中實現該方法。知道其行爲的其它類能夠在類中實現這些方法。接口(interface)是抽象類的變體。在接口中,全部方法都是抽象的。多繼承性可經過實現這樣的接口而得到。接口中的全部方法都是抽象的,沒有一個有程序體。接口只能夠定義static final成員變量。接口的實現與子類類似,除了該實現類不能從接口定義中繼承行爲。當類實現特殊接口時,它定義(即將程序體給予)全部這種接口的方法。而後,它能夠在實現了該接口的類的任何對象上調用接口的方法。因爲有抽象類,它容許使用接口名做爲引用變量的類型。一般的動態聯編將生效。引用能夠轉換到接口類型或從接口類型轉換,instanceof 運算符能夠用來決定某對象的類是否實現了接口
答out適合用在須要retrun多個返回值的地方,而ref則用在須要被調用的方法修改調用者的引用的時候
答:將對象轉換爲另外一種媒介傳輸的格式過程。如,序列化一個對象,用Http經過internet在客戶端和服務器之間傳遞該對象,在另外一端用反序列化從該流中從新獲得對象
答:string str=null;
不在內存中開闢空間
string str="";
在內存中開闢空間,但空間中沒有值(""也是一個字符串)
*.cs——後置代碼文件 |
*.aspx——頁面文件 |
*.dll——動態連接庫文件 |
*.ascx——用戶控件文件 |
*.asmx——web服務文件 |
*.pdb——調試符號文件 |
*.master——模板文件 |
*.xml—— 可擴展層次化文件 |
Web.config——Web應用程序的配置信息文件 |
*.sitmap——站點地圖文件 |
*.ashx——通常處理程序文件 |
*.css——樣式表 |
*.sln____解決方案 |
*.proj 項目文件 |
*.webininfo——存放路徑用的 |
答:Window.Alert(‘’)
Return Window.confirm(‘’)
答:參考split,代碼略
答:核心:setInterval()代碼略
答:App_Themes , <pages theme="">
1同步和異步,一個等待完成,一個繼續執行。
2採用post就能夠了
<configSections>
<section name="bestitnet" type="BestItNet.Common.SectionHandler,bestitnet"/>
</configSections>
XmlDocument doc = new XmlDocument();
doc.Load(Request.PhysicalApplicationPath + "/web.config");
XmlNode node = doc.SelectSingleNode("configuration/configSections/section/@type");
Response.Write(node.Value);
\t \r \n
\n 換行,將當前位置移到下一行開頭
\r 回車,將當前位置移到本行開頭
\t tab 默認8個空格
try
{
}
catch (Exception)
{
throw;
}
finally
{
}
答:
//去除中文:
string s = "abcab-中文 123fdDAFDASFaf";
s = System.Text.RegularExpressions.Regex.Replace(s, "[^a-z | A-Z]", "");
char[] arr = s.ToCharArray();
Array.Sort(arr);
s = new string(arr);
MessageBox.Show(s);
答:多態是指兩個或多個屬於不一樣類的對象,對於統一個消息(方法調用)做出不一樣響應的方式。
答:是iis中因爲有進程回收機制,系統繁忙的話Session會丟失,能夠用Sate server或SQL Server數據庫的方式存儲Session不過這種方式比較慢,並且沒法捕獲Session的END事件。
答:CTS:通用語言系統。CLS:通用語言規範。CLR:公共語言運行時。
答:C/S 與 B/S 區別:
Client/Server是創建在局域網的基礎上的.Browser/Server是創建在廣域網的基礎上的.
1.硬件環境不一樣:
C/S 通常創建在專用的網絡上, 小範圍裏的網絡環境, 局域網之間再經過專門服務器提供鏈接和數據交換服務.
B/S 創建在廣域網之上的, 沒必要是專門的網絡硬件環境,例與電話上網, 租用設備. 信息本身管理. 有比C/S更強的適應範圍, 通常只要有操做系統和瀏覽器就行
2.對安全要求不一樣
C/S 通常面向相對固定的用戶羣, 對信息安全的控制能力很強. 通常高度機密的信息系統採用C/S 結構適宜. 能夠經過B/S發佈部分可公開信息.
B/S 創建在廣域網之上, 對安全的控制能力相對弱, 面向是不可知的用戶羣.
3.對程序架構不一樣
C/S 程序能夠更加註重流程, 能夠對權限多層次校驗, 對系統運行速度能夠較少考慮.
B/S 對安全以及訪問速度的多重的考慮, 創建在須要更加優化的基礎之上. 比C/S有更高的要求 B/S結構的程序架構是發展的趨勢, 從MS的.Net系列的BizTalk 2000 Exchange 2000等, 全面支持網絡的構件搭建的系統. SUN 和IBM推的JavaBean 構件技術等,使 B/S更加成熟.
4.軟件重用不一樣
C/S 程序能夠不可避免的總體性考慮, 構件的重用性不如在B/S要求下的構件的重用性好.
B/S 對的多重結構,要求構件相對獨立的功能. 可以相對較好的重用.就入買來的餐桌能夠再利用,而不是作在牆上的石頭桌子
5.系統維護不一樣
系統維護是軟件生存週期中,開銷大, -------重要
C/S 程序因爲總體性, 必須總體考察, 處理出現的問題以及系統升級. 升級難. 多是再作一個全新的系統
B/S 構件組成,方面構件個別的更換,實現系統的無縫升級. 系統維護開銷減到最小.用戶從網上本身下載安裝就能夠實現升級.
6.處理問題不一樣
C/S 程序能夠處理用戶面固定, 而且在相同區域, 安全要求高需求, 與操做系統相關. 應該都是相同的系統
B/S 創建在廣域網上, 面向不一樣的用戶羣, 分散地域, 這是C/S沒法做到的. 與操做系統平臺關係最小.
7.用戶接口不一樣
C/S 可能是創建的Window平臺上,表現方法有限,對程序員廣泛要求較高
B/S 創建在瀏覽器上, 有更加豐富和生動的表現方式與用戶交流. 而且大部分難度減低,減低開發成本.
8.信息流不一樣
C/S 程序通常是典型的中央集權的機械式處理, 交互性相對低
B/S 信息流向可變化, B-B B-C B-G等信息、流向的變化, 更象交易中心
答:軟件開發完成後隨時維護
l 軟件開發完成以後不在進行維護
l 開發出高質量的軟件
答:設計模式(Design pattern)是一套被反覆使用、多數人知曉的、通過分類編目的、代碼設計經驗的總結。使用設計模式是爲了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。Strategy, Visitor,MethodFactory
答:public static bool isPrime(int a)
{
int i;
for (i = 2; i < a; i++)
{
if (Math.IEEERemainder((float)a, (float)i) == 0) return false;
}
return true;
}
答:class student{ string name,int age, List< course > courses} class course{string title}
答案:引入鎖機制。
答:MVC
MVC模式是"Model-View-Controller"的縮寫,中文翻譯爲"模式-視圖-控制器"。
一個應用被分離爲三層,所以有時改變其中的一層就能知足應用的改變。一個應用的業務流程或者業務規則的改變只需改動MVC的模型層。
控制層的概念也頗有效,因爲它把不一樣的模型和不一樣的視圖組合在一塊兒完成不一樣的請求,所以,控制層能夠說是包含了用戶請求權限的概念。
最後,它還有利於軟件工程化管理。因爲不一樣的層各司其職,每一層不一樣的應用具備某些相同的特徵,有利於經過工程化、工具化產生管理程序代碼。
視圖:一個視圖是由SELECT語句組成的查詢定義的虛擬表
存儲過程:存儲過程(Stored Procedure)是一組爲了完成特定功能的SQL語句集,經編譯後存儲在數據庫中。用戶經過指定存儲過程的名字並給出參數(若是該存儲過程帶有參數)來執行它。存儲過程是數據庫中的一個重要對象。
事務: 事務(Transaction)是訪問並可能更新數據庫中各類數據項的一個程序執行單元(unit)。事務是恢復和併發控制的基本單位。
事務應該具備4個屬性:原子性、一致性、隔離性、持續性。這四個屬性一般稱爲ACID特性。
原子性(atomicity)。一個事務是一個不可分割的工做單位,事務中包括的諸操做要麼都作,要麼都不作。
一致性(consistency)。事務必須是使數據庫從一個一致性狀態變到另外一個一致性狀態。一致性與原子性是密切相關的。
隔離性(isolation)。一個事務的執行不能被其餘事務干擾。即一個事務內部的操做及使用的數據對併發的其餘事務是隔離的,併發執行的各個事務之間不能互相干擾。
持久性(durability)。持續性也稱永久性(permanence),指一個事務一旦提交,它對數據庫中數據的改變就應該是永久性的。接下來的其餘操做或故障不該該對其有任何影響。
答:淺拷貝 指的是你的類自己被拷貝,而沒有拷貝類自己屬性中的類
深拷貝 指的是包含類自己和屬性類在內的全部類的拷貝。
答:Web Service主要是爲了使原來各孤立的站點之間的信息可以相互通訊、共享而提出的一種接口。 Web Service所使用的是Internet上統1、開放的標準,如HTTP、XML、SOAP(簡單對象訪問協議)、WSDL等,因此Web Service能夠在任何支持這些標準的環境(Windows,Linux)中使用。注:SOAP協議(Simple Object Access Protocal,簡單對象訪問協議),它是一個用於分散和分佈式環境下網絡信息交換的基於XML的通信協議。在此協議下,軟件組件或應用程序可以經過標準的HTTP協議進行通信。它的設計目標就是簡單性和擴展性,這有助於大量異構程序和平臺之間的互操做性,從而使存在的應用程序可以被普遍的用戶訪問。
答:1、5L裝滿水倒入3L杯子,5L杯中餘2L
2、3L杯子清空,將5L杯子中的2L倒入3L杯中
3、5L杯子裝滿
4、倒入已有2L水的3L杯中此時5L杯中就有4L水了
公式:設5L的杯子爲x, 3L的杯子爲y
2*y-x+y
答:1.需求分析:咱們要知道客戶想要的是怎樣一個系統,要有哪些功能等。
2.問題定義:主要是要搞清楚,咱們要解決什麼樣的問題
3.可行性分析:咱們要明確所定義的項目是否是可以實現和值得開發,也就是在技術,經濟,運行可行性,法律可行性方面進行分析。
4.概要設計與結構化設計,這個階段主要是要分析出,咱們要怎樣實現系統,軟件設計包括概要設計時應該遵循的基本原理。
5.詳細設計,肯定具體怎麼樣實現所要求的系統
6.編碼與軟件測試:
7.軟件測試與維護。
答: 給你一個思路,此思路不只能解決3*3的格子相加的問題。
還能解決 5*5 7*7 9*9 等等奇數個格子的問題,以此類推。。。
這就是任意奇階幻方的構造法,中國早在大禹治水的時候就已經發現了這個規律的。宋代數學家楊輝更有總結:「九子排列,上下對易,左右相更,四維挺出。」,閒話不說,開始吧:
咱們以 3*3 爲例,一共有9個格子,就是九宮格了。
那麼咱們要填寫1~9 共9個數字。
咱們用 R 表示行,C 表示列。例如 R9C7 就表示第9行第7列
首先,把 「1」填寫到第一列,中間行的一個格子。對於3*3的格子來講就是 R2C1
好了,其餘的數字只要按照如下規律填寫就能夠了:
從1開始,按順序把其餘數字填寫在上一個數字的左上角。若是遇到左上角已經被填寫,就填寫在同一行的右邊一個格便可,而後繼續左上角。。。。注意:把上下左右看做是鏈接起來的
例如:如今3*3的格子。咱們把「1」填寫在 R2C1
那麼「2」就應該填寫在R2C1的左上角,也就是縱座標和橫座標各減「1」,即,填寫「2」的格子的座標就是 R1C0 但是沒有C0 這個列啊,剛纔咱們講了,把左右當作是連接起來的。也就是能夠吧 C3 當作是C0,那麼咱們就找到了「2」該填寫的地方,也就是 R1C3,而後再來填寫「3」,把上下當作是連接起來的,就應該把「3」填寫在 R3C2,而後「4」應該填寫在 R2C1,可是這個時候R2C1已經填寫了「1」了,因此咱們按照規則,把他填寫在右邊,就是在「3」的右邊,即R3C3,接着又把「5」填寫在 R2C2 以此類推就能獲得正確結果。。。。。
填寫好的形式以下:
6 7 2
1 5 9
8 3 4
答:
一.WinForm下的解決方式:
foreach (Control ctl in this.Controls)
{
if (ctl is TextBox || ctl is ComboBox)
{
ctl.Text = string.Empty;
}
}
二.Asp.net下的解決方式:
function ClearAllValue()
{
var items=document.getElementsByTagName(「input」);
for(i=0;i<items.length;i++)
{
if(items[i].type==」text」)
{
items[i].value=「」;
}
}
}
代碼以下:
class Stuff {
static int i = 10;
static {i += 5;}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(i);
}
static {i /= 3;}
}
輸出多少,爲何?
答:輸出5,static能夠保持變量內容的持久。當第一步執行後i=10,進入到第二個靜態塊,i+=5後i=15;而後執行最下面的靜態塊,全部i=5,最後輸出。
答:使用3層架構規劃項目。三層架構(3-tier application) 一般意義上的三層架構就是將整個業務應用劃分爲:表現層(UI)、業務邏輯層(BLL)、數據訪問層(DAL)。區分層次的目的即爲了「高內聚,低耦合」的思想。
1、表現層(UI):通俗講就是展示給用戶的界面,即用戶在使用一個系統的時候他的所見所得。
2、業務邏輯層(BLL):針對具體問題的操做,也能夠說是對數據層的操做,對數據業務邏輯處理。
3、數據訪問層(DAL):該層所作事務直接操做數據庫,針對數據的增、刪、改、查。
[編輯本段]概述
在軟件體系架構設計中,分層式結構是最多見,也是最重要的一種結構。微軟推薦的分層式結構通常分爲三層,從下至上分別爲:數據訪問層、業務邏輯層(又或成爲領域層)、表示層。
三層結構原理:
3個層次中,系統主要功能和業務邏輯都在業務邏輯層進行處理。
所謂三層體系結構,是在客戶端與數據庫之間加入了一個「中間層」,也叫組件層。這裏所說的三層體系,不是指物理上的三層,不是簡單地放置三臺機器就是三層體系結構,也不只僅有B/S應用纔是三層體系結構,三層是指邏輯上的三層,即便這三個層放置到一臺機器上。
三層體系的應用程序將業務規則、數據訪問、合法性校驗等工做放到了中間層進行處理。一般狀況下,客戶端不直接與數據庫進行交互,而是經過COM/DCOM通信與中間層創建鏈接,再經由中間層與數據庫進行交互。
表示層
位於最外層(最上層),離用戶最近。用於顯示數據和接收用戶輸入的數據,爲用戶提供一種交互式操做的界面。
業務邏輯層
業務邏輯層(Business Logic Layer)無疑是系統架構中體現核心價值的部分。它的關注點主要集中在業務規則的制定、業務流程的實現等與業務需求有關的系統設計,也便是說它是與系統所應對的領域(Domain)邏輯有關,不少時候,也將業務邏輯層稱爲領域層。例如Martin Fowler在《Patterns of Enterprise Application Architecture》一書中,將整個架構分爲三個主要的層:表示層、領域層和數據源層。做爲領域驅動設計的先驅Eric Evans,對業務邏輯層做了更細緻地劃分,細分爲應用層與領域層,經過分層進一步將領域邏輯與領域邏輯的解決方案分離。
業務邏輯層在體系架構中的位置很關鍵,它處於數據訪問層與表示層中間,起到了數據交換中承上啓下的做用。因爲層是一種弱耦合結構,層與層之間的依賴是向下的,底層對於上層而言是「無知」的,改變上層的設計對於其調用的底層而言沒有任何影響。若是在分層設計時,遵循了面向接口設計的思想,那麼這種向下的依賴也應該是一種弱依賴關係。於是在不改變接口定義的前提下,理想的分層式架構,應該是一個支持可抽取、可替換的「抽屜」式架構。正由於如此,業務邏輯層的設計對於一個支持可擴展的架構尤其關鍵,由於它扮演了兩個不一樣的角色。對於數據訪問層而言,它是調用者;對於表示層而言,它倒是被調用者。依賴與被依賴的關係都糾結在業務邏輯層上,如何實現依賴關係的解耦,則是除了實現業務邏輯以外留給設計師的任務。
數據層
數據訪問層:有時候也稱爲是持久層,其功能主要是負責數據庫的訪問,能夠訪問數據庫系統、二進制文件、文本文檔或是XML文檔。
簡單的說法就是實現對數據表的Select,Insert,Update,Delete的操做。若是要加入ORM的元素,那麼就會包括對象和數據表之間的mapping,以及對象實體的持久化。
答:List和Set繼承了Collection接口,而Map沒有繼承Collection接口
Collection是最基本的集合接口,一個Collection表明一組Object,即Collection的元素(Elements)。
全部實現Collection接口的類都必須提供兩個標準的構造函數:無參數的構造函數用於建立一個空的Collection,有一個Collection參數的構造函數用於建立一個新的Collection。
如何遍歷Collection中的每個元素?不論Collection的實際類型如何,它都支持一個iterator()的方法,該方法返回一個迭代子,
使用該迭代子便可逐一訪問Collection中每個元素。典型的用法以下:
Iterator it = collection.iterator();
while(it.hasNext()) {
Object obj = it.next();
}
由Collection接口派生的兩個接口是List和Set。List和Set的區別:List必須保持元素特定的順序,而Set不能有重複元素。
答:CultureInfo對象
答案:
緣由不少種,其可能的典型以下:
查詢語句自己形成的。優化語句
表結構問題。增長索引
網絡環境形成。優化網絡
系統瓶頸。優化系統
硬件形成的。升級硬件
答案:
declare @myCur Cursor
declare mySet Cursor for
select * from 表名
set @muCur=mySet
open mySet
fetch next from mySet
while @@FETCH_STATUS=0
begin
fetch next from mySet
end
close mySet
deallocate mySet
答:<div id="oLayer" style="position:absolute;left:30;top:60;">
<img src="images\quick.gif";>
</div>
<SCRIPT>
document.write(new Array(100).join("<br>"))
var init_pos=last_pos=oLayer.style.posTop
setInterval(function scrollit(){ target_pos=document.body.scrollTop+init_pos
step=(target_pos-last_pos)/10|0 oLayer.style.posTop+=step last_pos+=step },1)
</script>
答:面向對象的基本概念分爲如下幾點》
(1)對象:對象是人們要進行研究的任何事物,從最簡單的整數到複雜的飛機等都可看做對象,它不只能表示具體的事物,還能表示抽象的規則、計劃或事件。
(2)對象的狀態和行爲:對象具備狀態,一個對象用數據值來描述它的狀態。
對象還有操做,用於改變對象的狀態,對象及其操做就是對象的行爲。
對象實現了數據和操做的結合,使數據和操做封裝於對象的統一體中
(3)類:具備相同或類似性質的對象的抽象就是類。所以,對象的抽象是類,類的具體化就是對象,也能夠說類的實例是對象。
類具備屬性,它是對象的狀態的抽象,用數據結構來描述類的屬性。
類具備操做,它是對象的行爲的抽象,用操做名和實現該操做的方法來描述。
(4)類的結構:在客觀世界中有若干類,這些類之間有必定的結構關係。一般有兩種主要的結構關係,即通常--具體結構關係,總體--部分結構關係。
①通常——具體結構稱爲分類結構,也能夠說是「或」關係,或者是「is a」關係。
②總體——部分結構稱爲組裝結構,它們之間的關係是一種「與」關係,或者是「has a」關係。
(5)消息和方法:對象之間進行通訊的結構叫作消息。在對象的操做中,當一個消息發送給某個對象時,消息包含接收對象去執行某種操做的信息。發送一條消息至少要包括說明接受消息的對象名、發送給該對象的消息名(即對象名、方法名)。通常還要對參數加以說明,參數能夠是認識該消息的對象所知道的變量名,或者是全部對象都知道的全局變量名。
答:工廠方法模式:一個抽象產品類,能夠派生出多個具體產品類。
一個抽象工廠類,能夠派生出多個具體工廠類。
每一個具體工廠類只能建立一個具體產品類的實例。
抽象工廠模式:多個抽象產品類,每一個抽象產品類能夠派生出多個具體產品類。
一個抽象工廠類,能夠派生出多個具體工廠類。
每一個具體工廠類能夠建立多個具體產品類的實例。
區別:工廠方法模式只有一個抽象產品類,而抽象工廠模式有多個。
工廠方法模式的具體工廠類只能建立一個具體產品類的實例,而抽象工廠模式能夠建立多個。
答:
…
string connectionString=@」鏈接字符串」;
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
SqlCommand command = connection.CreateCommand();
SqlTransaction transaction;
transaction = connection.BeginTransaction("SampleTransaction");
command.Connection = connection;
command.Transaction = transaction;
try
{
command.CommandText = "Insert語句1";
command.ExecuteNonQuery();
command.CommandText = "Insert語句2";
command.ExecuteNonQuery();
transaction.Commit();
Console.WriteLine("Both records are written to database.");
}
catch (Exception ex)
{
Console.WriteLine("Commit Exception Type: {0}", ex.GetType());
Console.WriteLine(" Message: {0}", ex.Message);
try
{
transaction.Rollback();
}
catch (Exception ex2)
{
Console.WriteLine("Rollback Exception Type: {0}", ex2.GetType());
Console.WriteLine(" Message: {0}", ex2.Message);
}
}
}
1.裝箱、拆箱操做發生在: ( C )
A.類與對象之間 B.對象與對象之間
C.引用類型與值類型之間 D.引用類型與引用類型之間
2.裝箱與拆箱操做是不是互逆的操做?(B )
A.是 B.否
3.如下哪一個是能夠變長的數組?( D )
A.Array B.string[]
C.string[N] D.ArrayList
4.用戶自定義異常類須要從如下哪一個類繼承:( C )
A.Exception B.CustomException
C.ApplicationException D.BaseException
5.Net依賴如下哪項技術實現跨語言互用性?( C )
A.CLR B.CTS C.CLS D.CTT
6.如下哪一個類是int的基類?( b )
A.Int32 B.Object C.ValueType D.Int16
7. 如下哪些能夠做爲接口成員?(多選) ( abde )
A.方法 B.屬性 C.字段 D.事件 E.索引器
F.構造函數 G.析構函數
8.如下關於ref和out的描述哪些項是正確的?(多選) ( acd )
A.使用ref參數,傳遞到ref參數的參數必須最早初始化。
B.使用out參數,傳遞到out參數的參數必須最早初始化。
C.使用ref參數,必須將參數做爲ref參數顯式傳遞到方法。
D.使用out參數,必須將參數做爲out參數顯式傳遞到方法。
9.「訪問範圍限定於此程序或那些由它所屬的類派生的類型」是對如下哪一個成員可訪問性含義的正確描述?( b )
A.public B.protected C.internal D.protected internal
10. 在對SQL Server 數據庫操做時應選用(A)。
a)SQL Server .NET Framework 數據提供程序;
b)OLE DB .NET Framework 數據提供程序;
c)ODBC .NET Framework 數據提供程序;
d)Oracle .NET Framework數據提供程序;
11. 關於ASP.NET中的代碼隱藏文件的描述正確的是(C)
a)Web窗體頁的程序的邏輯由代碼組成,這些代碼的建立用於與窗體交互。編程邏輯惟一與用戶界面不一樣的文件中。該文件稱做爲「代碼隱藏」文件,若是用C#建立,該文件將具備「.ascx.cs」擴展名。
b)項目中全部Web窗體頁的代碼隱藏文件都被編譯成.EXE文件。
c)項目中全部的Web窗體頁的代碼隱藏文件都被編譯成項目動態連接庫(.dll)文件。
d)以上都不正確。
12 如下描述錯誤的是(A)
a)在C++中支持抽象類而在C#中不支持抽象類。
b)C++中可在頭文件中聲明類的成員而在CPP文件中定義類的成員,在C#中沒有頭文件而且在同一處聲明和定義類的成員。
c)在C#中可以使用 new 修飾符顯式隱藏從基類繼承的成員。
d)在C#中要在派生類中從新定義基類的虛函數必須在前面加Override。
13.下列描述錯誤的是(D)
a)類不能夠多重繼承而接口能夠;
b)抽象類自身能夠定義成員而接口不能夠;
c)抽象類和接口都不能被實例化;
d)一個類能夠有多個基類和多個基接口;
14.在DOM中,裝載一個XML文檔的方法(c)
a)save方法 b)load方法 c)loadXML方法 d)send方法
15.下列關於構造函數的描述正確的是(C)
a)構造函數能夠聲明返回類型。
b)構造函數不能夠用private修飾
c)構造函數必須與類名相同
d)構造函數不能帶參數
16. 如下是一些C#中的枚舉型的定義,其中錯誤的用法有(c)
a)public enum var1{ Mike = 100, Nike = 102, Jike }
b)public enum var1{ Mike = 100, Nike, Jike }
c)public enum var1{ Mike=-1 , Nike, Jike }
d)public enum var1{ Mike , Nike , Jike }
17. int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; myArray3[2][2]的值是(D)。
a)9 b)2 c)6 d)越界
18.接口是一種引用類型,在接口中能夠聲明(A),但不能夠聲明公有的域或私有的成員變量。
a)方法、屬性、索引器和事件; b)方法、屬性信息、屬性;
c)索引器和字段; d)事件和字段;
19.ASP.NET框架中,服務器控件是爲配合Web表單工做而專門設計的。服務器控件有兩種類型,它們是(A )
a)HTML控件和Web控件 b)HTML控件和XML控件
c)XML控件和Web控件 d)HTML控件和IIS控件
20.ASP.NET中,在Web窗體頁上註冊一個用戶控件,指定該控件的名稱爲」Mike」,正確的註冊指令爲( D)
a)<%@Register TagPrefix = 「Mike」 TagName = 「Space2」 Src = 「myX.ascx」%>
b)<%@Register TagPrefix = 「Space2」 TagName = 「Mike」 Src = 「myX.ascx」%>
c)<%@Register TagPrefix = 「SpaceX」 TagName = 「Space2」 Src = 「Mike」%>
d)以上皆非
21.在ADO.NET中,對於Command對象的ExecuteNonQuery()方法和ExecuteReader()方法,下面敘述錯誤的是(C)。
a)insert、update、delete等操做的Sql語句主要用ExecuteNonQuery()方法來執行;
b)ExecuteNonQuery()方法返回執行Sql語句所影響的行數。
c)Select操做的Sql語句只能由ExecuteReader()方法來執行;
d)ExecuteReader()方法返回一個DataReder對象;
22.下列ASP.NET語句(b)正確地建立了一個與SQL Server 2000數據庫的鏈接。
a)SqlConnection con1 = new Connection(「Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB」);
b)SqlConnection con1 = new SqlConnection(「Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB」);
c)SqlConnection con1 = new SqlConnection(Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB);
d)SqlConnection con1 = new OleDbConnection(「Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB」);
23.Winform中,關於ToolBar控件的屬性和事件的描述不正確的是(D)。
a)Buttons屬性表示ToolBar控件的全部工具欄按鈕
b)ButtonSize屬性表示ToolBar控件上的工具欄按鈕的大小,如高度和寬度
c)DropDownArrows屬性代表工具欄按鈕(該按鈕有一列值須要如下拉方式顯示)旁邊是否顯示下箭頭鍵
d)ButtonClick事件在用戶單擊工具欄任何地方時都會觸發
24.在ADO.NET中執行一個存儲過程時,若是要設置輸出參數則必須同時設置參數的方向和(d ),必要時還要設置參數尺寸。
a)大小; b)上限; c)初始值; d)類型;
25.若是將窗體的FormBoderStyle設置爲None,則( a)。
a)窗體沒有邊框並不能調整大小; b)窗體沒有邊框但能調整大小;
c)窗體有邊框但不能調整大小; d)窗體是透明的;
26.若是要將窗體設置爲透明的,則( B)
a)要將FormBoderStyle屬性設置爲None;
b)要將Opacity屬性設置爲小於100%得值;
c)要將locked 屬性設置爲True;
d)要將 Enabled屬性設置爲True;
27.下列關於C#中索引器理解正確的是(C )
a)索引器的參數必須是兩個或兩個以上 b)索引器的參數類型必須是整數型
c)索引器沒有名字 d)以上皆非
28.下面描述錯誤的是(c)。
a)窗體也是控件; b)窗體也是類; c)控件是從窗體繼承來的;
d)窗體的父類是控件類;
29.要建立多文檔應用程序,須要將窗體的(D )屬性設爲true。
a)DrawGrid; b)ShowInTaskbar; c)Enabled; d)IsMdiContainer;
30.若是設treeView1=new TreeView(),則treeView1.Nodes.Add("根節點")返回的是一個 (a)類型的值。
a)TreeNode;b)int;c)string;d)TreeView;
31.下面關於XML的描述錯誤的是(D)。
a)XML提供一種描述結構化數據的方法;
b)XML 是一種簡單、與平臺無關並被普遍採用的標準;
c)XML文檔可承載各類信息;
d)XML只是爲了生成結構化文檔;
32.您要建立一個顯示公司員工列表的應用程序。您使用一個DataGrid控件顯示員工的列表。您打算修改這個控件以便在這個Grid的Footer顯示員工合計數。請問您應該怎麼作?( C )
A.重寫OnPreRender事件,當Grid的Footer行被建立時顯示合計數。
B.重寫OnItemCreated事件,當Grid的Footer行被建立時顯示合計數。
C.重寫OnItemDataBound事件,當Grid的Footer行被建立時顯示合計數。
D. 重寫OnLayout事件,當Grid的Footer行被建立時顯示合計數。
32.您的公司有一個DB Server,名爲AllWin,其上裝了MS SQLSERVER 2000。如今須要您寫一個數據庫鏈接字符串,用以鏈接AllWin上SQL SERVER中的一個名爲PubBase實例的Test庫。請問,應該選擇下面哪個字符串?( B )
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」
33.您爲AllWin公司建立了一個ASP.NET應用程序。這個應用程序調用一個 Xml Web Service。這個 Xml Web Service 將返回一個包含了公司僱員列表的DataSet對象。請問您該如何在這個程序中使用這個 Xml Web Service?( b )
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 文件。
34.您要建立一個ASP.NET應用程序在DataGrid控件中顯示一個通過排序的列表。產品數據被存放於一個名爲PubBase的Microsoft SQL Server 數據庫。每一個產品的主鍵是ProductID,Numeric型而且每一個產品有一個字母描述字段,名爲ProductName。您使用一個SqlDataAdapter對象和一個SqlCommand對象經過調用一個存儲過程從數據庫中獲取產品數據。您將SqlCommand對象的CommandType屬性設置爲CommandType.StoredProcedure,並將它的CommandText屬性設置爲procProductList。您成功的獲取了一個DataTable對象,其中是已經按ProductID降序排列的產品列表。您打算顯示以相反的字母順序排列的ProductName,請問該怎麼作? ( B )
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控件。
1.用戶類若想支持Foreach語句須要實現的接口是: ( a )
A.IEnumerable B.IEnumerator
C.ICollection D.ICollectData
2. 對於一個實現了IDisposable接口的類,如下哪些項能夠執行與釋放或重置非託管資源相關的應用程序定義的任務?(多選) ( ABC )
A.Close B.Dispose C.Finalize
D.using E.Quit
3. class Class1
{
private static int count = 0;
static Class1()
{
count++;
}
public Class1()
{
count++;
}
}
Class1 o1 = new Class1();
Class1 o2 = new Class1();
請問,o1.Count的值是多少?( c )
A.1 B.2 C.3 D.4
4abstract class BaseClass
{
public virtual void MethodA()
{
}
public virtual void MethodB()
{
}
}
class Class1: BaseClass
{
public void MethodA(string arg)
{
}
public override void MethodB()
{
}
}
class Class2: Class1
{
new public void MethodB()
{
}
}
class MainClass
{
public static void Main(string[] args)
{
Class2 o = new Class2();
Console.WriteLine(o.MethodA());
}
}
請問,o.MethodA調用的是: ( c )
A.BaseClass.MethodA B.Class2.MethodA
C.Class1.MethodA D.都不是
5. 您須要建立一個ASP.NET應用程序,公司考慮使用Windows身份認證。
全部的用戶都存在於AllWin這個域中。您想要使用下列認證規則來配置這個應用程序:
• 匿名用戶不容許訪問這個應用程序。
• 全部僱員除了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>
6.如下描述錯誤的是(A)
a)在C++中支持抽象類而在C#中不支持抽象類。
b)C++中可在頭文件中聲明類的成員而在CPP文件中定義類的成員,在C#中沒有頭文件而且在同一處聲明和定義類的成員。
c)在C#中可以使用 new 修飾符顯式隱藏從基類繼承的成員。
d)在C#中要在派生類中從新定義基類的虛函數必須在前面加Override。
1. .Net Framework經過什麼與COM組件進行交互操做?( c )
A.Side By Side B.Web Service
C.Interop D.PInvoke
2. .Net依靠如下哪一項技術解決COM存在的Dll Hell問題的?( A)
A.Side By Side B.Interop
C.PInvoke D.COM+
3. .要對註冊表進行操做則必須包含( D)。
a)System.ComponentModel命名空間; b)System.Collections命名空間;
c)System.Threading命名空間; d)Microsoft.Win32命名空間;
4.您要建立ASP.NET應用程序用於運行AllWin公司內部的Web站點,這個應用程序包含了50個頁面。您想要配置這個應用程序以便當發生一個HTTP代碼錯誤時它能夠顯示一個自定義的錯誤頁面給用戶。您想要花最小的代價完成這些目標,您應該怎麼作?(多選)( CD )
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錯誤。
答:觸發器觸發時:
系統自動在內存中建立deleted表或inserted表
只讀,不容許修改;觸發器執行完成後,自動刪除
inserted 表
臨時保存了插入或更新後的記錄行
能夠從inserted表中檢查插入的數據是否知足業務需求
若是不知足,則向用戶報告錯誤消息,並回滾插入操做
deleted 表
臨時保存了刪除或更新前的記錄行
能夠從deleted表中檢查被刪除的數據是否知足業務需求
若是不知足,則向用戶報告錯誤消息,並回滾插入操做
觸發器的語法:
Create Trigger trigger_name On table_name For [Delete, Insert, Update]
as
T-SQL語句
GO
Insert觸發器實例:
CREATE TRIGGER trig_transInfo ON transInfo FOR INSERT
AS
DECLARE @type char(4),@outMoney MONEY
DECLARE @myCardID char(10),@balance MONEY
SELECT @type=transType,@outMoney=transMoney,
@myCardID=cardID FROM inserted
IF (@type='支取')
UPDATE bank SET currentMoney=currentMoney-@outMoney
WHERE cardID=@myCardID
ELSE
UPDATE bank SET currentMoney=currentMoney+@outMoney
WHERE cardID=@myCardID
…..
GO
Delete觸發器實例:
CREATE TRIGGER trig_delete_transInfo ON transInfo FOR DELETE
AS
print '開始備份數據,請稍後......'
IF NOT EXISTS(SELECT * FROM sysobjects
WHERE name='backupTable')
SELECT * INTO backupTable FROM deleted
ELSE
INSERT INTO backupTable SELECT * FROM deleted
print '備份數據成功,備份表中的數據爲:'
SELECT * FROM backupTable
GO
答:設有成績表Scores 包含字段ScoreId Score
查詢語句以下:
Select 成績=case
When score between(0 and 59) then ‘不及格’
When score between(60 and 79) then ‘及格’
When score between(80 and 100) then ‘優秀’
Else ‘無效成績’
End
From Score
答: select * from tb_send where datediff(day,sendTime,getdate())=0
答:select top 1 lastUpdateDate from [table] order by lastUpdateDate desc
答: select * from A left join B on A.id=B.id
select * from A right join B on A.id=B.id
Id |
1 |
自動增加,主鍵 |
|
Name |
Accp |
|
|
Tel |
1111111111 |
|
|
Datetime |
2008-1-1 |
|
|
查詢出時間在2008-1-1到2009-3-3的全部信息
更新id=8的name爲你的姓名,tel爲你的電話號碼
插入一行數據
答:1)select * from 表 where Datetime>=2008-1-1 and Datetime<=2009-3-3
2)select name as 姓名,tel as 電話號碼 from 表 where id=8
3)insert into 表(name,tel,datetime) values(‘ss’,’111111111’,’2009-01-01’)
答:Select case when tid=1 then ‘普通用戶’ when tid=2 then ‘VIP用戶’else ‘未知’end as title from 表名
Select * from T_Costomer where Cid in(select Cid from T_order group by Cid having count(*)>3)
Delete T_Record where Oid in(Select Oid from T_order where Cid=3)
Delete T_order where CId=3;
Delete T_Costomer where Cid=3;
答:使用Convert函數,convert(varchar(長度),任何有效的表達式)
答:create table 表名{a int, b int};
Insert into表名 values (1,1)
答:select case when時間列 is null then ‘未送達’else 時間列 end as 訂單時間 from 表名 where 時間列>’2005-8’
答:select top 3 * form 表名 order by 時間列 desc
答:Execute 存儲過程名 [參數列表]
答:select * from 表名 order by ID
答:使用this關鍵字做爲名稱,後接[]來定義參數列表,內部有set,get方法塊組成;能夠
已知表數據以下:
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
答:--assert1:
select * from tempTable
select date, sum(case when shengfu='勝' then 1 else 0 end)'勝',
sum(case when shengfu='負' then 1 else 0 end)'負'
from tempTable group by date
--assert2:
select S.date,S.勝,F.負 from
(select date,勝=count(*) from temptable where shengfu='勝'group by date) as S
inner join
(select date,負=count(*) from temptable where shengfu='負'group by date) as F
on S.date=F.date
用SQL語句實現:字段1的值爲當A列大於B列時選擇A列不然選擇B列,
字段2的值爲當B列大於C列時選擇B列不然選擇C列。
答:select 字段1=case when a>b then a
else b
end,
字段2=case when b>c then b
else c
end
from tempTableABC
其中有一條記錄分別表示語文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
答:
主要數據文件
主要數據文件是數據庫的起點,指向數據庫中文件的其它部分。每一個數據庫都有一個主要數據文件。主要數據文件的推薦文件擴展名是 .mdf。
次要數據文件
次要數據文件包含除主要數據文件外的全部數據文件。有些數據庫可能沒有次要數據文件,而有些數據庫則有多個次要數據文件。次要數據文件的推薦文件擴展名是 .ndf。
日誌文件
日誌文件包含恢復數據庫所需的全部日誌信息。每一個數據庫必須至少有一個日誌文件,但能夠不止一個。日誌文件的推薦文件擴展名是 .ldf。
例:
輸出結果以下:
答:
select * from stuinfo
where stuAge in
(
select stuAge from stuinfo
group by stuAge having count(*)>1
)
Update table1
set 科目餘額 = table2.科目餘額 from table2
where table1.科目= table2.科目
6. 查詢表中中間的一行數據:
輸出:
答:
select * from
(select 行號=row_number() over (order by stuno),* from stuinfo ) temptable
where 行號=(select round(count(*)/2.0,0) from stuinfo)
答:
select * from
( select ROW_NUMBER() over(order by id) as 行號, * from temptable) as temp
where 行號 between 21 and 30 order by id
Select top 10 * from temptable where id not in
( select top 30 id from temptable )
答:select top 10 * from T;select count(*) from T
Productid |
saleName |
Saleprice |
Enployee |
2 |
2 |
200 |
M |
1 |
5 |
300 |
N |
3 |
1 |
450 |
M |
4 |
3 |
500 |
N |
Sale
2 |
2 |
200 |
M |
1 |
5 |
300 |
N |
3 |
1 |
450 |
M |
4 |
3 |
500 |
N |
問:
是否能夠對product標的數據進行刪除,如何操做
答:delete from Sale where Productid=2
Delete from Product where Productid=2
將Sale表中Priductid爲2的產品價格更新爲Product表中的Price
答:update Sale set Saleprice=Price from Product join Sale on Sale. Productid= Product.Productid where Sale .Productid=2
寫出統計每一個員工的銷售總額的SQL語句
答:select saleName,sum(Saleprice) from Sale group by saleName
寫出員工銷售總額的最大值和SQL語句
答:select max(salep) from (select saleName,sum(Saleprice) as salep from Sale group by saleName) as A
Update Sale表默認自動開始事務麼?爲何?
答:開始;自動提交事務》每條單獨的語句都是一個事務
if exists(select * from sysobjects where [name]='scoreTable')
drop table scoreTable
go
create table scoreTable
(
stuName char(10),
courseName char(10),
score int
)
go
insert scoreTable values('張三','語文',80)
insert scoreTable values('張三','數學',86)
insert scoreTable values('張三','英語',75)
insert scoreTable values('李四','語文',78)
insert scoreTable values('李四','數學',85)
insert scoreTable values('李四','英語',78)
select * from scoreTable
要求:編寫sql語句實現輸出以下矩陣
stuName 數學 英語 語文
---------- ----------- ----------- -----------
李四 85 78 78
張三 86 75 80
答:
select stuName,數學=sum(case courseName when '數學' then score end),
英語=sum(case courseName when '英語' then score end),
語文=sum(case courseName when '語文' then score end)
from scoreTable group by stuName
答:
局部臨時表:create table #xx(ID int, IDValues int)
全局臨時表:create table ##xx(ID int, IDValues int)
區別:
表名以‘#’開頭,它的生命週期很短,在建立它的批處理或過程結束時被刪除。
全局臨時表對整個SQL Server實例均可見,
表名以‘##’開頭,它的生財期較長,全部的用戶均可以引用全局臨時表,只有當最後一個引用它的會話結束以後纔會將它刪除。因此在建立全局臨時表以前,應該寫個條件判斷一下是否有同名的表存在。
演示:
例:一個SQL studio 用第一個查詢分析器建立#a與#aa表
添加查詢,對#a沒法查詢,對#aa可查詢,關閉sql studio,對#aa也沒法查詢
商品表:
編號 |
名稱 |
價格 |
分類 |
7 |
熊貓 |
9854 |
生產工具 |
1 |
香蕉 |
3 |
食物 |
2 |
蘋果 |
2 |
食物 |
3 |
火箭炮 |
900 |
生產工具 |
6 |
板磚 |
1.5 |
生產工具 |
顧客表:
編號 |
姓名 |
地址 |
1 |
水藍 |
水星 |
3 |
濛濛 |
地球 |
6 |
阿星 |
月球 |
交易表
編號 |
商品編號 |
顧客編號 |
所購數量 |
1 |
1 |
1 |
12 |
2 |
3 |
1 |
1 |
3 |
7 |
3 |
1 |
4 |
6 |
6 |
7 |
5 |
2 |
6 |
4 |
6 |
2 |
1 |
45 |
問:列出沒有購買蘋果的顧客的姓名和家庭住址
答:select name as '姓名',address as '地址' from 顧客表 where 顧客編號 not in (select 顧客編號 from 交易表 where 商品編號 in (select 商品編號 from 商品表 where name = '蘋果') group by 顧客編號)
問:列出每一個人在購買生產工具和食物上各花了多少錢
答:Select '姓名', '物品', '數量', '單價', '分類', (數量*單價) as '總價' from 顧客表 , 商品表, 交易表
Where 顧客表.編號 in (select 顧客編號 from 交易表 group by 顧客編號) and 交易表. 顧客編號= 顧客表.編號 and 交易表. 商品編號= 商品表. 編號
問:列出賣出總金額最少的前三個商品名稱及賣出金額
答:select top 3 ‘商品名稱’, ‘總價' from 商品表, 交易表
where 商品表.編號 = 交易表.商品編號 order by ‘總價’
題目:用TreeView,ListView顯示節點
一.語言和環境
實現語言
C#、WinForm
二.環境要求
Visual Studio.Net 2005
三.要求
你須要實現的具體功能以下:
點擊TreeView節點,ListView顯示節點的內容;
TreeView顯示系統目錄信息,ListView顯示選中目錄的文件信息
頁面中用label以路徑的方式顯示選中節點所在的位置。
請按照推薦實現步驟完成上述功能。
本身設計一張表用GridView實現對該表的增刪改的操做,須要自定義出CSS樣式,而後給GridView指定該樣式。
1、設計一個查詢界面,按照模糊查詢對錶進行操做,用vs2005設計界面,用GridView顯示
表名:joinkeyuser
字段:username
Usermail
Usertel
設計一個界面,按照模糊查詢方式,查詢數據庫的數據。
數據庫:server 2000
開發工具:vs 2005
數據庫字段:useid,usename,suenickname
實現分頁功能(下拉列表框形式顯示),GridView顯示數據庫信息
已知Line類在兩點之間繪製一條直線,具備如下屬性和方法:
X1 獲取或設置Line起點的X座標,Double類型;
X2 獲取或設置Line終點的X座標,Double類型;
Y1 獲取或設置Line起點的Y座標,Double類型;
Y2 獲取或設置Line終點的Y座標,Double類型;
1.編寫Drawing()方法,用來繪製直線;
2.請繪製一個半徑爲(2.6),圓心爲(7.3,8.7)的圓
本身寫一個登錄,用戶登錄正確後,能跳轉到指定的頁面。Sql數據庫信息本身設計並錄入測試記錄
寫兩個asp.net的頁面,在第一個頁面裏面有DropDownList,DataGrid。其中DropDownList有兩個項分別對應兩個數據庫的兩個表(要求手工添加),每選擇一個項,DataGrid就和該表綁定。DataGrid要求能夠分頁。選擇DataGrid的某行(能夠是該表的某一項)時,頁面彈出,在新的頁面裏顯示該行的某項的內容。
基本要求
1、 任意建一用戶表A,內有任意列,其中一列爲郵件字段。
2、 創建一TextArea,用於輸入sql語句,操做表A。
3、 結合TextArea和表A,查詢出來的記錄,篩選出郵件字段,循環進行郵件發送。
4、 郵件標題和郵件內容可自行輸入,支持html格式。
5、 郵件標題和內容可根據表A字段進行部分參數替換。
如:
你好:AAA
你是XXX公司吧?您的電話應該是YYY。
附加功能:
1、 數據庫鏈接字符串可自行設定、保存。
2、 可以保存每次郵件發送的相關參數,以備屢次使用。
要求:
1、 程序可擴展性強。
2、 代碼可讀性強。
3、 CS或BS結構都可。
4、 數據庫用Sqlserver或Access都可。
5、 開發時間最好控制在1~2天。
公司名: |
|
地址: |
|
性質: |
|
產品: |
|
檢查人: |
|
檢查日期: |
|
合適檢查人: |
|
||
合法性: |
是 否 (單選框) |
||
安全防火: |
有 沒有(單選框) |
||
當即改正: |
1.AAAAAAAAAA 2.BBBBBBBBBBB 3.CCCCCCCCCCC 4.DDDDDDDDDDD 5.EEEEEEEEEEEE 6.FFFFFFFFFFFFF (多選框) |
||
則期改正: |
1.AAAAAAAAAA 2.BBBBBBBBBBB 3.CCCCCCCCCCC 4.DDDDDDDDDDD 5.EEEEEEEEEEEE 6.FFFFFFFFFFFFF (多選框) |
表二
公司名: |
|
地址: |
|
性質: |
|
產品: |
|
檢查人: |
|
檢查日期: |
|
表三
檢查更正 |
|||
公司名:() |
哪快有問題()時間() |
哪須要當即改正() |
哪須要則期改正() |
則期時間()
|
本身建庫 ,web應用程序
數據庫有3張表:
產品表: (ID,產品名稱)
定單表:(ID,定單號,定單日期)
定單詳細表:(ID,定單ID,數量)
要求:
隨意增刪改查
若是出現異常,必須事務回滾
要求有接口,不能直接訪問數據層