軟件工程師面試題(含答案).doc_第1頁
軟件工程師面試題(含答案).doc_第2頁
軟件工程師面試題(含答案).doc_第3頁
軟件工程師面試題(含答案).doc_第4頁
軟件工程師面試題(含答案).doc_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、交換機是一種 存儲轉(zhuǎn)發(fā)設(shè)備。以太網(wǎng)交換機采用存儲轉(zhuǎn)發(fā)( Store-Forward)技術(shù)或直通(Cut-Through)技術(shù)來實現(xiàn)信息幀的轉(zhuǎn)發(fā),也稱為 交換式集線器。交換機和網(wǎng)橋的不同在 于:交換機端口數(shù)較多,數(shù)據(jù)傳輸效率 高,轉(zhuǎn)發(fā)延遲很小,吞吐量大,丟失率低,網(wǎng)絡(luò)整體性能增強,遠遠超過了普通網(wǎng)橋連接網(wǎng)絡(luò)時的轉(zhuǎn)發(fā)性能。一般用于互連相同類型的局域網(wǎng),如以太網(wǎng)與以太網(wǎng)的互連。1C:一、你對 MVC的理解,MVC有什么優(yōu)缺點?結(jié)合Struts,說明在一個 Web應(yīng)用如何去使 用? 答:MVC設(shè)計模式(應(yīng)用觀察者模式的框架模式)M: Model(Business process layer),模型,操

2、作數(shù)據(jù)的業(yè)務(wù)處理層,并獨立于表現(xiàn)層(Independent of presentation)。V: View(Presentation layer),視圖,通過客戶端數(shù)據(jù)類型顯示數(shù)據(jù),并回顯模型層的執(zhí)行結(jié)果。C: Controller(Control layer),控制器,也就是視圖層和模型層橋梁,控制數(shù)據(jù)的流向,接受 視圖層發(fā)出的事件,并重繪視圖MVC框架的一種實現(xiàn)模型模型二(Servlet-centric):JSP+Servlet+JavaBean,以控制為核心,JSP只負(fù)責(zé)顯示和收集數(shù)據(jù),Sevlet,連接視圖和模型,將視圖層數(shù)據(jù),發(fā)送給模型層,JavaBean,分為業(yè)務(wù)類和數(shù)據(jù)實體,業(yè)

3、務(wù)類處理業(yè)務(wù)數(shù)據(jù),數(shù)據(jù)實體,承載數(shù)據(jù),基本上大多數(shù)的項目都是使用這種MVC的實現(xiàn)模式。StrutsMVC 框架(Web application frameworks)Struts是使用MVC的實現(xiàn)模式二來實現(xiàn)的,也就是以控制器為核心。Struts提供了一些組件使用 MVC開發(fā)應(yīng)用程序:Model : Struts沒有提供 model類。這個商業(yè)邏輯必須由Web應(yīng)用程序的開發(fā)者以 JavaBean或EJB的形式提供View : Struts 提供了 action form 創(chuàng)建 form bean,用于在 controller 和 view 間傳輸數(shù)據(jù)。此外, Struts提供了自定義JSP標(biāo)簽

4、庫,輔助開發(fā)者用JSP創(chuàng)建交互式的以表單為基礎(chǔ)的應(yīng)用程序, 應(yīng)用程序資源文件保留了一些文本常量和錯誤消息,可轉(zhuǎn)變?yōu)槠渌Z言,可用于JSP中。Controller : Struts提供了一個核心的控制器ActionServlet ,通過這個核心的控制器來調(diào)用其他用戶注冊了的自定義的控制器Action ,自定義Action需要符合Struts的自定義Action規(guī)范,還需要在 struts-config.xml的特定配置文件中進行配置,接收J(rèn)SP輸入字段形成 Actionform,然后調(diào)用一個 Action控制器。Action控制器中提供了 model的邏輯接口。二、什么是 WebService

