2024年軟件工程師面試題解析_第1頁
2024年軟件工程師面試題解析_第2頁
2024年軟件工程師面試題解析_第3頁
2024年軟件工程師面試題解析_第4頁
2024年軟件工程師面試題解析_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

一、你對(duì)MVC的理解,MVC有什么優(yōu)缺陷?結(jié)合Struts,闡明在一種Web應(yīng)用怎樣去使

用?

答:

MVC設(shè)計(jì)模式(應(yīng)用觀測(cè)者模式的框架模式)

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

ofpresentation)?

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

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

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

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

模型二(Servlet-centric):

JSP+Servlet+JavaBean,以控制為關(guān)鍵,JSP只負(fù)責(zé)顯示和搜集數(shù)據(jù),Sevlet,連接視圖和模

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

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

StrutsMVC框架(Webapplicationframeworks)

Struts是使用MVC的實(shí)現(xiàn)模式二來實(shí)現(xiàn)的,也就是以控制器為關(guān)鍵。

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

Model:Struts沒有提供model類。這個(gè)商業(yè)邏輯必須由Web應(yīng)用程序歐I開發(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)用程序資源文獻(xiàn)保留了某些文本常量和錯(cuò)誤消息,可轉(zhuǎn)變?yōu)槠渌Z言,可用于JSP中。

Controller:Struts提供了一種關(guān)鍵歐I控制器ActionServlet,通過這個(gè)關(guān)鍵日勺控制器來調(diào)用其

他顧客注冊(cè)了日勺自定義的控制器Action,自定義Action需要符合Struts日勺自定義Action規(guī)

范,還需要在struts?config.xml出J特定配置文獻(xiàn)中進(jìn)行配置,接受JSP輸入字段形成Action

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

二、什么是WebService?

答:

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

臺(tái),可以實(shí)現(xiàn)不一樣的語言間的互相調(diào)用,通過Internet進(jìn)行基于協(xié)議的網(wǎng)絡(luò)應(yīng)用間日勺

交互。

WebService實(shí)現(xiàn)不一樣語言間歐I調(diào)用,是依托于一種原貝!J,webservice是需要遵守WSDL

(web服務(wù)定義語言)/SOAP(簡(jiǎn)樸祈求協(xié)議)規(guī)范的J。

WebService=WSDL+SOAP+UDDI(webservice的注冊(cè))

So叩是由Soap的Jpart和0個(gè)或多種附件構(gòu)成,--般只有part,在part中有Envelope和

Body。

WebService是通過提供原則的協(xié)議和接口,可以讓不一樣的程序集成的一種SOA架構(gòu)。

WebService的J長(zhǎng)處

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

(2)松耦合

(3)基于原則協(xié)議(通用語言,容許其他程序訪問)

WebService的I基本原理

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

(2)ServiceProvider采用UDDI將服務(wù)區(qū)|描述文獻(xiàn)公布到UDDI服務(wù)器(Registerserver)

(3)ServiceRequestor在UDDI服務(wù)器上查詢并獲取WSDL文獻(xiàn)

(4)Servicerequestor將祈求綁定到SOAP,并訪問對(duì)應(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)用軟件提供運(yùn)行與開發(fā)的環(huán)境,協(xié)助顧客靈

活、高效地開發(fā)和集成復(fù)雜的應(yīng)用軟件。

在眾多有關(guān)中間件的定義中,比較普遍被接受的是IDC表述的:中間件是一種獨(dú)立歐1

系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不一樣的技術(shù)之間共享資源,中間件

位于客戶機(jī)服務(wù)器的操作系統(tǒng)之上,管理計(jì)算資源和網(wǎng)絡(luò)通信。

分類:數(shù)據(jù)訪問中間件,遠(yuǎn)程調(diào)用中間件,消息中間件,交易中間件,對(duì)象中間件。

舉例:

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

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

3,TransparentFail-over(透明的I故障切換)

4,Clustering(集群,用多種小的服務(wù)器替代大型機(jī))

5,Back-end-Integration(后端集成,用既有歐I、新開發(fā)日勺系統(tǒng)怎樣去集成遺留的系統(tǒng))

