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

下載本文檔

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

文檔簡介

一、你對MVC的理解,MVC有什么優(yōu)缺點?結(jié)合Struts,說明在一個Web應(yīng)用如何去使

用?

答:

MVC設(shè)計模式(應(yīng)用觀察者模式的框架模式)

M:Model(Businessprocesslayer),模型,操作數(shù)據(jù)的業(yè)務(wù)處理層,并獨立于表現(xiàn)層(Independent

ofpresentation)o

V:View(Presentationlayer),視圖,通過客戶端數(shù)據(jù)類型顯示數(shù)據(jù),并回顯模型層的執(zhí)行結(jié)果。

C:Controller(Controllayer),控制器,也就是視圖層和模型層橋梁,控制數(shù)據(jù)的流向,接受

視圖層發(fā)出的事件,并重繪視圖

MVC框架的一種實現(xiàn)模型

模型二(Servlet-centric):

JSP+Servlet+JavaBean,以控制為核心,JSP只負(fù)責(zé)顯示和收集數(shù)據(jù),Sevlel,連接視圖和模

型,將視圖層數(shù)據(jù),發(fā)送給模型層,JavaBean,分為業(yè)務(wù)類和數(shù)據(jù)實體,業(yè)務(wù)類處理業(yè)務(wù)數(shù)

據(jù),數(shù)據(jù)實體,承載數(shù)據(jù),基本上大多數(shù)的項目都是使用這種MVC的實現(xiàn)模式。

StrutsMVC框架(Webapplicationframeworks)

Struts是使用MVC的實現(xiàn)模式二來實現(xiàn)的,也就是以控制器為核心。

Struts提供了一些組件使用MVC開發(fā)應(yīng)用程序:

Model:Struts沒有提供model類。這個商業(yè)邏輯必須由Web應(yīng)用程序的開發(fā)者以JavaBean

或EJB的形式提供

View:Struts提供了actionform創(chuàng)建formbean,用于在controller和view間傳輸數(shù)據(jù)。此外,

Struts提供了自定義JSP標(biāo)簽庫,輔助開發(fā)者用JSP創(chuàng)建交互式的以表單為基礎(chǔ)的應(yīng)用程序,

應(yīng)用程序資源文件保留了一些文本常量和錯誤消息,可轉(zhuǎn)變?yōu)槠渌Z言,可用于J5P中。

Controller:Struts提供了一個核心的控制器ActionServlel,通過這個核心的控制器來調(diào)用其

他用戶注冊了的自定義的控制器Action,自定義Action需要符合Struts的自定義Action規(guī)

范,還需要在struts-config.xml的特定配置文件中進(jìn)行配置,接收J(rèn)SP輸入字段形成Action

form,然后調(diào)用一個Action控制器。Action控制制中提供了model的邏輯接口。

二、什么是WebService?

答:

WebService是一個SOA(面向服務(wù)的編程)的架構(gòu),它是不依賴于語言,不依敕于平

臺,可以實現(xiàn)不同的語言間的相互調(diào)用,通過Internet進(jìn)行基于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是由So叩的part和0個或多個附件組成,?般只有part,在part中有Envelope和

Body。

WebService是通過提供標(biāo)準(zhǔn)的協(xié)議和接口,可以讓不同的程序集成的一種SOA架構(gòu)。

WebService的優(yōu)點

(1)可以讓異構(gòu)的程序相互訪問(跨平臺)

(2)松耦合

(3)基于標(biāo)準(zhǔn)協(xié)議(通用語言,允許其他程序訪問)

WebService的基本原理

(I)ServiceProvider采用WSDL描述服務(wù)

(2)ServiceProvider采用UDDI將服務(wù)的描述文件發(fā)布到UDDI服務(wù)器(Registerserver)

(3)ServiceRequestor在UDDI服務(wù)器上查詢并獲取WSDL文件

(4)Servicerequestor將請求綁定到SOAP,并訪問相應(yīng)的服務(wù)。

三、什么是中間件?

中間件就是程序中可織入的,可重用的,與'業(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ù)訪問中間件,遠(yuǎn)程調(diào)用中間件,消息中間件,交易中間件,對象中間件。

舉例:

1,RMI(RemoteMethodInvocations,遠(yuǎn)程調(diào)用)

2,LoadBalancing(負(fù)載均衡,將訪問負(fù)荷分散到各個服務(wù)器中)