5、?答:WebService是一個SOA (面向服務(wù)的編程)的架構(gòu),它是不依賴于語言,不依賴于平 臺,可以實現(xiàn)不同的語言間的相互調(diào)用,通過Internet進行基于Http協(xié)議的網(wǎng)絡(luò)應(yīng)用間的交互。WebService實現(xiàn)不同語言間的調(diào)用,是依托于一個標(biāo)準(zhǔn),webservice是需要遵守 WSDL(web 服務(wù)定義語言)/SOAP (簡單請求協(xié)議)規(guī)范的。WebService=WSDL+SOAP+UDDI ( webservice 的注冊)Soap是由Soap的part和0個或多個附件組成,一般只有part,在part中有Envelope和Body。Web Service 是通過提供標(biāo)準(zhǔn)的協(xié)議和接口

6、,可以讓不同的程序集成的一種 SOA 架構(gòu)。Web Service 的優(yōu)點(1) 可以讓異構(gòu)的程序相互訪問(跨平臺)(2) 松耦合(3) 基于標(biāo)準(zhǔn)協(xié)議(通用語言,允許其他程序訪問)Web Service 的基本原理(1) Service Provider 采用 WSDL 描述服務(wù)(2) Service Provider 采用 UDDI 將服務(wù)的描述文件發(fā)布到 UDDI 服務(wù)器( Register server)(3) Service Requestor 在 UDDI 服務(wù)器上查詢并獲取 WSDL 文件(4) Service requestor將請求綁定到 SOAP,并訪問相應(yīng)的服務(wù)。三、什么是

7、中間件?中間件就是程序中可織入的,可重用的,與業(yè)務(wù)邏輯無關(guān)的各種組件。中間件( middleware )是基礎(chǔ)軟件的一大類,屬于可復(fù)用軟件的范疇。顧名思義,中間件處于操作系統(tǒng)軟件與用戶的應(yīng)用軟件的中間。 中間件在操作系統(tǒng)、 網(wǎng)絡(luò)和數(shù)據(jù)庫之上, 應(yīng)用軟件的下層, 總的作用是為處于自己上層的應(yīng)用軟件提供運行與開發(fā)的環(huán)境, 幫助用戶靈活、高效地開發(fā)和集成復(fù)雜的應(yīng)用軟件。在眾多關(guān)于中間件的定義中,比較普遍被接受的是IDC 表述的:中間件是一種獨立的系統(tǒng)軟件或服務(wù)程序, 分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源, 中間件位于客戶機服務(wù)器的操作系統(tǒng)之上,管理計算資源和網(wǎng)絡(luò)通信。分類:數(shù)據(jù)訪問中間

8、件,遠程調(diào)用中間件,消息中間件,交易中間件,對象中間件。舉例:1 , RMI ( Remote Method Invocations, 遠程調(diào)用)2 , Load Balancing( 負(fù)載均衡,將訪問負(fù)荷分散到各個服務(wù)器中 )3 , Transparent Fail-over( 透明的故障切換)4 , Clustering( 集群,用多個小的服務(wù)器代替大型機)5 , Back-end-Integration( 后端集成,用現(xiàn)有的、新開發(fā)的系統(tǒng)如何去集成遺留的系統(tǒng))6 , Transaction 事務(wù)(全局/局部)全局事務(wù)(分布式事務(wù))局部事務(wù)(在同一數(shù)據(jù)庫聯(lián)接內(nèi)的事務(wù))7 , Dynamic

9、 Redeployment( 動態(tài)重新部署,在不停止原系統(tǒng)的情況下,部署新的系統(tǒng))8 , System Management(系統(tǒng)管理)9 , Threading( 多線程處理)10 , Message-oriented Middleware 面向消息的中間件(異步的調(diào)用編程)11 , Component Life Cycle( 組件的生命周期管理)12 , Resource pooling (資源池)13 , Security (安全)14 , Caching (緩存)四、什么是典型的軟件三層結(jié)構(gòu)?軟件設(shè)計為什么要分層?軟件分層有什么好處?答: (1) Presentation layer

10、(表示層)(1) 表示邏輯(生成界面代碼)(2) 接收請求(3) 處理業(yè)務(wù)層拋出的異常(4) 負(fù)責(zé)規(guī)則驗證(數(shù)據(jù)格式,數(shù)據(jù)非空等)(5) 流程控制(2) Service layer (服務(wù)層/業(yè)務(wù)層)(1) 封裝業(yè)務(wù)邏輯處理,并且對外暴露接口(2) 負(fù)責(zé)事務(wù),安全等服務(wù)(3) Persistence layer (持久層)(1) 封裝數(shù)據(jù)訪問的邏輯,暴露接口(2) 提供方便的數(shù)據(jù)訪問的方案(查詢語言, API ,映射機制等)Domain layer (域?qū)?(1) 業(yè)務(wù)對象以及業(yè)務(wù)關(guān)系的表示(2) 處理簡單的業(yè)務(wù)邏輯(3) 域?qū)拥膶ο罂梢源┰奖硎緦樱瑯I(yè)務(wù)層,持久層軟件分層結(jié)構(gòu)使得代碼維護非常方