6,Transaction事務(wù)(全局/局部)全局事務(wù)(分布式事務(wù))局部事務(wù)(在同一數(shù)據(jù)庫聯(lián)接

內(nèi)的事務(wù))

7,DynamicRedeployment(動(dòng)態(tài)重新布署,在不停止原系統(tǒng)的狀況下,布署新的系統(tǒng))

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

9,Threading(多線程處理)

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

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

12,Resourcepooling(資源池)

13,Security(安全)

14,Caching(緩存)

四、什么是經(jīng)典的軟件三層構(gòu)造?軟件設(shè)計(jì)為何要分層?軟件分層有什么好處?

答:(1)Presentationlayer(表達(dá)層)

(1)表達(dá)邏輯(生成界面代碼)

(2)接受祈求

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

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

(5)流程控制

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

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

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

(3)Persistencelayer(持久層)

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

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

Domainlayer(域?qū)?

(1)業(yè)務(wù)對(duì)象以及業(yè)務(wù)關(guān)系的表達(dá)

(2)處理簡(jiǎn)樸的業(yè)務(wù)邏輯

(3)域?qū)拥膶?duì)象可以穿越表達(dá)層,業(yè)務(wù)層,持久層

軟件分層構(gòu)造使得代碼維護(hù)非常以便,設(shè)計(jì)明確,各層獨(dú)立,專注自己擅長(zhǎng)的領(lǐng)域。

五、什么是OOP?OOP相對(duì)于面向過程編程有哪些長(zhǎng)處?

OOP,Object-OrientedProgramming.面向?qū)ο缶幊滩灰粯佑诿嫦蜻^程編程:

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

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

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

3)通過依賴、繼承、實(shí)現(xiàn)等形式建立對(duì)象間的通信關(guān)系

(2)OOP易于擴(kuò)展,增長(zhǎng)或變化業(yè)務(wù)的功能,無需大幅改動(dòng)變化源代碼

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

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

六、談?wù)凮verload和Override的區(qū)別。

答:

措施的I重寫Overriding和重載Overloading是Java多態(tài)性的J不一樣體現(xiàn)。重寫Overriding

是父類與子類之間多態(tài)性的一種體現(xiàn),重載Overloading是一種類中多態(tài)性的一種體現(xiàn)。假

如在子類中定義某措施與其父類有相似的名稱和參數(shù),我們說該措施被重寫(Overriding)。

子類的對(duì)象使用這個(gè)措施時(shí),將調(diào)用子類中的定義,對(duì)它而言,父類中的定義如同被“屏蔽”

了。假如在一種類中定義了多種同名的措施,它們或有不一樣的參數(shù)個(gè)數(shù)或有不一樣的參數(shù)

類型,則稱為措施的I重載(Overloading)。Overloaded的|措施是可以變化返回值的I類型。

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

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

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

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

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

Hashtable類似于HashMap,不過不容許null鍵和null值。它也比HashMap慢,

由于它是同步的。

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

答:

1)接口沒有任何的實(shí)現(xiàn),而抽象類它可以有部分的實(shí)現(xiàn)也可以沒有;

2)假如需要復(fù)用或者共享部分代碼,應(yīng)當(dāng)用抽象類而不是接口;

3)繼承無法處理類型的轉(zhuǎn)換問題,接口就是為了處理這一問題而產(chǎn)生的(Java的單繼

承是接口產(chǎn)生的主線原因)接口是一種抽象的第三方規(guī)范,跟對(duì)象沒什么直接關(guān)系。

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

答:我熟悉日勺設(shè)計(jì)模式有單例模式,DAO模式,模板措施,工廠模式,委托代理模式,MVC

模式等。

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

Singleton模式一般形式:

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

初始化時(shí)實(shí)例話,通過一種public的getlnstance措施獲取對(duì)它的引用,繼而調(diào)用其中的措施。

十、類的關(guān)鍵特性有哪些?

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

封裝性:

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

的私有變量和類中措施的實(shí)現(xiàn)細(xì)節(jié)。

繼承性:

類的繼承性提供從已存在的類創(chuàng)立新類的機(jī)制,繼承(inheritance)使一種新類自動(dòng)擁

有被繼承類(父類)區(qū)I所有組員。

