就业模拟试题2_答案
一、??? 基礎知識部分(每題2分,共40分)
1.簡單敘述委托
| 答案 | 委托實際上是類(一個貌似函數一樣的類),我們已經使用函數指針很多年了——函數指針也被稱為過程類型,但是它們的實現都不是類。它們是單獨的函數指針的簡單實例。委托是包含這些功能的類,委托類通過保留的列表來確定某些事物是否已經指派給了委托,這種算法可以理解為:“對于內部列表中的每一個回調函數,都調用函數”。委托除了支持回調函數外,還可以通過該列表來實現多播(委托鏈)。 |
2.重載和重寫的區別
| 答案 | 重寫是子類的方法覆蓋父類的方法,要求方法名和參數都相同 |
3.說明一下public,private,interface,protect的訪問權限
| 答案 | 1 public任何類都可以訪問 2 private 只允許本類訪問 3 interface 談不上訪問權限 4 protect 包內都可以訪問,包外子類才可以訪問 |
4.說明一下final,finally,finalize的用法
| 答案 | final修飾符(關鍵字),如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變量必須在聲明時給定初值,而在以后的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載。方法的參數被final修飾表示在方法體內,該參數的值不可以被修改。 private final String ss = "ss"; public final void m(){ } public String m2(final String param){ } finally在異常處理時提供finally塊來執行任何清除操作。無論有沒有異常被拋出、捕捉,finally塊都會被執行。 finalize是方法名。Java技術允許使用finalize()方法在垃圾收集器將對象從內存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調用的。它是在Object類中定義的,因此所有的類都繼承了它。子類覆蓋finalize()方法以整理系統資源或者執行其他清理工作。finalize()方法是在垃圾收集器刪除對象之前對這個對象調用的。 |
5.include與forward的區別
???????????????????? 答:forward方法是把請求的內容轉發到另外的一個servlet.而include是把另一個servlet處理過后的內容拿過來.
舉例來說比如在servlet1打一句out.print("1111"),servlet2打上out.print("22222"),在servlet1中用forward命令會轉到servlet2中,顯示22222.
而在servlet1中使用include方法會依然在servlet1的頁面中,但是在1111后打出22222
6.引用和值類型的區別,用代碼說明
| 答案 | 聲明一個值類型變量,編譯器會在棧上分配一個空間,這個空間對應著該值類型變量,空間里存儲的就是該變量的值。 引用類型的實例分配在堆上,新建一個引用類型實例,得到的變量值對應的是該實例的內存分配地址, ?? 1:public class Person ?? 2: { ?? 3:???? public string Name { get; set; } ?? 4:???? public int Age { get; set; } ?? 5: } ?? 6:? ?? 7: public static class ReferenceAndValue ?? 8: { ?? 9:???? public static void Demonstration() ? 10:???? { ? 11:???????? Person zerocool = new Person { Name = "ZeroCool", Age = 25 }; ? 12:???????? Person anders = new Person { Name = "Anders", Age = 47 }; ? 13:? ? 14:???????? int age = zerocool.Age; ? 15:???????? zerocool.Age = 22; ? 16:? ? 17:???????? Person guru = anders; ? 18:???????? anders.Name = "Anders? Hejlsberg"; ? 19:? ? 20:???????? Console.WriteLine("zerocool's age:\t{0}", zerocool.Age); ? 21:???????? Console.WriteLine("age's value:\t{0}", age); ? 22:???????? Console.WriteLine("anders' name:\t{0}", anders.Name); ? 23:???????? Console.WriteLine("guru' name:\t{0}", guru.Name); ? 24:???? } ? 25: } |
7.談談對XML的認識,XML的作用
8.說明String str = null、String str = “”、String str = new String(“”)的區別
?????? 答:String str=""和String str = new String(""); 是一樣的;
String str = null; 是賦值為空~
""和空不是同一個概念~
String str = null 是 str 在棧里面的值就為空了~如果用這個去調用
String的方法比如:str.subString();就會報空引用異常~
String str=""和String str = new String(""); str 在棧里面的值的不是為空~她所引用的內存地址里面的值為"";用這個調用方法不會出現空異常~
9.public?class?Test?{
?????? ?????? public?static?void?changeStr (String?str) {
?????? ?????? ?????? str="welcome";
?????? ?????? }
?????? ?????? public?static?void?main (String[]?args)?{
?????? ?????? ?????? String?str="1234";
?????? ?????? ?????? changeStr(str);
?????? ?????? ?????? System.out.println(str);
?????? ?????? }
?????? }
?????? 以上代碼的輸出結果是什么?為什么?
10.SELECT?*?FROM?[TABLE_NAME]
?????? 和
?????? SELECT?*?FROM?[TABLE_NAME]?
?????? WHERE?[NAME]?LIKE?'%%'?AND?[ADDR]?LIKE?'%%'?
?????? AND?([1_ADDR]?'%%'?OR?[2_ADDR]?'%%'?
?????? OR?[3_ADDR]?'%%'? OR?[4_ADDR]?'%%'?)?
?????? 的檢索結果為何不同?
?????? 假定表TABLE_NAME中僅包含NAME、ADDR、1_ADDR、?? 2_ADDR、?3_ADDR、?4_ADDR 幾個字段
11.什么是自定義控件?動態如何傳數據?
| 答案 | 1)??????? 概述:自定義控件也是asp.net的一種服務器控件,體現格式為*.dll 2)??????? 適用場合:當.net平臺給我們提供的web服務器控件不夠用的時候,就需要我們自己開發一個自定義控件,或者又稱為第三方控件;可以把該種控件添加到工具箱中,然后就像使用Web服務器控件一樣。例如:分頁控件 3)??????? 在控件內部公開屬性,通過給屬性賦值進行數據的交互; 控件最終體現在界面上的樣式是靠重寫父類的Render方法來實現的 |
12.dataset和dataread的區別?
| 答案 | DataSet提供一個內存中數據的關系表示形式,一整套包括一些表在內的數據(這些表包含數據、對數據進行排序并約束數據),以及表之間的關系。DataReader提供一個來自數據庫的快速、僅向前、只讀數據流。 |
13.什么是Code-Behind技術?
| 答案 | 字面意思就是:代碼在后面,也就是代碼隱藏的意思。 主要是通過aspx頁面指向對應的CS文件,可以實現顯示邏輯和處理邏輯的分離,這樣做有別于以前的asp頁面和代碼全混在一起不容易后期的修改和維護,使用code behind更容易維護,美工和程序員可以很好的分工 |
14.什么修飾符可以使類無法繼承?
| 答案 | 4)??????? Sealed 密封的 5)??????? 結構(struct)默認就是密封的 |
15.說明.net中的錯誤處理機制
| 答案 | ? 異常處理有兩種方法:一種是使用Try Catch處理,一種使用throw扔出 |
?????? ?????? 16.Try {}里有一個return語句,那么緊跟在這個try后的finally {}里的? ?????? ???? code會不會被執行,什么時候被執行,在return前還是后?
17.列舉一種適合asp.net應用開發的分層結構,介紹每層的作用
| 答案 | 1)表現層? 顯示數據和接受輸入 ?? 2)業務邏輯層? 用于進行業務數據的處理 ?? 3)數據訪問層? 用于訪問數據 ?? 4)實體層? 用于控制數據傳遞對象 |
?????? ?????? 18.怎么防止用戶因為退出不點退出按鈕直接關閉瀏覽器帶來的不必要? ?????? ?????? ?????? 的服務器壓力?(除了設置session的有效期)
???????????????????? 答: session Lister
19..net中讀寫數據庫需要用到那些類?他們的作用?
| 答案 | SqlConnection 連接數據庫 SqlCommand 執行Sql語句或存儲過程 SqlDataReader 實現對數據表記錄向前只讀 SqlDataAapter 執行Sql語句或存儲過程 |
20..net的身份驗證方式有哪些?分別是什么原理?
| 答案 | Windows身份驗證,基于Windows系統的用戶的認證 Forms身份驗證,基于Form表單的認證 |
二、??? 編程題(共25分)
1.1+1+2+3+5+8+…到第30位多少?(3分)
| 答案 | 斐波那契數列 832040 |
2.寫一個單例模式例子 (4分)
| 答案 | Public class SingleClass { Private SingleClass() {} Static SingleClass objClass= null; Public static SingleClass GetObject() { ??? If(objClass!=null) ??? { ??????? objClass = new SingleClass(); } Return objClass; } } |
| 答案 | public class SingletonTest{ ?int value; ?private static SingletonTest instance; ?private SingletonTest(){ ? System.out.println("正在執行構造函數......."); ? } ? private static SingletonTest getInstance(){ ?? if(instance==null){ ??? instance=new SingletonTest(); ??? } ?? return instance; ?? } ? public int getValue(){ ?? return value; ?? } ? public void setValue(int value){ ?? this.value=value; ?? } ? public static void main(String []s){ ?? SingletonTest t1=SingletonTest.getInstance(); ?? SingletonTest t2=SingletonTest.getInstance(); ?? t2.setValue(9); ?? System.out.println(t1.getValue()); ?? System.out.println(t1==t2); ?? } ?} |
3.寫一個Java/C# 的排序算法 (6分)
4.編寫SQL語句,刪除一個表中的重復記錄,假如表中有一個name???? ?????? ?????? 字段,name重復即為重復記錄 (3分)
5.表結構:
?????? ?????? 1、?表名:g_cardapply
?????? ?????? ?????? 字段(字段名/類型/長度):
?????? ?????? ?????? g_applyno?varchar?8;//申請單號(關鍵字)
?????? ?????? ?????? g_applydate?bigint?8;//申請日期
?????? ?????? ?????? g_state?varchar?2;//申請狀態
?????? ?????? 2、?表名:g_cardapplydetail
?????? ?????? ?????? 字段(字段名/類型/長度):
?????? ?????? ?????? g_applyno?varchar?8;//申請單號(關鍵字)
?????? ?????? ?????? g_name?varchar?30;//申請人姓名
?????? ?????? ?????? g_idcard?varchar?18;//申請人身份證號
?????? ?????? 其中,兩個表的關聯字段為申請單號。
?????? ?????? 問題:(各3分,共9分)
?????? ?????? 1) 查詢身份證號碼為440401430103082的申請日期
Select g_applydate from g_cardapply gc inner join g_ cardapplydetail gcd?
on gc. g_applyno=gcd. g_applyno where g_idcard=’ 440401430103082’
?????? ?????? 2) 查詢同一個身份證號碼有兩條以上記錄的身份證號碼及記錄個數
select g_idcard,count(*) from g_cardapplydetail group by g_idcard having count(*)>=2
?????? 3) 刪除g_cardapplydetail表中所有姓李的記錄
Delete from g_cardapplydetail where g_name like ‘李%’;
三、??? 論述題(1-6題每題5分,第7題2分,第8題3分,共35分)
1.對AJAX的理解及其優點
2.Abstract類與Interface的區別,以及他們在開發中的作用
3.?描述Struts體系結構。對應各個部分的開發工作主要包括哪些
| 答案 | Struts實現了mvc模式.其中,自定義標簽和ActionForm實現了視圖層,ActionServlet,struts-Config.xml,action,RequestProcessor類實現了控制器.JavaBean實現了業務邏輯層. 客戶端發送來的請求,由ActionServlet接收,轉發給RequestProcessor類,這個類負責讀配置文件,把請求中的值付給ActionForm,并調用Action處理.Action處理完后,返回映射,跳轉到響應頁面. |
4.談談你對抽象工廠設計模式的理解,并舉出一個使用該模式的例子。
?????? ?????? 5.簡要談一下您對微軟NET 構架下Remoting和WebService兩項技術?? ?????? ?????? ?????? 的理解以及實際中的應用。
| 答案 | ASP.NET Web 服務的基礎結構是通過將SOAP消息映射到Web方法調用,為Web服務提供了簡單的API。通過提供一種非常簡單的編程模型 (基于將 SOAP 消息交換映射到方法調用),它實現了此機制。ASP.NET Web 服務的客戶端不需要了解用于創建它們的平臺、對象模型或編程語言。而服務也不需要了解向它們發送消息的客戶端。唯一的要求是:雙方都要認可正在創建和使用的 SOAP 消息的格式,該格式是由使用 WSDL 和 XML 架構 (XSD) 表示的 Web 服務合約定義來定義的。 .NET Remoting 為分布式對象提供了一個基礎結構。它使用既靈活又可擴展的管線向遠程進程提供 .NET 的完全對象語義。ASP.NET Web 服務基于消息傳遞提供非常簡單的編程模型,而 .NET Remoting 提供較為復雜的功能,包括支持通過值或引用傳遞對象、回調,以及多對象激活和生命周期管理策略等。要使用 .NET Remoting,客戶端需要了解所有這些詳細信息,簡而言之,需要使用 .NET 建立客戶端。(或者使用支持 .NET Remoting 的其他框架)。 |
6.簡述ORM的原理是什么?
| 答案 | ORM的全稱是Object Relational Mapping,即對象關系映射。它的實現思想就是將關系數據庫中表的數據映射成為對象,以對象的形式展現,這樣開發人員就可以把對數據庫的操作轉化為對這些對象的操作。因此它的目的是為了方便開發人員以面向對象的思想來實現對數據庫的操作。 |
7.詳細說明三層架構中各層的作用以及之間的相互關系。
8.select * from product where sal*12<5000
?????? 其中sal是表product的索引列。優化此語句,并簡述原因
總結
以上是生活随笔為你收集整理的就业模拟试题2_答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 洋钱罐还完还能再借吗
- 下一篇: 就业模拟试题_Net(答案)