就业模拟试题1_答案
一、??? 基礎知識部分(每題2分,共40分)
| 答案 | 1)??????? 接口:inerface 純抽象的類,里面不能有任何實現的成員;接口是某一類通用功能的描述。和子類沒有必然的聯系。 2)??????? 抽象類:abstract 實現和非實現成員都可以有;抽象類是子類的基類,它是子類的通用特征的描述 |
| 答案 | 1)??????? 不對 2)??????? 在c#中,應為 float f = 3.4f? 或者 float f = 3; |
| 答案 | Public 公有,其他類都可以訪問 ??? Protected 保護,只有本類和子類可以訪問 ??? Private 私有,只有本類可以使用 ??? Internal 內部,本程序集中的類可以使用。 |
| 答案 | &是java中的位邏輯運算: |
| 答案 | Override:覆蓋,是父類與子類之間多態性的一種表現,如果子類中定義的某方法與父類有相同的名稱和參數,我們說該方法被重寫 |
| 答案 | Public 公有,其他類都可以訪問 ??? Protected 保護,只有本類和子類可以訪問 ??? Private 私有,只有本類可以使用 ??? Internal 內部,本程序集中的類可以使用。 |
| 答案 | finally會執行,在return 前執行. |
| 答案 | 1)a=a+1中的1要做強制類型轉換為short。 2)沒有錯 |
| 答案 | 委托是一種傳遞消息的機制,可以將方法作為參數傳遞 事件是一種特殊的委托 |
| 答案 | SqlConnection 連接數據庫 SqlCommand 執行Sql語句或存儲過程 SqlDataReader 實現對數據表記錄向前只讀 SqlDataAapter 執行Sql語句或存儲過程 |
| 答案 | DataSet提供一個內存中數據的關系表示形式,一整套包括一些表在內的數據(這些表包含數據、對數據進行排序并約束數據),以及表之間的關系。DataReader提供一個來自數據庫的快速、僅向前、只讀數據流。 |
| 答案 | StringBuffer是可變的而String是不可變的. |
| 答案 | 需要顯示左表中所有數據,右表中對應數據. |
| 答案 | 1.delete是數據操作語言,操作會寫入日志,在未提交之前可以回滾;truncate是數據定義語言,不寫入日志,不可回滾 2.truncate執行效率比delete高 3.delete可以根據條件刪除數據;truncate會刪除表中所有的記錄 |
| 答案 | 聲明一個值類型變量,編譯器會在棧上分配一個空間,這個空間對應著該值類型變量,空間里存儲的就是該變量的值。 引用類型的實例分配在堆上,新建一個引用類型實例,得到的變量值對應的是該實例的內存分配地址, ?? 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: } |
| 答案 | 1)??????? Webapps 2)??????? Domain |
| 答案 | request: 該對象封裝了用戶提交的信息,通過調用該對象相應的方法可以獲取封裝的信息,既使用該對象可以獲取用戶提交的信息。 當Request對象獲取客戶提交的漢字字符時,會出現亂碼問題,必須進行特殊處理。首先,將獲取的? 字符串用ISO-8859-1進行編碼,并將編碼存發到一個字節數組中,然后再將這個數組轉化為字符串對象即可。 例: ??? String textContent=request.getParameter("boy"); ??? byte b[]=textContent.getBytes("ISO-8859-1"); ??? textContent=new String(b); request常用的方法: ※getParameter(String strTextName) 獲取表單提交的信息。 ? 例:String strName=request.getParameter("name"); ※getProtocol() 獲取客戶使用的協議。 ? 例:String strProtocol=request.getProtocol(); ※getServletPath() 獲取客戶提交信息的頁面。 ? 例:String strServlet=request.getServletPath(); ※getMethod() 獲取客戶提交信息的方式。 ※getHeade() 獲取HTTP頭文件中的accept、accept-encoding和Host的值。 ? 例 String strHeade=request.getHeader("accept"); ※getRermoteAddr() 獲取客戶的IP地址。 ※getRemoteHost() 獲取客戶機的名稱。 ※getServerName() 獲取服務器名稱。 ※getServerPort() 獲取服務器的端口號。 ※getParameterNames() 獲取客戶端提交的所有參數的名字。 ************ 1.2:Response ************ ??? 對客戶端發出的請求作出動態的響應,向客戶端發送數據 ※setContentType() 動態響應頁面用page指令設置的contentType屬性 ? 例:response.setContentType(String strCT); 注:參數strCT可取"text/html","application/x-msexcel","application/msword"等。 ※sendRedirect() 實現客戶的重定向 ? 例:response.sendRedirect(strURL); ************ 1.3:Session ************ ??? JSP頁面被裝載時自動創建,完成會話期管理。 ※public String getId() 獲取Session對象編號 ※public void setAttribute(String key,Object objS)將參數Object指定的對象obj添加島Session對象 ※public Object getAttribute(String key) 獲取Session對象中含有關鍵字的對象。 ※public Boolean isNew() 判斷是否時一個新的客戶。 ************ 1.4:Application ************ ?? 服務器啟動后就產生了Application對象,一直到服務器關閉,所有的客戶端共享這個內置的? Application對象。 ※setAttribute(String key,Object objA)將參數objA添加到Application對象中 ※getAttribute(String key)獲取指定關鍵字Application對象中對象。 ************ 1.5:Out ************ ??? 一個輸出流,用來向客戶端輸出數據。 ※out.ptint() 輸出各種類型數據 ※out.newLine() 輸出一個換行符 ※out.close() 關閉流 ************ 1.6:Cookie ************ ??? Cookie是Web服務器保存在客戶端的一段文本信息,并且允許Web服務器在以后的客戶端訪問時取回它? 是以“關鍵字key=值value”格式存儲的。 ※Cookie("userName","john") 構造函數,創建Cookie對象。 ※response.addCookie(cookie) 將Cookie對象傳送到客戶端 ※request.getCookies() 獲取保存到客戶端的Cookie對象數組。 例: Cookie[] cookieArray= request.getcookies(); ???? if(null!=cookieArray) ?for(int i=0;i<cookieArray.length;i++) ???? if("userName".equale(cookieArray[i].getName())) ?????????????????? out.prinln(cookieArray[i].getValue()); ※setMaxAge(intTime) 設置Cookie對象的有效時間,intTime為時間? ************ 1.7:pageContext ************ ??? 頁面上下文對象 ************ 1.8:Config ************ ??? 配置對象 ************ 1.9:Page ************ ??? 頁面對象 ************ 1.10:Exception ************ ??? 例外對象 |
| 答案 | 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()方法是在垃圾收集器刪除對象之前對這個對象調用的。 |
| 答案 | Vector : 基于Array的List,其實就是封裝了Array所不具備的一些功能方便我們使用,它不可能走出Array的限制。性能也就不可能超越Array。所以,在可能的情況下,我們要多運用Array。另外很重要的一點就是Vector是“sychronized”的,這個也是Vector和ArrayList的唯一的區別。 ArrayList:同Vector一樣是一個基于Array上的鏈表,但是不同的是ArrayList不是同步的。所以在性能上要比Vector優越一些,但是當運行到多線程環境中時,可需要自己在管理線程的同步問題。 |
| 答案 | List接口對Collection進行了簡單的擴充,它的具體實現類常用的有ArrayList和LinkedList。你可以將任何東西放到一個List容器中,并在需要時從中取出。ArrayList從其命名中可以看出它是一種類似數組的形式進行存儲,因此它的隨機訪問速度極快,而LinkedList的內部實現是鏈表,它適合于在鏈表中間需要頻繁進行插入和刪除操作。在具體應用時可以根據需要自由選擇。前面說的Iterator只能對容器進行向前遍歷,而ListIterator則繼承了Iterator的思想,并提供了對List進行雙向遍歷的方法。 Set接口也是Collection的一種擴展,而與List不同的時,在Set中的對象元素不能重復,也就是說你不能把同樣的東西兩次放入同一個Set容器中。它的常用具體實現有HashSet和TreeSet類。HashSet能快速定位一個元素,但是你放到HashSet中的對象需要實現hashCode()方法,它使用了前面說過的哈希碼的算法。而TreeSet則將放入其中的元素按序存放,這就要求你放入其中的對象是可排序的,這就用到了集合框架提供的另外兩個實用類Comparable和Comparator。一個類是可排序的,它就應該實現Comparable接口。有時多個類具有相同的排序算法,那就不需要在每分別重復定義相同的排序算法,只要實現Comparator接口即可。集合框架中還有兩個很實用的公用類:Collections和Arrays。Collections提供了對一個Collection容器進行諸如排序、復制、查找和填充等一些非常有用的方法,Arrays則是對一個數組進行類似的操作。 Map是一種把鍵對象和值對象進行關聯的容器,而一個值對象又可以是一個Map,依次類推,這樣就可形成一個多級映射。對于鍵對象來說,像Set一樣,一個Map容器中的鍵對象不允許重復,這是為了保持查找結果的一致性;如果有兩個鍵對象一樣,那你想得到那個鍵對象所對應的值對象時就有問題了,可能你得到的并不是你想的那個值對象,結果會造成混亂,所以鍵的唯一性很重要,也是符合集合的性質的。當然在使用過程中,某個鍵所對應的值對象可能會發生變化,這時會按照最后一次修改的值對象與鍵對應。對于值對象則沒有唯一性的要求。你可以將任意多個鍵都映射到一個值對象上,這不會發生任何問題(不過對你的使用卻可能會造成不便,你不知道你得到的到底是那一個鍵所對應的值對象)。Map有兩種比較常用的實現:HashMap和TreeMap。HashMap也用到了哈希碼的算法,以便快速查找一個鍵,TreeMap則是對鍵按序存放,因此它便有一些擴展的方法,比如firstKey(),lastKey()等,你還可以從TreeMap中指定一個范圍以取得其子Map。鍵和值的關聯很簡單,用pub(Object key,Object value)方法即可將一個鍵與一個值對象相關聯。用get(Object key)可得到與此key對象所對應的值對象。 |
二、??? 編程題(12題4分,最后1題5分,其余每題2分。共35分)
1.? 手寫一個表單內容包括 ‘用戶名 text’ ‘年齡 text’ ‘性別 單選 默認沒有選中’ ‘提交按鈕’ ‘重置按鈕’
| 答案 | <form action=”” method=”post”> <input? type=”text”? name=”txtName” > <input? type=”text”? name=”txtAge” > <input type=”radio” name=”rGender”/> <input? type=”submit” > <input? type=”reset” > </form> |
2.? 手寫一個表格, 第一行2列, 第二行1列
| 答案 | <table style=”width:100px; height:100px” > <tr> <td>1</td><td>2</td> </tr> <tr> <td colspan=”2”>合并</td> </tr> </table> |
3.? 請聲明一個有100個元素的數組
| 答案 | 1)??????? String[] arr = new String[100]; 2)??????? Array arr = Array.CreateIntence(typeof(string),100); 注:Array類是所有數組的父類 |
4.? x=4,y=6在不聲明新變量的情況下交換x,y的值
| 答案 | Int x = 4; Int y = 6; X+=y; Y = x – y?; X = x- y?; |
5.? 寫一段程序,把 this is a apple? 變成 apple a is this 這種形式
| 答案 | string str = "this is a apple"; ??????????? string[] strs = str.Split(' '); ??????????? string output = ""; ??????????? for (int i = strs.Length - 1; i >= 0; i--) ?????????? ?{ ??????????????? output += strs[i] + " "; ??????????? } ??????????? if (output.Length > 0) ??????????? { ??????????????? output = output.Substring(0, output.Length - 1); ??????????? } ??????????? str = output; |
6.? 編寫一個類,求一元二次方程的實根
| 答案 | x = double.Parse(a.Text); ??????????? y = double.Parse(b.Text); ??????????? z = double.Parse(c.Text);??????????? ??????????? if (x == 0) ??????????? { ??????????????? if(y!=0) ??????????????? { ??????????????? n1 = z / y; ??????????????? x1.Text = n1.ToString(); ??????????? ????//y1.Text = n2.ToString(); ??????????????? } ??????????????? if(y==0&&z!=0) ??????????????????? MessageBox.Show("b=0 無解", "wujie",MessageBoxButtons.OK, MessageBoxIcon.Warning); ??????????????? if(y==0&&z==0) ??????????????????? MessageBox.Show("無數組解", "00",MessageBoxButtons.OK); ??????????? } ??????????? if(x!=0) ??????????? { ??????????????? if (y * y - 4 * x * z >= 0) ??????????????? { ??????????????????? n1 = (-y + Math.Sqrt(y * y - 4 * x * z)) / (2 * x); ??????????????????? n2 = (-y - Math.Sqrt(y * y - 4 * x * z)) / (2 * x); ??????????????????? x1.Text = n1.ToString(); ??????????????????? y1.Text = n2.ToString(); ??????????????? } ??????????????? else ??????????????? { ??????????????????? MessageBox.Show("無解", "wujie",MessageBoxButtons.OK, MessageBoxIcon.Warning); ??????????????? } ??????????? } |
7.? 使用C#語言寫出一個單例模式類
| 答案 | Public class SingleClass { Private SingleClass() {} Static SingleClass objClass= null; Public static SingleClass GetObject() { ??? If(objClass!=null) ??? { ??????? objClass = new SingleClass(); } Return objClass; } } |
8.? 求以下表達式的值,寫出您想到的一種或幾種實現方法: 1-2+3-4+……+m
| 答案 | int Num = this.TextBox1.Text.ToString() ; |
9.? 寫出使用javascript進行頁面跳轉的幾種方式?
| 答案 | 1、location.href="a.jsp" 2、window.location='a.jsp' |
10.用一條SQL語句將第一和第二張表連接成第三張表
| 答案 | select?? *?? from?? A???? union?? all???? select?? *?? from?? B???? ----2個表的全部記錄(包括重復的,不排序)?? ? or?????? select?? *?? from?? A???? union????? select?? *?? from?? B???? -----排序并去掉重復的記錄? |
11.寫出正則表達式只許輸入整數
"^-?\d+$"
12.寫一個完整的DAO層接口,用來對會員信息進行添刪改查操作
13.查詢出Test表中ID重復三次以上的記錄
| 答案 | select * from test where id in (select id from test? group by id having count(*)>=3) |
14.索引列 sal? SQL語句:select * from product where sal*12<5000; 優化此語句并簡述原因
| 答案 | select * from product where sal<5000/12 計算和函數會使索引列失效,因此改為不對索引列進行計算,就可以利用到索引列,提高查詢效率 |
15.根據以下表,完成sql語句
| 表S | ||||||||
| 字段名 | 字段描述 | 類型 | 是否空 | |||||
| stno | ?學號 | ???? int | ?not null | |||||
| stuname | stuname? 姓名 | ?? varchar2 | ?not null | |||||
| class? | ?班級 | ?? varchar2 | ?null | |||||
| busary | 獎學金 | ???? int | ?null | |||||
| 表C | ||||||||
| 字段名 | 字段描述 | 類型 | 是否空 | |||||
| classID | 課程編號 | int | ?not null | |||||
| Score | 分數 | int | ?null | |||||
| 表SC | ||||||||
| 字段名 | 字段描述 | 類型 | 是否空 | |||||
| stno | ??? 學號 | int | ?not null | |||||
| classID | 課程編號 | int | ?not null | |||||
| 1查詢沒有獎學金,但是至少有一們課的成績在80分以上
| ||||||||
| 2查詢成績曾100分,但是沒獎學金,并把獎學金改為300
| ||||||||
| 3查詢張濤選學,而李明沒有選學的課程
| ||||||||
| 4定義一個視圖 查詢獎學金總額大于3000(包含3000)的班級
| ||||||||
三、??? 論述題(每題5分)
| 答案 | 3)??????? 連接數據庫失敗(數據庫連接串有問題) 4)??????? 未將對象引用到對象的實例 (某些對象在使用過程中,未判斷是否等于null,然后就直接調用方法或者屬性) |
| 答案 | 1)Abstract Factory:提供一個創建一系列相關或相互依賴對象的接口,而無需指定它們具體的類。用于可能使用多種數據源的情況。 2)Singleton:保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。用于一些工具類,如數據庫操作類。 3)Iterator:提供一種方法順序訪問一個聚合對象中各個元素, 而又不需暴露該對象的內部表示。 如集合中類的枚舉方法 |
| 答案 | 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 的其他框架)。 |
| 答案 | Struts實現了mvc模式.其中,自定義標簽和ActionForm實現了視圖層,ActionServlet,struts-Config.xml,action,RequestProcessor類實現了控制器.JavaBean實現了業務邏輯層. |
總結
以上是生活随笔為你收集整理的就业模拟试题1_答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 就业模拟试题1
- 下一篇: 支付宝余额充值是什么意思