多態(tài)性:

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

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

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

對(duì)象

在面向?qū)ο蟾拍钪校瑢?duì)象(Object)是類的實(shí)例(instance),對(duì)象與類的關(guān)系就像變量

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

十二、寫出生產(chǎn)者消費(fèi)者模型的實(shí)現(xiàn)

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

十四、文獻(xiàn)系統(tǒng)的)幾種類:FilelnputStream、FileOutputStream>FileReader、FileWriter的(區(qū)別

十五、請(qǐng)寫出JavaAPI中最常用的五個(gè)包,并且各舉兩個(gè)類加以闡明。

十六、請(qǐng)問你在“電信運(yùn)行支撐系統(tǒng)”中碰到了哪些問題?你是怎么處理的?做這個(gè)項(xiàng)目你

最大的收獲是什么?

十七、請(qǐng)說出幾種常用的異常類

答:NullpointException(空指針異常)

ClassNotFoundException(類找不到異常)

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

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

ArilhmeticException(算術(shù)異常)

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

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

IllegalStateException(非法語句異常)

十八、什么是進(jìn)程和線程??jī)烧呷丈讌^(qū)別是什么?

十九、請(qǐng)簡(jiǎn)要描述一下你做『JShoppingCart項(xiàng)目。

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

二十?、Java面向?qū)ο蟮乃拇筇攸c(diǎn)

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

答:

public:全局可見

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

default(或不寫):同包可見

private:本類可見。

二十三、名詞解釋

CRM

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

ERP

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

OSS

(OperationSupportSystem,運(yùn)行支撐系統(tǒng)]

BSS

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

BOSS

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

OA