11、便,設(shè)計明確,各層獨立,專注自己擅長的領(lǐng)域。五、什么是OOP? OOP 相對于面向過程編程有哪些優(yōu)點?OOP , Object-Oriented Programming ,面向?qū)ο缶幊滩煌诿嫦蜻^程編程:(1) OOP關(guān)注對象和角色,也就是事物的本質(zhì)1) OOP 把客觀世界中的對象抽象成對應(yīng)的類;2)通過類構(gòu)造實例;3)通過依賴、繼承、實現(xiàn)等形式建立對象間的通信關(guān)系( 2) OOP 易于擴展,增加或改變業(yè)務(wù)的功能,無需大幅改動改變源代碼( 3) OOP 易于建模, OOP 就是軟件架構(gòu)師在計算機高級語言中對客觀世界的抽象和再現(xiàn),人們可以很好地理解和建立起計算機中的抽象模型 六、談?wù)?Overl

12、oad 和 Override 的區(qū)別。答:方法的重寫 Overriding 和重載 Overloading 是 Java 多態(tài)性的不同表現(xiàn)。重寫 Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading 是一個類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫 (Overriding) 。子類的對象使用這個方法時, 將調(diào)用子類中的定義, 對它而言, 父類中的定義如同被 “屏蔽”了。 如果在一個類中定義了多個同名的方法, 它們或有不同的參數(shù)個數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading) 。 Overloaded

13、的方法是可以改變返回值的類型。七、談?wù)?HashMap 和 Hashtable 的區(qū)別。答: HashMap 是輕量級的(線程不安全的,效率高的)集合, Hashtable 是重量級的(線 程安全的,效率低的)集合。都屬于 Map 接口的類,實現(xiàn)了將惟一鍵映射到特定的值上。HashMap 類沒有分類或者排序。它允許一個null 鍵和多個 null 值。Hashtable 類似于 HashMap ,但是不允許null 鍵和 null 值。它也比HashMap 慢,因為它是同步的。、請問 abstract class和 inteface 有什么區(qū)另1J?答:1) 接口沒有任何的實現(xiàn),而抽象類它可以

14、有部分的實現(xiàn)也可以沒有;2) 如果需要復(fù)用或者共享部分代碼,應(yīng)該用抽象類而不是接口 ;3) 繼承無法解決類型的轉(zhuǎn)換問題 ,接口就是為了解決這一問題而產(chǎn)生的 (Java 的單繼承是接口產(chǎn)生的根本原因 ) 接口是一種抽象的第三方規(guī)范,跟對象沒什么直接關(guān)系。九、請問軟件開發(fā)中的設(shè)計模式你會使用哪些?答: 我熟悉的設(shè)計模式有單例模式, DAO 模式, 模板方法, 工廠模式, 委托代理模式, MVC模式等。Singleton模式主要作用是保證在Java應(yīng)用程序中,一個類Class只有一個實例存在。Singleton 模式一般形式:定義一個類,它的構(gòu)造函數(shù)為 private 的,它有一個static 的

15、private 的該類變量,在類初始化時實例話,通過一個public的getInstance方法獲取對它的引用,繼而調(diào)用其中的方法。十、類的核心特性有哪些?類具有封裝性、繼承性和多態(tài)性。封裝性:類的封裝性為類的成員提供公有、 缺省、 保護和私有等多級訪問權(quán)限, 目的是隱藏類中的私有變量和類中方法的實現(xiàn)細節(jié)。繼承性:類的繼承性提供從已存在的類創(chuàng)建新類的機制,繼承(inheritance )使一個新類自動擁有被繼承類(父類)的全部成員。多態(tài)性:類的多態(tài)性提供類中方法執(zhí)行的多樣性,多態(tài)性有兩種表現(xiàn)形式:重載和覆蓋。十一、請問類與對象有什么區(qū)別?類類就是某一種事物的一般性的集合體,是相同或相似的各個事