3,TransparentFail-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,DynamicRedeployment(動態(tài)重新部署,在不停止原系統(tǒng)的情況下,部署新的系統(tǒng))

8,SystemManagement(系統(tǒng)管理)

9,Threading(多線程處理)

10,Message-oriemedMiddleware面向消息的中間件(異步的調(diào)用編程)

11,ComponentLifeCycle(組件的生命周期管理)

12,Resourcepooling(資源池)

13,Security(安全)

14,Caching(緩存)

四、什么是典型的軟件三層結(jié)構(gòu)?軟件設(shè)計為什么要分層?軟件分層有什么好處?

答:(1)Presentationlayer(表示層)

(1)表示邏輯(生成界面代碼)

(2)接收請求

(3)處理業(yè)務(wù)層拋出的異常

(4)負(fù)責(zé)規(guī)則驗證(數(shù)據(jù)格式,數(shù)據(jù)非空等)

(5)流程控制

⑵Servicelayer(服務(wù)層/業(yè)務(wù)層)

(I)封裝業(yè)務(wù)邏輯處理,并且對外暴露接口

(2)負(fù)責(zé)事務(wù),安全等服務(wù)

⑶Persistencelayer(持久層)

(1)封裝數(shù)據(jù)訪問的邏輯,暴露接口

(2)提供方便的數(shù)據(jù)訪問的方案(查詢語言,API,映射機制等)

Domainlayer(域?qū)樱?/p>

(I)業(yè)務(wù)對象以及業(yè)務(wù)關(guān)系的表示

(2)處理簡單的業(yè)務(wù)邏輯

(3)域?qū)拥膶ο罂梢源┰奖硎緦樱瑯I(yè)務(wù)層,持久層

軟件分層結(jié)構(gòu)使得代碼維護非常方便,設(shè)計明確,各層獨立,專注自己擅長的領(lǐng)域。

五、什么是OOP?OOP相對于面向過程編程有哪些優(yōu)點?

OOP,Object-OrientedProgramming,面向?qū)ο缶幊滩煌诿嫦蜻^程編程:

(1)OOP關(guān)注對象利角色,也就是事物的本質(zhì)

1)OOP把客觀世界中的對象抽象成對應(yīng)的類;

2)通過類構(gòu)造實例;

3)通過依賴、繼承、實現(xiàn)等形式建立對象間的通信大系

(2)OOP易于擴展,增加或改變業(yè)務(wù)的功能,無需大幅改動改變源代碼

(3)OOP易于建模,OOP就是軟件架構(gòu)師在計算機高級語言中對客觀世界的抽象和

再現(xiàn),人們可以很好地理解和建立起計算機中的抽象模型

六、談?wù)凮verload和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的方法是可以改變返回值的類型。

七、談?wù)凥ashMap和Hashtable的區(qū)別。

答:HashMap是輕量級的(線程不安全的,效率高的)集合,Hashtable是重量級的(線

程安全的,效率低的)集合。

都屬于Map接口的類,實現(xiàn)了將惟一鍵映射到特定的值上。

HashMap類沒有分類或者排序。它允許一個null鍵和多個null值。

Hashtable類似于HashMap?但是不允許null鍵和null值。它也比HashMap慢,

因為它是同步的。

A、請問abstractclass和interface有什么區(qū)別?

答:

1)接口沒有任何的實現(xiàn),而抽象類它可以有部分的實現(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的private的該類變量,在類

初始化時宴例話,通過一個public的getlnstance方法獲取對它的引用,維而調(diào)用其中的方法。

十、類的核心特性有哪些?

類具有封裝性、繼承性和多態(tài)性。

封裝性:

類的封裝性為類的成員提供公有、缺省、保護和私有等多級訪問權(quán)限,目的是隱藏類中

的私有變量和類中方法的實現(xiàn)細(xì)節(jié)。

繼承性:

類的繼承性提供從已存在的類創(chuàng)建新類的機制,繼承(inheritance)使一個新類自動擁

有被繼承類(父類)的全部成員。

多態(tài)性:

類的多態(tài)性提供類中方法執(zhí)行的多樣性,多態(tài)性有兩種表現(xiàn)形式:重載和覆蓋。

十一、請問類與對象有什么區(qū)別?

類就是某一種事物的一般性的集合體,是相同或相似的各個事物共同特性的一種抽象。

對象

在面向?qū)ο蟾拍钪校瑢ο螅∣bject)是類的實例(instance)o對象與類的關(guān)系就像變量