lOfficeAutomatization,辦公自動(dòng)化]

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的簡(jiǎn)寫?!盡odel”代表的是應(yīng)用口勺業(yè)務(wù)邏輯(通過

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

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

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

OLE

CORBA

CORBA原則是公共對(duì)象祈求代理構(gòu)造(CommonObjectRequestBrokerArchitecture),由對(duì)

象管理組織(ObjectManagementGroup,縮寫為OMG)原則化。它的I構(gòu)成是接口定義語言

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

用不一樣的程序設(shè)計(jì)語言書寫

在不一樣的進(jìn)程中運(yùn)行

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

UML

UML,原則建模語言,包括用例圖,靜態(tài)圖(包括類圖、對(duì)象圖和包圖),行為圖,交互圖(次序

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

XML

CMMI

JRE

J2EE

J2EE是Sun企業(yè)提出W、J多層(multi-diered),分布式(distributed),基于組件(component?base)

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

為不一樣的組件,這些組件又可在不一樣計(jì)算機(jī)上,并且處在對(duì)應(yīng)的層次(tier)中。所屬層次

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

JDK

AOP

OO

Container

W3C

JMS

Domain

POJO

JVM

JNDI

JTA

SOAP

[SimpleObjectAccessProtocol,簡(jiǎn)樸對(duì)象訪問協(xié)議]

WSDL

JDO

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

據(jù)倉庫中的對(duì)象的原則化API。JDO提供了透明日勺對(duì)象存儲(chǔ),因此對(duì)開發(fā)人員來說,存儲(chǔ)數(shù)

據(jù)對(duì)象完全不需要額外的代碼(如JDBCAPI的使用)。這些繁瑣的例行工作已經(jīng)轉(zhuǎn)移到JDO

產(chǎn)品提供商身上,使開發(fā)人員解脫出來,從而集中時(shí)間和精力在業(yè)務(wù)邏輯上。此外,JDO

很靈活,由于它可以在任何數(shù)據(jù)底層上運(yùn)行。JDBC只是面向關(guān)系數(shù)據(jù)庫(RDBMS)JDO更

通用,提供到任何數(shù)據(jù)底層的存儲(chǔ)功能,例如關(guān)系數(shù)據(jù)庫、文獻(xiàn)、XML以及對(duì)象數(shù)據(jù)庫

(ODBMS)等等,使得應(yīng)用可移植性更強(qiáng)。

TDD

DAO

IoC

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

RMI

DNS

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

URL

URI

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

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

二十六、請(qǐng)寫出JSP的幾種隱含內(nèi)置對(duì)象

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

名稱類型注釋和范圍

requestjavax.servlet..ServletRequestrequest

responsejavax.servlet..ServletResponseresponse

pagejavax.lang.Objectpage

Exceptionjava.lang.Throwablepage

pageContextjavax.servlet.jsp.PageContextpage

sessionjavax.servlet..Sessionsession

applicationjavax.servlet.ServletContextServletContext

outjavax.servlet.jsp.JspWriterOutputStream

configjavax.servlet.ServletConfigServletConfig

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

request顧客端祈求,此祈求會(huì)包括來自GET/POST祈求的參數(shù)

response網(wǎng)頁傳回顧客端的回應(yīng)

pageJSP網(wǎng)頁自身

exception針對(duì)錯(cuò)誤網(wǎng)頁,未捕捉W、J例外

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

session與祈求有關(guān)日勺會(huì)話期

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

out用來傳送回應(yīng)時(shí)輸出

configServlet日勺構(gòu)架部件

二十七、請(qǐng)你談?wù)凷SH整合

答:SSH:

Struts(表達(dá)層)4-Spring(業(yè)務(wù)層)+Hibemate(持久層)

Struts:

Struts是一種表達(dá)層框架,重要作用是界面展示,接受祈求,分發(fā)祈求。

在MVC框架中,Struts屬于VC層次,負(fù)責(zé)界面體現(xiàn),負(fù)責(zé)MVC關(guān)系的分發(fā)。(View:

沿用JSP,,F(xiàn)orm,Tag,Resourse;Controller:ActionServlet,struts-config.xmLAction)

Hibernate:

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

Spring:

Spring是一種業(yè)務(wù)層框架,是一種整合的I框架,可以很好地黏合表達(dá)層與持久層。

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

二十九、JavaServletAPI中forward()與redirect()Wl區(qū)別

答:

前者僅是容器中控制權(quán)的轉(zhuǎn)向,在客戶端瀏覽器地址欄中不會(huì)顯示出轉(zhuǎn)向后的地址;后

者則是完全H勺跳轉(zhuǎn),瀏覽器將會(huì)得到跳轉(zhuǎn)H勺地址,并重新發(fā)送祈求鏈接。這樣,從瀏覽器H勺

地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。因此,前者愈加高效,在前者可以滿足需要時(shí),盡量

使用forward。措施,并且,這樣也有助于隱藏實(shí)際的J鏈接。在有些狀況下,例如,需要跳

轉(zhuǎn)到一種其他服務(wù)器上的資源,則必須使用sendRedirect。措施。

三十、寫一種簡(jiǎn)樸的C/S構(gòu)造程序,Java的通信編程,編程題(或問答),用JAVASOCKET

編程,讀服務(wù)器幾種字符,再寫入當(dāng)?shù)仫@示?

答:Server端程序:

packagetest;

importjava.net.

importjava.io.*;

publicclassServer

I

privateServerSocketss;

privateSocketsocket;

privateBufferedReaderin;

privatePrintWriterout;

publicServer()

try

ss=newServerSocket(10000);

while(true)

I

socket=ss.accept();

StringRemotelP=socket.getlnetAddress().getHostAddress();

StringRemotePort=〃:"+socket.getLocalPort();

System,out.printlnC'Aclientcomein!IP:z/+RemoteIP+RemotePort);

in=newBufferedReader(new

InputStreamReader(socket,getInputStream0));

Stringline=in.readLineO;

System,out.println(z,Cleintsendis:〃+line);

out=newPrintWriter(socket.getOutputStreamO,true);

out.println(z,YourMessageReceived!”);

out.closeO;

in.close();

socket,close();

)

}catch(lOExceptione)

out.printIn("wrong");

)

)

publicstaticvoidmain(String口args)

{

newServer();

)

);

Client端程序:

packagetest;

importjava.io.*;

importjava.net.

publicclassClient