16、物共同特性的一種抽象。對象在面向?qū)ο蟾拍钪?,對象?Object )是類的實例(instance) 。對象與類的關(guān)系就像變量與數(shù)據(jù)類型的關(guān)系一樣。十二、寫出生產(chǎn)者消費者模型的實現(xiàn)十三、用軟件工程和Java來敘述購物車(shopping cart)系統(tǒng)實現(xiàn)十四、文件系統(tǒng)的幾個類:FileInputStream 、 FileOutputStream 、 FileReader、 FileWriter 的區(qū)別十五、請寫出 Java API 中最常用的五個包,并且各舉兩個類加以說明。十六、 請問你在 “電信運營支撐系統(tǒng)” 中遇到了哪些問題?你是怎么解決的?做這個項目你最大的收獲是什么?十七、請說出幾個常

17、用的異常類答: NullpointException (空指針異常)ClassNotFoundException (類找不到異常)ClassCastException (類型轉(zhuǎn)換異常)IllegalArgumentException (非法參數(shù)異常)ArithmeticException (算術(shù)異常)NumberFormatException (數(shù)據(jù)格式異常)IndexOutOfBoundsException (數(shù)組下標(biāo)越界異常)IllegalStateException (非法語句異常)十八、什么是進程和線程?兩者的區(qū)別是什么?十九、請簡要描述一下你做的 ShoppingCart 項目。二十

18、、請問網(wǎng)絡(luò)7 層協(xié)議, tcp/ip4 層協(xié)議是什么?二H一、Java面向?qū)ο蟮乃拇筇攸c二十二、 public,private,protected , default 訪問權(quán)限(可見性)答:public:全局可見protected :繼承體系結(jié)構(gòu)之間可見default (或不寫):同包可見private :本類可見。二十三、名詞解釋CRMCustomer Relationship Management, 客戶關(guān)系管理ERPEnterprise Resource Planning, 企業(yè)資源規(guī)劃 OSSOperation Support System, 運營支撐系統(tǒng)BSSBusiness Sup

19、port System, 數(shù)據(jù)定義語言BOSSBusiness Operation Support System, 數(shù)據(jù)定義語言 OAOffice Automatization, 辦公自動化 HTTPOOPSOAGUIDDLData Definition Language, 數(shù)據(jù)定義語言 DMLData Manipulation Language, 數(shù)據(jù)操作語言 WYSIWYG所見即所得 What You See is What You GetCMPCMTB2BC2CB2CIDEDOMClient/ServerCMMORM MIS MVCMVC 是 Model View Controller

20、的簡寫。 "Model" 代表的是應(yīng)用的業(yè)務(wù)邏輯(通過 JavaBean, EJB 組件實現(xiàn)) , "View" 是應(yīng)用的表示面(由 JSP 頁面產(chǎn)生) , "Controller" 是 提供應(yīng)用的處理過程控制(一般是一個Servlet ) ,通過這種設(shè)計模型把應(yīng)用邏輯,處理過程和顯示邏輯分成不同的組件實現(xiàn)。這些組件可以進行交互和重用。 OLE CORBACORBA 標(biāo)準(zhǔn)是公共對象請求代理結(jié)構(gòu)(Common Object Request Broker Architecture) , 由對象管理組織(Object Management

21、Group ,縮寫為 OMG) 標(biāo)準(zhǔn)化。它的組成是接口定義語言(IDL), 語言綁定 (binding: 也譯為聯(lián)編 )和允許應(yīng)用程序間互操作的協(xié)議。 其目的為: 用不同的程序設(shè)計語言書寫 在不同的進程中運行 為不同的操作系統(tǒng)開發(fā)。 UMLUML , 標(biāo)準(zhǔn)建模語言, 包含用例圖,靜態(tài)圖(包括類圖、 對象圖和包圖 ),行為圖 ,交互圖 (順序圖 ,合作圖),實現(xiàn)圖等。XML CMMI JRE J2EEJ2EE 是 Sun 公司提出的多層 (multi-diered), 分布式 (distributed), 基于組件 (component-base) 的企業(yè)級應(yīng)用模型(enterpriese ap

22、plication model). 在這樣的一個應(yīng)用系統(tǒng)中, 可按照功能劃分為不同的組件, 這些組件又可在不同計算機上, 并且處于相應(yīng)的層次(tier) 中。 所屬層次包括客戶層(clietn tier)組件,web層和組件,Business層和組件,企業(yè)信息系統(tǒng)(EIS)層。 JDK AOP OO Container W3C JMS Domain POJO JVM JNDI JTA SOAP Simple Object Access Protocol ,簡單對象訪問協(xié)議WSDL JDOJDO是Java對象持久化的新的規(guī)范,為Java Data Object的簡稱 也是一個用于存取某種數(shù)據(jù)倉庫