與數(shù)據(jù)類型的關(guān)系一樣。

十一、寫出生產(chǎn)者消費者模型的實現(xiàn)

十三、用軟件工程和Java來敘述購物車(shoppingcart)系統(tǒng)實現(xiàn)

十四、文件系統(tǒng)的幾個類FilelnpulSlream、FileOutputStream>FileReader>FileWriter的區(qū)別

十五、請寫出JavaAPI中最常用的五個包,并且各舉兩個類加以說明。

十六、請問你在“電信運營支撐系統(tǒng)”中遇到了哪些問題?你是怎么解決的?做這個項目你

最大的收獲是什么?

十七、請說出幾個常用的異常類

答:NullpointException(空指針異常)

ClassNotFoundException(類找不到異常)

ClassCastException(類型轉(zhuǎn)換異常)

IllegalArgumentException(非法參數(shù)異常)

ArithmeticException(算術(shù)異常)

NumberFormatException(數(shù)據(jù)格式異常)

IndexOutOfBoundsException(數(shù)組下標(biāo)越界異常)

IIlegalStateException(非法語句異常)

十八、什么是進(jìn)程和線程?兩者的區(qū)別是什么?

十九、請簡要描述一下你做的ShoppingCart項目。

二十、請問網(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:本類可見。

二十三、名詞解釋

CRM

ICustomcrRelationshipManagement,客戶關(guān)系管理]

ERP

[EnterpriseResourcePlanning,企業(yè)資源規(guī)劃]

OSS

[OperationSupportSystem,運營支撐系統(tǒng)]

BSS

[BusinessSupportSystem,數(shù)據(jù)定義語言]

BOSS

[BusinessOperationSupportSystem,數(shù)據(jù)定義語言]

OA

[OfficeAutomatization,辦公自動化]

HTTP

OOP

SOA

GUI

DDL

[DataDefinitionLanguage,數(shù)據(jù)定義語言]

DML

[DataManipulationLanguage,數(shù)據(jù)操作語言]

WYSIWYG

所見即所得fWhatYouSeeisWhatYouGet]

CMP

CMT

B2B

C2C

B2C

IDE

DOM

Client/Server

CMM

ORM

MIS

MVC

MVC是Model-View-Controller的簡寫。"Model"代表的是應(yīng)用的業(yè)務(wù)邏輯(通過

JavaBean,EJB組件實現(xiàn)),"View"是應(yīng)用的表示面(由JSP頁面產(chǎn)生),"Controller"是

提供應(yīng)用的處理過程控制(一般是一個Servlet),通過這種設(shè)計模型把應(yīng)用邏輯,處理過程

和顯示邏輯分成不同的組件實現(xiàn)。這些組件可以進(jìn)行交互和重用。

OLE

CORBA

CORBA標(biāo)準(zhǔn)是公共對象請求代理結(jié)構(gòu)(CommonObjectRequestBrokerArchitecture),由對

象管理組織(ObjeciManagementGroup,縮寫為OMG)標(biāo)準(zhǔn)化。它的組成是接口定義語言

(IDL),語言綁定(binding:也譯為聯(lián)編)和允許應(yīng)用程序間互操作的協(xié)議。其目的為:

用不同的程序設(shè)計語言書寫

在不同的進(jìn)程中運行

為不同的操作系統(tǒng)開發(fā)。

UML

UML,標(biāo)準(zhǔn)建模語言,包含用例圖,靜態(tài)圖(包括類圖、對象圖和包圖),行為圖,交互圖(順序

圖,合作圖),實現(xiàn)圖等。

XML

CMMI

JRE

J2EE

J2EE是Sun公司提出的多層(mulli-dicrcd),分布式(distributed),基于組件(componcnl-basc)

的企業(yè)級應(yīng)用模型(enterprieseapplicationmodel).在這樣的一個應(yīng)用系統(tǒng)中,可按照功能劃分

為不同的組件,這些組件又可在不同計算機上,并且處于相應(yīng)的層次(lier)中。所屬層次包括

客戶層(clietntier)組件,web層和組件,Business層和組件,企業(yè)信息系統(tǒng)(EIS)層。

JDK

AOP

OO

Container

W3C

JMS

Domain

POJO

JVM

JNDI

JTA

