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