(

Socketsocket;

BufferedReaderin;

PrintWriterout;

publicClient()

try

System.out.println(/zTrytoConnectto127.0.0.1:10000");

socket=newSocket(,z127.0.0.10000);

System,out.println(z,TheServerConnected!");

System.out.println(,,PleaseentersomeCharacter:;

BufferedReaderline=newBufferedReader(new

InputStreamReader(System,in));

out=newPrintWriter(socket.getOutputStreamO,true);

out.println(line.readLineO);

in=newBufferedReader(newInputStreamReader(socket.getlnputStreamO));

System,out.println(in.readLineO);

out.close();

in.close();

socket,close();

}catch(lOExceptione)

{

out.printin("Wrong");

)

)

publicstaticvoidmain(String[]args)

newClient();

)

);

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

答:我熟悉日勺設(shè)計(jì)模式有單例模式,DAO模式,模板措施,工廠模式,委托代理模式,MVC

模式等。

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

Singleton模式一般形式:

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

初始化時(shí)實(shí)例話,通過一種public的getlnstance措施獲取對(duì)它的引用,繼而調(diào)用其中的措施。

十、類的關(guān)鍵特性有哪些?

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

封裝性:

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

的私有變量和類中措施的實(shí)現(xiàn)細(xì)節(jié)。

繼承性:

類的繼承性提供從已存在日勺類創(chuàng)立新類的機(jī)制,繼承(inheritance)使一種新類自動(dòng)擁

有被繼承類(父類)的所有組員。

多態(tài)性:

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

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

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

對(duì)象

在面向?qū)ο蟾拍钪?,?duì)象(Object)是類的實(shí)例(instance)。對(duì)象與類隹)關(guān)系就像變量

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

十二、寫出生產(chǎn)者消費(fèi)者模型的實(shí)現(xiàn)

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

十四、文獻(xiàn)系統(tǒng)的幾種類:FilelnputStream、FileOutputStream、FileReader、FileWriter時(shí)區(qū)另U

十五、請(qǐng)寫出JavaAPI中最常用時(shí)五個(gè)包,并且各舉兩個(gè)類加以闡明。

十六、請(qǐng)問你在“電信運(yùn)行支撐系統(tǒng)”中碰到了哪些問題?你是怎么處理日勺?做這個(gè)項(xiàng)目你

最大的收獲是什么?

十七、請(qǐng)說出幾種常用的異常類

答:NullpointException(空指針異常)

ClassNotFoundException(類找不到異常)

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

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

ArithmeticException(算術(shù)異常)

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

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

IllegalStateException(非法語句異常)

十八、什么是進(jìn)程和線程??jī)烧呷丈讌^(qū)別是什么?

十九、請(qǐng)簡(jiǎn)要描述~下你做的IShoppingCart項(xiàng)目。

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

二1一一、Java面向?qū)ο蟮乃拇筇攸c(diǎn)

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

答:

public:全局可見

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

default(或不寫):同包可見

private:本類可見。

二十三、名詞解釋

CRM

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

ERP

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

OSS

(OperationSupportSystem,運(yùn)行支撐系統(tǒng)]

BSS

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

BOSS

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

OA

|OfficeAutomatization,辦公自動(dòng)化]

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—CongHer的簡(jiǎn)寫。"Model”代表的是應(yīng)用的業(yè)務(wù)邏輯(通過

JavaBean,EJB組件實(shí)現(xiàn)),“View”是應(yīng)用口勺表達(dá)面(由JSP頁面產(chǎn)生),“Controller”是

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

程和顯示邏輯提成不一樣的組件實(shí)現(xiàn)。這些組件可以進(jìn)行交互和重用。

OLE

CORBA

CORBA原則是公共對(duì)象祈求代理構(gòu)造(CommonObjectRequestBrokerArchitecture),由對(duì)

象管理組織(ObjectManagementGroup,縮寫為OMG)原則化。它的構(gòu)成是接口定義語言

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

用不一樣的程序設(shè)計(jì)語言書寫

在不一樣的進(jìn)程中運(yùn)行

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

UML