SOAP

[SimpleObjectAccessProtocol?簡單對象訪問協(xié)議]

WSDL

JDO

JDO是Java對象持久化的新的規(guī)范,為JavaDataObject的簡稱,也是一個用于存取某種數(shù)

據(jù)倉庫中的對象的標(biāo)準(zhǔn)化API。JDO提供了透明的對象存儲,因此對?開發(fā)人員來說,存儲數(shù)

據(jù)對象完全不需要額外的代碼(如JDBCAPI的使用)。這些繁瑣的例行工作已經(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)用可移植性更強。

TDD

DAO

loC

[InversionofControl,控制反轉(zhuǎn)]

RMI

DNS

[InternetDomainNameSystem,因特網(wǎng)域名系統(tǒng)]

URL

URI

二十四、數(shù)據(jù)庫連接池的工作機制

二十五、互聯(lián)網(wǎng)提供哪些服務(wù)?

二十六、請寫出JSP的幾個隱含內(nèi)置對象

答:JSP中隱含內(nèi)置對象

名稱類型注釋和范圍

requestjavax.servlet.http.HttpServletRcquestrequest

responsejavax.servlet.http.HttpServletResponseresponse

pagejavax.lang.Objcctpage

Exceptionjava.lang.Throwablcpage

pageContextjavax.sendctjsp.PageContextpage

sessionjavax.servlet.http.HitpSessionsession

applicationjavax.servlet.ServletContextServletContext

outjavax.servlet.jsp.JspWriterOutputStrcam

configjavax.senletServletConfigSenletConfig

JSP共有以下9種基本內(nèi)置組件(可與ASP的6種內(nèi)部組件相對應(yīng)):

request用戶端請求,此請求會包含來自GET/POST請求的參數(shù)

response網(wǎng)頁傳回用戶端的回應(yīng)

pageJSP網(wǎng)頁本身

exception針對錯誤網(wǎng)頁,未捕捉的例外

pageContext網(wǎng)頁的屬性是在這里管理

session與請求有關(guān)的會話期

applicationservlet正在執(zhí)行的內(nèi)容

out用來傳送回應(yīng)的輸出

configServlet的構(gòu)架部件

二十七、請你談?wù)凷SH整合

答:SSH:

Stnits(表示層)+Spring(業(yè)務(wù)層)+Hibernate(持久層)

Struts:

Struls是一個表示層框架,主要作用是界面展示,接收請求,分發(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:

Spring是一個業(yè)務(wù)層電架,是一個整合的框架,能夠很好地黏合表示層與持久層。

二十八、應(yīng)用服務(wù)器與WebServer的區(qū)別

二十九、JavaServletAPI中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的通信編程,編程題(或問答),用JAVASOCKET

編程,讀服務(wù)器幾個字符,再寫入本地顯示?

答:Server端程序:

packagetest;

importjava.net.*;

importjava.io.*;

pnhlio.classServer

{

privateServerSocketss;

privateSocketsocket;

privateBufferedReaderin;

privatePrintWriterout;

publicServer0

(

try

(

ss=newServerSocket(10000);

while(true)

{

socket=ss.accept();

StringRemoteIP=socket.getlnetAddress().getllostAddressO;

StringRemotePort=:v+socket.getLocalPort();

System,out.printIn(WAclientcomein!IP://+RomotcIP+RcmotcPort);

in=newBufferedReader(new

InputStreamReader(socket,getInputStream()));

Stringline=in.readLineO;

System.out.printlnC^Cleintsendis:"+line);

out=newPrintWriter(socket.getOutputStreamO,true);

out.printlnC^YourMessageReceived!”);

out.closeO;

in.closeO;

socket.closeO;

)

}catch(lOExceptione)

(

out.printin("wrong");

}

}

publicstaticvoidmain(String[]args)

(

newServer();

)

);

Client端程序:

packagetest;

importjava.io.*;

importjava.net.*;

publicclassClient

(

Socketsocket;

BufferodRcadcrin;

PrintWriterout;

publicClient()

(

try

(

System.out.printIn("TrytoConnectto:10000");

socket=newSocket("127.0.0.10000);

System,out.piinllii(wTlieSeiveiCoimecled!,z),

System,out.println(wPleascentersomeCharacter/);

BufferedReaderline=newBufferedRecider(new

InputStreamReader(System,in));

out=newPrintWriter(socket.getOutputStreamO,true);

out.printin(1ine.readLine());

in=newBufferedRcadcr(newInputStreamReader(socket.gctlnputStrcamO));

System.out.println(in.readLineO);

out.closeO;

in.closeO;

socket.closeO;

}catch(lOExceptione)

(

out.printIn("Wrong");

}

)

publicstaticvoidmain(Slringf]args)

newClient();

}

);

