范文為教學中作為模范的文章,也常常用來指寫作的模板。常常用于文秘寫作的參考,也可以作為演講材料編寫前的參考。相信許多人會覺得范文很難寫?下面是小編幫大家整理的優質范文,僅供參考,大家一起來看看吧。
j2ee高級工程師常見面試題及答案 j2ee高級開發工程師篇一
j2ee核心是一組技術規范與指南,其中所包含的各類組件、服務架構及技術層次,均有共同的標準及規格。下面是小編整理的關于j2ee高級工程師常見面試題,歡迎大家練習!
(1) 服務器端技術:jsp、servlet。
(2) 組件技術:javabean、ejb。
(1) 由國際標準化組織(iso)提出。
(2) 將互聯網分為七層,從下至上分別為:物理層(physical)、數據鏈路層(data link)、網絡層(network)、傳送層(transport)、會話層(session)、表示層(presentation)、應用層(application)。底層通過提供接口支持上層功能。
(3) 各層詳解:
a) 物理層:lan/atm,為硬件層。
b) 數據鏈路層:lan/atm
c) 網絡層:ip協議,ios
d) 傳輸層:tcp/udp協議,支持java socket。
e) 會話層
f) 表示層:html、xml
g) 應用層:http協議,使用java servlet/jsp
<第八層(web服務層):soap/uddi>
容器負責ejb組件中聲明周期的控制;
服務器包含在容器外,提供系統級操作底層服務,包括事務、事件、多線程。
父類對象不可以賦給子類對象,因為子類可能具有更多的成員,反之可以。
c = ( a > b ) ? a : b ;等同于
if ( a > b ) c=a; else c = b;
(1) list、set、map。由這三個接口實現出arraylist、linkedlist、hashset、treeset、hashmap、treemap等常用集合框架。
(2) vector屬于重量級組件不推薦使用。
(3) map類型維護鍵/值對,hashtable與hashmap相近但效率略低于hashmap、高于treemap、treemap優點是可以排序。
(4) set類型可以裝入唯一值,hashset效率高于treeset但treeset可以維護內部元素的排序狀態。
(5) list類型可按某種特定順序維護元素。arraylist允許快速隨機訪問,但如果添加或刪除位于中間的元素時效率很低;linkedlist提供最佳循環訪問及快速的中間位置添加刪除元素,并有addfirst、addlast、getfirst、getlast、removefirst、removelast方法。
(1) 繼承:通過子類可以實現繼承,子類繼承父類的所有狀態和行為,同時添加自身的狀態和行為。
(2) 封裝:將代碼及處理數據綁定在一起的一種編程機制,該機制保證程序和數據不受外部干擾。
(3) 多臺:包括重載和重寫。重載為編譯時多態,重寫是運行時多態。重載必須是同類中名稱相同參數不同(包括個數不同和類型不同),但返回類型不同不構成重載;重寫發生于子類對父類的覆蓋,子類繼承父類方法名相同、參數列表相同、返回類型相同才構成重寫。
(1) 必須以應為字母、下劃線或$開始,其余可以有數據但不允許包含空格,且組合后的名稱不能是java關鍵字或保留字。
(2) 匈牙利命名法:以m開始為類成員變量,以g開始為全局變量,以v開始為本的局部變量,常量命名一般不以下劃線、美元符開始。
(3) 駝峰命名:一般稱由多個單詞或縮寫組成的變量名,并且該變量名每個單詞首字母均為大寫(一般類名全部首字母大寫,方法或屬性名第一個字母小寫)的稱為駝峰命名。
一個設計模式描述了一個被證實可行的方案。這些方案非常普遍,是具有完整定義的最常用的模式。一般模式有4個基本要素:模式名稱(pattern name)、問題(problem)、解決方案(solution)、效果(consequences)
常見23種模式概述:
(1) 抽象工廠模式(abstract factory):提供一個創建一系列相關或相互依賴對象的接口,而無需指定它們具體的類。
(2) 適配器模式(adapter):將一個類的接口轉換成客戶希望的另外一個接口。適配器模式使得原本由于接口不兼容而不能一起工作的類可以一起工作。
(3) 橋梁模式(bridge):將抽象部分與他的實現部分分離,使他們都可以獨立的變化。
(4) 建造模式(builder):將一個復雜對象的構建與他的標表示分離,使同樣的構建過程可以創建不同的`表示。
(5) 責任鏈模式(chain of responsibility):為解除請求的發送者和接收者之間耦合,而使多個對象都有幾乎處理這個請求。將這些對象連成一條鏈,并沿著這條鏈傳遞給請求,知道有一個對象處理他。
(6) 命令模式(command):將一個請求封裝為一個對象,從而可用不同的請求對客戶進行參數化;對請求排列或記錄請求日志,以及支持可取消的操作。
(7) 合成模式(composite):將對象組合成樹形結構以表示“部分-整體”的層次結構。它使得客戶對單個對象和復合對象的使用具有一致性。
(8) 裝飾模式(decorator):動態地給一個對象添加一些額外的職責。就擴展功能而言,他能生成子類的方式更為靈活。
(9) 門面模式(facade):為子系統中的一組接口提供一個一致的界面,門面模式定義了一個高層接口,這個接口使得這一子系統更加容器使用。
(10) 工廠方法(factory mehtod):定義一個用于創建對象的接口,讓子類決定將哪一個類實例化。factory method使一個類的實例化延遲到其子類。
(11) 享元模式(flyweight):運用共享技術以有效地支持大量細粒度的對象。
(12) 解釋器模式(interpreter):給定一個語言,定義他的語法的一種表示,并定義一個解釋器,該解釋器使用該表示解釋語言中的句子。
(13) 迭代子模式(iterator):提供一種方法順序訪問一個聚合對象中的各個元素,而又不需暴露該對象的內部表示。
(14) 調停者模式(mediator):用一個中介對象來封裝一系列的對象交互。中介者使各對象不需要顯式的內部表示。
(15) 備忘錄模式(memento):在不破壞封裝性的前提下,捕獲一個對象的內部狀態,并在該對象之外保存這個狀態。這樣以后就可將該對象恢復到保存的狀態。
(16) 觀察者模式(observer):定義對象間的一種一對多的依賴關系,以便當一個對象的狀態發生改變時,所有依賴于他的對象都得到通知并自動刷新。
(17) 原始模型模式(prototype):用原型實例指定創建對象的種類,并且通過拷貝這個原型創建新的對象。
(18) 代理模式(proxy):為其他對象提供一個代理以控制對這個對象的訪問。
(19) 單例模式(singleton):保證一個類僅有一個實例,并提供一個訪問他的全局訪問點。
(20) 狀態模式(state):允許一個對象在其內部狀態改變時改變他的行為。對象看起來似乎修改了他所屬的類。
(21) 策略模式(strategy):定義一系列的算法,把他們一個個封裝起來,并且使他們可相互替換。本模式使得算法的變化可獨立使用他的客戶。
(22) 模板模式(template mehtod):定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。
(23) 訪問者模式(visitor):表示一個作用于某對象結構中的各元素的做。該模式可以實現在不改變各元素的類的前提下定義作用于這些元素的新操作。
(1) 可行性研究報告
(2) 項目開發計劃
(3) 軟件需求說明書(必有)
(4) 數據要求說明書
(5) 概要設計說明書(必有)
(6) 詳細設計說明書(必有)
(7) 數據庫設計說明書(必有)
(8) 用戶手冊(一般會有)
(9) 操作手冊(必有)
(10) 模塊開發卷宗
(11) 測試計劃(必有)
(12) 測試分析報告
(13) 開發進度月報
(14) 項目開發總結報告
(1) 當一個類是“一種”另一個類時:is-a關系
(2) 當兩個類之間有關聯時:
一個類“包含”另一個類:has-a關系
一個類“使用”另一個類
s("content_relate");