UML,原則建模語言,包括用例圖,靜態(tài)圖(包括類圖、對(duì)象圖和包圖),行為圖,交互圖(次序

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

XML

CMMI

JRE

J2EE

J2EE是Sun企業(yè)提的多層(multi-diered),分布式(distributed),基于組件(component-base)

口勺企業(yè)級(jí)應(yīng)用模型(enterpriese叩plicalionmodel).在這樣的I一種應(yīng)用系統(tǒng)中,可按照功能劃分

為不?樣的組件,這些組件又可在不?樣計(jì)算機(jī)上,并且處在對(duì)應(yīng)的層次(tier)中。所屬層次

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

JDK

AOP

00

Container

W3C

JMS

Domain

POJO

JVM

JNDI

JTA

SOAP

[SimpleObjectAccessProtocol,筒樸對(duì)象訪問協(xié)議]

WSDL

JDO

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

據(jù)倉庫中的對(duì)象的原則化API。JDO提供了透明的對(duì)象存儲(chǔ),因此對(duì)開發(fā)人員來說,存儲(chǔ)數(shù)

據(jù)對(duì)象完全不需要額外的代碼(如JDBCAPI的使用)。這些繁瑣的例行工作已經(jīng)轉(zhuǎn)移到JDO

產(chǎn)品提供商身上,使開發(fā)人員解脫出來,從而集中時(shí)間和精力在業(yè)務(wù)邏輯上。此外,JDO

很靈活,由于它可以在任何數(shù)據(jù)底層上運(yùn)行。JDBC只是面向關(guān)系數(shù)據(jù)庫(RDBMS)JDO更

通用,提供到任何數(shù)據(jù)底層的存儲(chǔ)功能,例如關(guān)系數(shù)據(jù)庫、文獻(xiàn)、XML以及對(duì)象數(shù)據(jù)庫

(ODBMS)等等,使得應(yīng)用可移植性更強(qiáng)。

TDD

DAO

IoC

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

RMI

DNS

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

URL

URI

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

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

二十六、請(qǐng)寫出JSP的幾種隱含內(nèi)置對(duì)象

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

名稱類型注釋和范圍

requestjavax.servlet.ServletRequestrequest

responsejavax.servlet..ServletResponseresponse

pagejavax.lang.Objectpage

Exceptionjava.lang.Throwablepage

pageContextjavax.servlet.jsp.PageContextpage

sessionjavax.servlet..Sessionsession

applicationjavax.servIet.ServletContextServletContext

outjavax.servlet.jsp.JspWriterOutputStream

configjavax.servlet.ServletConfigServletConfig

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

request顧客端祈求,此祈求會(huì)包括來自GET/POST祈求的參數(shù)

response網(wǎng)頁傳回顧客端股I回應(yīng)

pageJSP網(wǎng)頁自身

exception針對(duì)錯(cuò)誤網(wǎng)頁,未捕捉H勺例外

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

session與祈求有關(guān)的會(huì)話期

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

out用來傳送回應(yīng)時(shí)輸出

configServletH勺構(gòu)架部件

二十七、請(qǐng)你談?wù)凷SH整合

答:SSH:

Struts(表達(dá)層)+Spring(業(yè)務(wù)層)+Hibemate(持久層)

Struts:

Struts是一種表達(dá)層框架,重要作用是界面展示,接受祈求,分發(fā)祈求。

在MVC框架中,Struts屬于VC層次,負(fù)責(zé)界面體現(xiàn),負(fù)責(zé)MVC關(guān)系的分發(fā)。(View:

沿用JSP,,Form,Tag,Resourse;Controller:ActionServlet,struts-config.xml,Action)

Hibernate:

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

Spring:

Spring是一種'業(yè)務(wù)層框架,是一種整合的框架,可以很好地黏合表達(dá)層與持久層。

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

二十九、JavaServletAPI中forward()與redirect。區(qū)J區(qū)別

答:

前者僅是容器中控制權(quán)的J轉(zhuǎn)向,在客戶端瀏覽器地址欄中不會(huì)顯示出轉(zhuǎn)向后的地址;后

者則是完全日勺跳轉(zhuǎn),瀏覽器將會(huì)得到跳轉(zhuǎn)日勺地址,并重新發(fā)送祈求鏈接。這樣,從瀏覽器日勺

地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。因此,前者愈加高效,在前者可以滿足需要時(shí),盡量

使用forward。措施,并且,這樣也有助于隱藏實(shí)際的鏈接。在有些狀況下,例

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論