九、請問軟件開發(fā)中的設(shè)計模式你會使用哪些?

答:我熟悉的設(shè)計模式有單例模式,DAO模式,模板方法,工廠模式,委托代理模式,MVC

模式等。

Singleton模式主要作用是保證在Java應(yīng)用程序中,一個類Class只有一個實例存在。

Singleton模式一般形式:

定義一個類,它的構(gòu)造函數(shù)為private的,它有一個static的private的該類變量,在類

初始化時實例話,通過一個public的gctlnstancc方法獲取對它的引用,繼而調(diào)用其中的方法。

十、類的核心特性有哪些?

類具有封裝性、繼承性和多態(tài)性。

封裝性:

類的封裝性為類的成員提供公有、缺省、保護和私有等多級訪問權(quán)限,目的是隱藏類中

的私有變量和類中方法的實現(xiàn)細(xì)節(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來敘述購物車(shoppingcart)系統(tǒng)實現(xiàn)

十四、文件系統(tǒng)的幾個類:FilelnputStream、FileOutputStream%FileRcader、FileWriler的區(qū)別

十五、請寫出JavaAPI中最常用的五個包,并旦各舉兩個類加以說明。

十六、請問你在''電信運營支撐系統(tǒng)”中遇到了哪些問題?你是怎么解決的?做這個項目你

最人的收獲是什么?

十七、請說出幾個常用的異常類

答:NullpointException(空指針異常)

ClassNotFoundException(類找不到異常)

ClassCastExc叩lion(類型轉(zhuǎn)換異常)

IllegalArgumentException(非法參數(shù)異常)

ArithmcticExccption(算術(shù)異常)

NumberFormalException(數(shù)據(jù)格式異常)

IndexOutOfBoundsException(數(shù)組下標(biāo)越界異常)

IllegalStateException(非法語句異常)

十八、什么是進(jìn)程和線程?兩者的區(qū)別是什么?

十九、請簡要描述一下你做的ShoppingCart項目。

二十、請問網(wǎng)絡(luò)7層協(xié)議,tcp/ip4層協(xié)議是什么?

二H^一、Java面向?qū)ο蟮乃拇筇攸c

二十二、public,privale,protected,default訪問權(quán)限(可見性)

答:

public:全局可見

protected:繼承體系結(jié)構(gòu)之間可見

default(或不寫):同包可見

private:本類可見。

二十三、名詞解釋

CRM

[CustomerRelationshipManagement,客戶關(guān)系管理]

ERP

[EnterpriseResourcePlanning,企業(yè)資源規(guī)劃]

OSS

|OperationSupportSystem,運營支撐系統(tǒng)]

BSS

[BusinessSupportSystem,數(shù)據(jù)定義語言]

BOSS

[BusinessOperationSupportSystem,數(shù)據(jù)定義語言]

OA

[OfficeAutomatization,辦公自動化]

HTTP

OOP

SOA

GUI

DDL

[DataDefinitionLanguage,數(shù)據(jù)定義語言]

DML

[DataManipulationLanguage,數(shù)據(jù)操作語言]

WYSIWYG

所見即所得[WhatYouSeeisWhatYouGet)

CMP

CMT

B2B

C2C

B2C

IDE

DOM

Client/Server

CMM

ORM

MIS

MVC

MVC是Model-View-Controller的簡寫?!盡ode「代表的是應(yīng)用的業(yè)務(wù)邏輯(通過

JavaBean,EJB組件實現(xiàn)),“View”是應(yīng)用的表示面(由JSP頁面產(chǎn)生),"Controller”是

提供應(yīng)用的處理過程控制(一般是一個Servlet),通過這種設(shè)計模型把應(yīng)用邏輯,處理過

程和、顯示邏輯分成不同的組件實現(xiàn)。這些組件可以進(jìn)行交互和重用。

OLE

CORBA

CORBA標(biāo)準(zhǔn)是公共對象請求代理結(jié)構(gòu)(CommonObjectRequestBrokerArchitecture),由對