23、中的對象的標(biāo)準(zhǔn)化 API 。 JDO 提供了透明的對象存儲, 因此對開發(fā)人員來說, 存儲數(shù) 據(jù)對象完全不需要額外的代碼 (如 JDBC API 的使用) 。 這些繁瑣的例行工作已經(jīng)轉(zhuǎn)移到 JDO產(chǎn)品提供商身上,使開發(fā)人員解脫出來,從而集中時間和精力在業(yè)務(wù)邏輯上。另外,JDO很靈活,因為它可以在任何數(shù)據(jù)底層上運行。 JDBC 只是面向關(guān)系數(shù)據(jù)庫( RDBMS)JDO 更通用,提供到任何數(shù)據(jù)底層的存儲功能,比如關(guān)系數(shù)據(jù)庫、文件、XML 以及對象數(shù)據(jù)庫( ODBMS )等等,使得應(yīng)用可移植性更強。TDDDAOIoCInversion of Control, 控制反轉(zhuǎn) RMIDNSInternet D

24、omain Name System, 因特網(wǎng)域名系統(tǒng)URLURI二十四、數(shù)據(jù)庫連接池的工作機制二十五、互聯(lián)網(wǎng)提供哪些服務(wù)?二十六、請寫出 JSP 的幾個隱含內(nèi)置對象答: JSP 中隱含內(nèi)置對象名稱類型注釋和范圍requestjavax.servlet.http.HttpServletRequestrequestresponsejavax.servlet.http.HttpServletResponseresponsepagejavax.lang.ObjectpageExceptionjava.lang.ThrowablepagepageContext javax.servlet.jsp.Pag

25、eContextpagesessionjavax.servlet.http.HttpSessionsessionapplicationjavax.servlet.ServletContextServletContextoutjavax.servlet.jsp.JspWriterOutputStreamconfigjavax.servlet.ServletConfigServletConfigJSP共有以下9種基本內(nèi)置組件(可與 ASP的6種內(nèi)部組件相對應(yīng))request 用戶端請求,此請求會包含來自 GET/POST 請求的參數(shù)response 網(wǎng)頁傳回用戶端的回應(yīng)page JSP 網(wǎng)頁本身e

26、xception 針對錯誤網(wǎng)頁,未捕捉的例外pageContext 網(wǎng)頁的屬性是在這里管理session 與請求有關(guān)的會話期application servlet 正在執(zhí)行的內(nèi)容out 用來傳送回應(yīng)的輸出configServlet 的構(gòu)架部件二十七、請你談?wù)凷SH 整合答: SSH:Struts (表示層)+Spring (業(yè)務(wù)層)+Hibernate (持久層)Struts:Struts是一個表示層框架,主要作用是界面展示,接收請求,分發(fā)請求。在 MVC 框架中, Struts 屬于 VC 層次, 負(fù)責(zé)界面表現(xiàn), 負(fù)責(zé) MVC 關(guān)系的分發(fā)。 ( View : 沿用 JSP, HTTP , F

27、orm , Tag, Resourse ; Controller : ActionServlet , struts-config.xml , Action )Hibernate:Hibernate 是一個持久層框架,它只負(fù)責(zé)與關(guān)系數(shù)據(jù)庫的操作。Spring:Spring 是一個業(yè)務(wù)層框架,是一個整合的框架,能夠很好地黏合表示層與持久層。二十八、應(yīng)用服務(wù)器與Web Server 的區(qū)別二十九、 Java Servlet API 中 forward() 與 redirect() 的區(qū)別答:前者僅是容器中控制權(quán)的轉(zhuǎn)向, 在客戶端瀏覽器地址欄中不會顯示出轉(zhuǎn)向后的地址; 后者則是完全的跳轉(zhuǎn), 瀏覽器將會

