- 相關(guān)推薦
J2EE高級工程師常見面試題
J2EE核心是一組技術(shù)規(guī)范與指南,其中所包含的各類組件、服務(wù)架構(gòu)及技術(shù)層次,均有共同的標準及規(guī)格。下面是小編整理的關(guān)于J2EE高級工程師常見面試題,歡迎大家練習(xí)!
1、 分類列舉服務(wù)器和組件技術(shù):
(1) 服務(wù)器端技術(shù):JSP、Servlet。
(2) 組件技術(shù):JavaBean、EJB。
2、 Http和Https:Https即多了安全的Http,s(Security Socket Layer)指加密套接字協(xié)議(簡寫SSL)。
3、 OSI(Open System Interconnection)網(wǎng)絡(luò)抽象模型:
(1) 由國際標準化組織(ISO)提出。
(2) 將互聯(lián)網(wǎng)分為七層,從下至上分別為:物理層(physical)、數(shù)據(jù)鏈路層(data link)、網(wǎng)絡(luò)層(network)、傳送層(transport)、會話層(session)、表示層(presentation)、應(yīng)用層(application)。底層通過提供接口支持上層功能。
(3) 各層詳解:
a) 物理層:LAN/ATM,為硬件層。
b) 數(shù)據(jù)鏈路層:LAN/ATM
c) 網(wǎng)絡(luò)層:IP協(xié)議,IOS
d) 傳輸層:TCP/UDP協(xié)議,支持Java Socket。
e) 會話層
f) 表示層:HTML、XML
g) 應(yīng)用層:HTTP協(xié)議,使用Java Servlet/JSP
<第八層(Web服務(wù)層):SOAP/UDDI>
4、 J2EE的容器與服務(wù)器:
容器負責(zé)EJB組件中聲明周期的控制;
服務(wù)器包含在容器外,提供系統(tǒng)級操作底層服務(wù),包括事務(wù)、事件、多線程。
5、 繼承限制:
父類對象不可以賦給子類對象,因為子類可能具有更多的成員,反之可以。
6、 邏輯操作:
C = ( a > b ) ? a : b ;等同于
If ( a > b ) c=a; else c = b;
7、 列舉常見集合框架類型
(1) List、Set、Map。由這三個接口實現(xiàn)出ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等常用集合框架。
(2) Vector屬于重量級組件不推薦使用。
(3) Map類型維護鍵/值對,Hashtable與HashMap相近但效率略低于HashMap、高于TreeMap、TreeMap優(yōu)點是可以排序。
(4) Set類型可以裝入唯一值,HashSet效率高于TreeSet但TreeSet可以維護內(nèi)部元素的排序狀態(tài)。
(5) List類型可按某種特定順序維護元素。ArrayList允許快速隨機訪問,但如果添加或刪除位于中間的元素時效率很低;LinkedList提供最佳循環(huán)訪問及快速的中間位置添加刪除元素,并有addFirst、addLast、getFirst、getLast、removeFirst、removeLast方法。
8、 面向?qū)ο蟮奶卣鳎?/strong>
(1) 繼承:通過子類可以實現(xiàn)繼承,子類繼承父類的所有狀態(tài)和行為,同時添加自身的狀態(tài)和行為。
(2) 封裝:將代碼及處理數(shù)據(jù)綁定在一起的一種編程機制,該機制保證程序和數(shù)據(jù)不受外部干擾。
(3) 多臺:包括重載和重寫。重載為編譯時多態(tài),重寫是運行時多態(tài)。重載必須是同類中名稱相同參數(shù)不同(包括個數(shù)不同和類型不同),但返回類型不同不構(gòu)成重載;重寫發(fā)生于子類對父類的覆蓋,子類繼承父類方法名相同、參數(shù)列表相同、返回類型相同才構(gòu)成重寫。
9、 Java命名規(guī)范:
(1) 必須以應(yīng)為字母、下劃線或$開始,其余可以有數(shù)據(jù)但不允許包含空格,且組合后的名稱不能是Java關(guān)鍵字或保留字。
(2) 匈牙利命名法:以m開始為類成員變量,以g開始為全局變量,以v開始為本的局部變量,常量命名一般不以下劃線、美元符開始。
(3) 駝峰命名:一般稱由多個單詞或縮寫組成的變量名,并且該變量名每個單詞首字母均為大寫(一般類名全部首字母大寫,方法或?qū)傩悦谝粋字母小寫)的稱為駝峰命名。
10、 Java語言共包含47個關(guān)鍵字。
11、 設(shè)計模式:
一個設(shè)計模式描述了一個被證實可行的方案。這些方案非常普遍,是具有完整定義的最常用的模式。一般模式有4個基本要素:模式名稱(pattern name)、問題(problem)、解決方案(solution)、效果(consequences)
常見23種模式概述:
(1) 抽象工廠模式(Abstract Factory):提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無需指定它們具體的類。
(2) 適配器模式(Adapter):將一個類的接口轉(zhuǎn)換成客戶希望的另外一個接口。適配器模式使得原本由于接口不兼容而不能一起工作的類可以一起工作。
(3) 橋梁模式(Bridge):將抽象部分與他的實現(xiàn)部分分離,使他們都可以獨立的變化。
(4) 建造模式(Builder):將一個復(fù)雜對象的構(gòu)建與他的標表示分離,使同樣的構(gòu)建過程可以創(chuàng)建不同的表示。
(5) 責(zé)任鏈模式(Chain of Responsibility):為解除請求的發(fā)送者和接收者之間耦合,而使多個對象都有幾乎處理這個請求。將這些對象連成一條鏈,并沿著這條鏈傳遞給請求,知道有一個對象處理他。
(6) 命令模式(Command):將一個請求封裝為一個對象,從而可用不同的請求對客戶進行參數(shù)化;對請求排列或記錄請求日志,以及支持可取消的操作。
(7) 合成模式(Composite):將對象組合成樹形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu)。它使得客戶對單個對象和復(fù)合對象的使用具有一致性。
(8) 裝飾模式(Decorator):動態(tài)地給一個對象添加一些額外的職責(zé)。就擴展功能而言,他能生成子類的方式更為靈活。
(9) 門面模式(Facade):為子系統(tǒng)中的一組接口提供一個一致的界面,門面模式定義了一個高層接口,這個接口使得這一子系統(tǒng)更加容器使用。
(10) 工廠方法(Factory Mehtod):定義一個用于創(chuàng)建對象的接口,讓子類決定將哪一個類實例化。Factory Method使一個類的實例化延遲到其子類。
(11) 享元模式(Flyweight):運用共享技術(shù)以有效地支持大量細粒度的對象。
(12) 解釋器模式(Interpreter):給定一個語言,定義他的語法的一種表示,并定義一個解釋器,該解釋器使用該表示解釋語言中的句子。
(13) 迭代子模式(Iterator):提供一種方法順序訪問一個聚合對象中的各個元素,而又不需暴露該對象的內(nèi)部表示。
(14) 調(diào)停者模式(Mediator):用一個中介對象來封裝一系列的對象交互。中介者使各對象不需要顯式的內(nèi)部表示。
(15) 備忘錄模式(Memento):在不破壞封裝性的前提下,捕獲一個對象的內(nèi)部狀態(tài),并在該對象之外保存這個狀態(tài)。這樣以后就可將該對象恢復(fù)到保存的狀態(tài)。
(16) 觀察者模式(Observer):定義對象間的一種一對多的依賴關(guān)系,以便當(dāng)一個對象的狀態(tài)發(fā)生改變時,所有依賴于他的對象都得到通知并自動刷新。
(17) 原始模型模式(Prototype):用原型實例指定創(chuàng)建對象的種類,并且通過拷貝這個原型創(chuàng)建新的對象。
(18) 代理模式(Proxy):為其他對象提供一個代理以控制對這個對象的訪問。
(19) 單例模式(Singleton):保證一個類僅有一個實例,并提供一個訪問他的全局訪問點。
(20) 狀態(tài)模式(State):允許一個對象在其內(nèi)部狀態(tài)改變時改變他的行為。對象看起來似乎修改了他所屬的類。
(21) 策略模式(Strategy):定義一系列的算法,把他們一個個封裝起來,并且使他們可相互替換。本模式使得算法的變化可獨立使用他的客戶。
(22) 模板模式(Template Mehtod):定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟。
(23) 訪問者模式(Visitor):表示一個作用于某對象結(jié)構(gòu)中的各元素的做。該模式可以實現(xiàn)在不改變各元素的類的前提下定義作用于這些元素的新操作。
12、 簡述常用的軟件開發(fā)文檔
(1) 可行性研究報告
(2) 項目開發(fā)計劃
(3) 軟件需求說明書(必有)
(4) 數(shù)據(jù)要求說明書
(5) 概要設(shè)計說明書(必有)
(6) 詳細設(shè)計說明書(必有)
(7) 數(shù)據(jù)庫設(shè)計說明書(必有)
(8) 用戶手冊(一般會有)
(9) 操作手冊(必有)
(10) 模塊開發(fā)卷宗
(11) 測試計劃(必有)
(12) 測試分析報告
(13) 開發(fā)進度月報
(14) 項目開發(fā)總結(jié)報告
13、 簡述類的關(guān)系
(1) 當(dāng)一個類是“一種”另一個類時:is-a關(guān)系
(2) 當(dāng)兩個類之間有關(guān)聯(lián)時:
一個類“包含”另一個類:has-a關(guān)系
一個類“使用”另一個類
【J2EE高級工程師常見面試題】相關(guān)文章:
J2EE高級工程師面試題06-20
J2EE經(jīng)典面試題及答案08-08
J2EE面試題及答案「精選」09-20
2016年J2EE面試題及答案「精選」06-04
J2EE框架面試題庫11-03
關(guān)于J2EE MVC方面的面試題及答案07-08
Java高級工程師面試題及答案09-20
2017年Sql常見面試題10-24
2017年java常見面試題及答案09-27