象管理組織(ObjectManagementGroup,縮寫為OMG)標(biāo)準(zhǔn)化。它的組成是接口定義語言

(IDL),語言綁定(binding:也譯為聯(lián)編)和允許應(yīng)用程序間互操作的協(xié)議。其目的為:

用不同的程序設(shè)計語言書寫

在不同的進(jìn)程中運行

為不同的操作系統(tǒng)開發(fā)。

UML

UML,標(biāo)準(zhǔn)建模語言,包含用例圖,靜態(tài)圖(包括類圖、對象圖和包圖),行為圖,交互圖(順序

圖,合作圖),實現(xiàn)圖等。

XML

CMMI

JRE

J2EE

J2EE是Sun公司提出的多層(multidered),分布式(distributed),基于組件(component-base)

的企業(yè)級應(yīng)用模型(enterprieseapplicationmodel).在這樣的一個應(yīng)用系統(tǒng)中,可按照功能劃分

為不同的組件,這些組件乂可在不同計算機上,并且處于相應(yīng)的層次(lier)中。所屬層次包括

客戶層(clietntier)組件,web層和組件,Business層和組件,企業(yè)信息系統(tǒng)(EIS)層。

JDK

AOP

OO

Container

W3C

JMS

Domain

POJO

JVM

JNDI

JTA

SOAP

[SimpleObjectAccessProtocol,簡單對象訪問協(xié)議]

WSDL

JDO

JDO是Java對象持久化的新的規(guī)范,為JavaDataObject的簡稱,也是一個用于存取某種數(shù)

據(jù)倉庫中的對象的標(biāo)準(zhǔn)化API。JDO提供了透明的對象存儲,因此對開發(fā)人員來說,存儲數(shù)

據(jù)對象完全不需要額外的代碼(如JDBCAPI的使用)。這些繁瑣的例行工作己經(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)用可移植性更強。

TDD

DAO

IoC

[InversionofControL控制反轉(zhuǎn)]

RMI

DNS

[InternetDomainNameSystem,因特網(wǎng)域名系統(tǒng)]

URL

URI

二十四、數(shù)據(jù)庫連接池的工作機制

二十五、互聯(lián)網(wǎng)提供哪些服務(wù)?

二十六、請寫出JSP的幾個隱含內(nèi)置對象

答:JSP中隱含內(nèi)置對象

名稱類型注釋和范圍

requestjavax.servlet.http.HltpServletRequestrequest

responsejavax.servlet,http.HttpServletResponseresponse

pagejavax.lang.Objectpage

Exceptionjava.Iang.Throwablepage

pageContextjavax.ser\4et.jsp.PageContextpage

sessionjavax.scrvlct.http.HttpScssionsession

applicationjavax.servlel.ServletContextServletConiext

outjavax.servlet.jsp.JspWriterOutputStream

configjavax.scnlctScrvlctConfigScrvlctConfig

JSP共有以卜9種基本內(nèi)置組件(可與ASP的6種內(nèi)部組件相對應(yīng)):

request用戶端請求,此請求會包含來自GET/POST請求的參數(shù)

response網(wǎng)頁傳回用戶端的回應(yīng)

pageJSP網(wǎng)頁本身

exception針對錯誤網(wǎng)頁,未捕捉的例外

pageContext網(wǎng)頁的屬性是在這里管理

session與請求有關(guān)的會話期

applicationservlet正在執(zhí)行的內(nèi)容

out用來傳送回應(yīng)的輸出

configServlet的構(gòu)架部件

二十七、請你談?wù)凷SH整合

答:SSH:

Struts(表示層)+Spring(業(yè)務(wù)層)+Hibernate(持久層)

Suuis:

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.xniLAction)

Hibernate:

Hibernate是一個持久層框架,它只負(fù)責(zé)與關(guān)系數(shù)據(jù)庫的操作。

Spring:

Spring是一個業(yè)務(wù)層電架,是一個整合的框架,能夠很好地黏合表示層與持久層。

二十八、應(yīng)用服務(wù)器與WebServer的區(qū)別

二十九、JavaServletAPI中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的通信編程,編程題(或問答),用JAVASOCKET

編程,讀服務(wù)器幾個字符,再寫入本地顯示?

答:Server端程序:

packagetest;

importjava.net.*;

importjava.10.*;

publicclassServe

溫馨提示

  • 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

提交評論