28、得到跳轉(zhuǎn)的地址, 并重新發(fā)送請求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。所以, 前者更加高效, 在前者可以滿足需要時, 盡量使用 forward() 方法,并且,這樣也有助于隱藏實際的鏈接。在有些情況下,比如,需要跳轉(zhuǎn)到一個其它服務(wù)器上的資源,則必須使用sendRedirect()方法。三十、寫一個簡單的 C/S 結(jié)構(gòu)程序, Java 的通信編程,編程題 ( 或問答 ) ,用 JAVA SOCKET 編程,讀服務(wù)器幾個字符,再寫入本地顯示?答 :Server 端程序 :package test;import .*;import java.io.*;public class Se

29、rver private ServerSocket ss;private Socket socket;private BufferedReader in;private PrintWriter out;public Server()tryss=new ServerSocket(10000);while(true)socket = ss.accept();String RemoteIP = socket.getInetAddress().getHostAddress();String RemotePort = ":"+socket.getLocalPort();System.

30、out.println("A client come in!IP:"+RemoteIP+RemotePort); in = new BufferedReader(newInputStreamReader(socket.getInputStream();String line = in.readLine();System.out.println("Cleint send is :" + line);out = new PrintWriter(socket.getOutputStream(),true); out.println("Your Mes

31、sage Received!");out.close();in.close();socket.close();catch (IOException e)out.println("wrong");public static void main(String args)new Server();Client 端程序 :package test;import java.io.*;import .*;public class Client Socket socket;BufferedReader in;PrintWriter out;public Client()tryS

32、ystem.out.println("Try to Connect to :10000");socket = new Socket("",10000);System.out.println("The Server Connected!");System.out.println("Please enter some Character:");BufferedReader line = new BufferedReader(newInputStreamReader(System.in

33、);out = new PrintWriter(socket.getOutputStream(),true); out.println(line.readLine();in = new BufferedReader(new InputStreamReader(socket.getInputStream();System.out.println(in.readLine();out.close();in.close();socket.close();catch(IOException e)out.println("Wrong");public static void main(

34、String args)new Client();九、請問軟件開發(fā)中的設(shè)計模式你會使用哪些?答: 我熟悉的設(shè)計模式有單例模式, DAO 模式, 模板方法, 工廠模式, 委托代理模式, MVC模式等。Singleton模式主要作用是保證在Java應(yīng)用程序中,一個類Class只有一個實例存在。Singleton 模式一般形式:定義一個類,它的構(gòu)造函數(shù)為 private 的,它有一個static 的 private 的該類變量,在類初始化時實例話,通過一個public的getInstance方法獲取對它的引用,繼而調(diào)用其中的方法。十、類的核心特性有哪些?類具有封裝性、繼承性和多態(tài)性。封裝性:類的封裝

35、性為類的成員提供公有、 缺省、 保護和私有等多級訪問權(quán)限, 目的是隱藏類中的私有變量和類中方法的實現(xiàn)細節(jié)。繼承性:類的繼承性提供從已存在的類創(chuàng)建新類的機制,繼承( inheritance )使一個新類自動擁有被繼承類(父類)的全部成員。多態(tài)性:類的多態(tài)性提供類中方法執(zhí)行的多樣性,多態(tài)性有兩種表現(xiàn)形式:重載和覆蓋。十一、請問類與對象有什么區(qū)別?類類就是某一種事物的一般性的集合體,是相同或相似的各個事物共同特性的一種抽象。對象在面向?qū)ο蟾拍钪?,對象(Object)是類的實例(instance)。對象與類的關(guān)系就像變量與數(shù)據(jù)類型的關(guān)系一樣。十二、寫出生產(chǎn)者消費者模型的實現(xiàn)十三、用軟件工程和Java來

36、敘述購物車(shopping cart)系統(tǒng)實現(xiàn)十四、文件系統(tǒng)的幾個類:FileInputStream 、 FileOutputStream 、 FileReader、 FileWriter 的區(qū)別十五、請寫出 Java API 中最常用的五個包,并且各舉兩個類加以說明。十六、 請問你在 “電信運營支撐系統(tǒng)” 中遇到了哪些問題?你是怎么解決的?做這個項目你最大的收獲是什么?十七、請說出幾個常用的異常類答: NullpointException (空指針異常)ClassNotFoundException (類找不到異常)ClassCastException (類型轉(zhuǎn)換異常)IllegalArgu

37、mentException (非法參數(shù)異常)ArithmeticException (算術(shù)異常)NumberFormatException (數(shù)據(jù)格式異常)IndexOutOfBoundsException (數(shù)組下標(biāo)越界異常)IllegalStateException (非法語句異常)十八、什么是進程和線程?兩者的區(qū)別是什么?十九、請簡要描述一下你做的 ShoppingCart 項目。二十、請問網(wǎng)絡(luò)7 層協(xié)議, tcp/ip4 層協(xié)議是什么?二H一、Java面向?qū)ο蟮乃拇筇攸c二十二、 public,private,protected , default 訪問權(quán)限(可見性)答:public:全

38、局可見protected :繼承體系結(jié)構(gòu)之間可見default (或不寫):同包可見private :本類可見。二十三、名詞解釋CRMCustomer Relationship Management, 客戶關(guān)系管理ERPEnterprise Resource Planning, 企業(yè)資源規(guī)劃 OSSOperation Support System, 運營支撐系統(tǒng)BSSBusiness Support System, 數(shù)據(jù)定義語言BOSSBusiness Operation Support System, 數(shù)據(jù)定義語言 OAOffice Automatization, 辦公自動化 HTTPOOP

39、SOAGUIDDLData Definition Language, 數(shù)據(jù)定義語言 DMLData Manipulation Language, 數(shù)據(jù)操作語言 WYSIWYG所見即所得 What You See is What You GetCMPCMTB2BC2CB2CIDEDOMClient/ServerCMMORMMISMVCMVC 是 Model View Controller 的簡寫。 "Model" 代表的是應(yīng)用的業(yè)務(wù)邏輯(通過JavaBean, EJB組件實現(xiàn)),"View"是應(yīng)用的表示面(由 JSP頁面產(chǎn)生),"Controll

40、er" 是提供應(yīng)用的處理過程控制(一般是一個Servlet),通過這種設(shè)計模型把應(yīng)用邏輯,處理過程和顯示邏輯分成不同的組件實現(xiàn)。這些組件可以進行交互和重用。OLECORBACORBA 標(biāo)準(zhǔn)是公共對象請求代理結(jié)構(gòu)(Common Object Request Broker Architecture) , 由對象管理組織(Object Management Group,縮寫為 OMG)標(biāo)準(zhǔn)化。它的組成是接口定義語言(IDL), 語言綁定 (binding: 也譯為聯(lián)編)和允許應(yīng)用程序間互操作的協(xié)議。其目的為:用不同的程序設(shè)計語言書寫在不同的進程中運行為不同的操作系統(tǒng)開發(fā)。UMLUML ,

41、標(biāo)準(zhǔn)建模語言, 包含用例圖,靜態(tài)圖 (包括類圖、 對象圖和包圖),行為圖,交互圖(順序圖 ,合作圖),實現(xiàn)圖等。XML CMMI JRE J2EEJ2EE 是 Sun 公司提出的多層 (multi-diered), 分布式 (distributed), 基于組件 (component-base) 的企業(yè)級應(yīng)用模型(enterpriese application model). 在這樣的一個應(yīng)用系統(tǒng)中, 可按照功能劃分為不同的組件, 這些組件又可在不同計算機上, 并且處于相應(yīng)的層次(tier) 中。 所屬層次包括客戶層(clietn tier)組件,web層和組件,Business層和組件,企業(yè)

42、信息系統(tǒng)(EIS)層。 JDK AOP OO Container W3C JMS Domain POJO JVM JNDI JTA SOAP Simple Object Access Protocol ,簡單對象訪問協(xié)議WSDL JDOJDO是Java對象持久化的新的規(guī)范,為Java Data Object的簡稱 也是一個用于存取某種數(shù)據(jù)倉庫中的對象的標(biāo)準(zhǔn)化 API 。 JDO 提供了透明的對象存儲, 因此對開發(fā)人員來說, 存儲數(shù) 據(jù)對象完全不需要額外的代碼 (如 JDBC API 的使用)。 這些繁瑣的例行工作已經(jīng)轉(zhuǎn)移到JDO產(chǎn)品提供商身上,使開發(fā)人員解脫出來,從而集中時間和精力在業(yè)務(wù)邏輯上

43、。另外, JDO 很靈活,因為它可以在任何數(shù)據(jù)底層上運行。 JDBC 只是面向關(guān)系數(shù)據(jù)庫( RDBMS)JDO 更 通用,提供到任何數(shù)據(jù)底層的存儲功能,比如關(guān)系數(shù)據(jù)庫、文件、 XML 以及對象數(shù)據(jù)庫 ( ODBMS )等等,使得應(yīng)用可移植性更強。 TDD DAOIoCInversion of Control, 控制反轉(zhuǎn) RMIDNSInternet Domain Name System, 因特網(wǎng)域名系統(tǒng)URLURI二十四、數(shù)據(jù)庫連接池的工作機制二十五、互聯(lián)網(wǎng)提供哪些服務(wù)?二十六、請寫出JSP 的幾個隱含內(nèi)置對象答: JSP 中隱含內(nèi)置對象名稱類型注釋和范圍requestjavax.servle

44、t.http.HttpServletRequestrequestresponsejavax.servlet.http.HttpServletResponseresponsepagejavax.lang.ObjectpageExceptionjava.lang.ThrowablepagepageContextjavax.servlet.jsp.PageContextpagesessionjavax.servlet.http.HttpSessionsessionapplicationjavax.servlet.ServletContextServletContextoutjavax.servlet

45、.jsp.JspWriterOutputStreamconfigJSP共有以下javax.servlet.ServletConfigServletConfig9 種基本內(nèi)置組件(可與ASP 的 6 種內(nèi)部組件相對應(yīng)):request用戶端請求,此請求會包含來自 GET/POST請求的參數(shù)response網(wǎng)頁傳回用戶端的回應(yīng)page JSP網(wǎng)頁本身exception針對錯誤網(wǎng)頁,未捕捉的例外pageContext網(wǎng)頁的屬性是在這里管理session與請求有關(guān)的會話期application servlet 正在執(zhí)行的內(nèi)容out 用來傳送回應(yīng)的輸出configServlet 的構(gòu)架部件二十七、請你談

46、談SSH 整合答: SSH:Struts (表示層)+Spring (業(yè)務(wù)層)+Hibernate (持久層)Struts:Struts 是一個表示層框架,主要作用是界面展示,接收請求,分發(fā)請求。在 MVC 框架中, Struts 屬于 VC 層次, 負(fù)責(zé)界面表現(xiàn), 負(fù)責(zé) MVC 關(guān)系的分發(fā)。 ( View : 沿用JSP, HTTP , Form , Tag, Resourse ; Controller : ActionServlet , struts-config.xml , Action )Hibernate:Hibernate 是一個持久層框架,它只負(fù)責(zé)與關(guān)系數(shù)據(jù)庫的操作。Spring

47、:Spring 是一個業(yè)務(wù)層框架,是一個整合的框架,能夠很好地黏合表示層與持久層。二十八、應(yīng)用服務(wù)器與Web Server 的區(qū)別二十九、 Java Servlet API 中 forward() 與 redirect() 的區(qū)別答:前者僅是容器中控制權(quán)的轉(zhuǎn)向, 在客戶端瀏覽器地址欄中不會顯示出轉(zhuǎn)向后的地址; 后者則是完全的跳轉(zhuǎn), 瀏覽器將會得到跳轉(zhuǎn)的地址, 并重新發(fā)送請求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。所以, 前者更加高效, 在前者可以滿足需要時, 盡量使用 forward() 方法,并且,這樣也有助于隱藏實際的鏈接。在有些情況下,比如,需要跳轉(zhuǎn)到一個其它服務(wù)器上的資源,則必須使用sendRedirect()方法。三十、寫一個簡單的 C/S 結(jié)構(gòu)程序, Java 的通信編程,編程題 ( 或問答 ) ,用 JAVA SOCKET編程,讀服務(wù)器幾個字符,再寫入本地顯示?答 :Server 端程序 :package

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論