我在下面列舉了一些面試問題的示例,這些示例根據候選人的經驗檢查候選人的知識。 提出問題以驗證候選人是否有能力履行Java企業應用程序開發人員的職責。 如果有人要討論這些問題,我也會請教官。
1.與J2EE規范相比,您能否舉例說明Java EE5 / 6規范的改進之處?
新規范更傾向于約定俗成的配置,并引入了注釋來代替XML進行配置。 繼承不再用于定義組件。 相反,它們被定義為POJO。 為了使這些POJO具有企業功能,采用了依賴注入,從而簡化了EJB的使用。 持久層已完全被Java Persistence API(JPA)取代。
2.考慮到在不同平臺上開發的兩個企業系統,您建議在它們之間交換數據的哪些好選擇?
視情況而定,如今我們可以將Web服務和消息隊列的使用視為潛在的選擇。 例如:當一個系統需要將數據(一旦可用)發送到另一個系統或使數據可用于多個系統時,則建議使用消息隊列系統。 當一個系統中有要由另一個系統處理的數據并且需要同步返回該處理結果時,則Web服務是最明顯的選擇。
3.您對在Java EE中實現異步代碼有何建議?
有幾種選擇:一種可以將消息發布到隊列中,以供消息驅動Bean(MDB)使用;另一種可以將消息發布到隊列中。 或使用@Timer注釋方法以定義以編程方式執行代碼的時間; 或使用@Scheduler注釋方法以定義聲明式執行代碼的時間。
4.您能否說明無狀態會話Bean,有狀態會話Bean和Singleton會話Bean的用法?
當不需要保留多個業務事務之間的對象狀態時,可以使用無狀態會話Bean。 每個事務都有自己的實例,可以從對象池中檢索組件的實例。 在大多數情況下,建議在事務中執行多個操作以保持數據庫一致性。
有狀態會話Bean在需要保留業務交易之間的對象狀態時使用。 組件的每個實例都有自己的對象。 這些對象由不同的事務修改,并且在達到預定的不活動時間后將被丟棄。 它們可用于高速緩存那些數據,例如參考數據和用于分頁的長記錄集,以減少對數據庫的IO操作量。
每個應用程序實例化一個單例會話bean,并且在應用程序的生命周期中存在。 Singleton會話Bean是為在客戶端之間共享單個企業Bean實例并由其并發訪問而設計的。 它們在客戶端調用之間保持其狀態,這需要仔細實施,以避免在同時訪問時發生沖突。 例如,可以使用此類組件在啟動時初始化應用程序,并在整個應用程序中共享特定對象。
5.在消息排隊系統中,隊列和主題之間有什么區別?
在隊列中,只有一個消息生成者,而這些消息只有一個使用者(1-1)。 在一個主題中,有一個消息發布者和幾個訂閱者將接收這些消息(1-N)。
6.您考慮采用哪些策略導入和導出XML內容?
如果XML文檔是在模式中正式定義的,則可以使用JAXB根據模式將對象序列化和反序列化為XML。 如果XML文檔沒有架構,則有兩種情況:1)應該考慮整個XML內容:在這種情況下,建議使用SAX串行訪問整個文檔,或者使用DOM進行隨機訪問; 2)當僅考慮XML內容的一部分時,可以使用XPath或StAX,以防在文檔中找到每個所需部分后立即執行操作。
7.您能否列出關系模型和對象模型之間的一些區別?
可以將對象模型映射到關系模型,但是應考慮一些差異。 在關系模型中,外鍵與目標的主鍵具有相同的類型,但是在對象模型和屬性中,外鍵指向整個相關對象。 在對象模型中,可能具有NN關系,而在關系模型中,則需要中介實體。 關系模型中不支持繼承,接口和多態性。
8. XML Schema,XSLT,WSDL和SOAP有什么區別?
XML模式描述XML文檔的結構,并用于驗證這些文檔。 WSDL(Web服務定義語言)描述了基于SOAP的Web服務的接口。 它可以引用XML模式來定義通過參數傳遞或返回給調用方的現有復雜類型。 SOAP(簡單對象訪問協議)是用于在Web服務調用中交換數據的消息格式。 XSLT(可擴展樣式表語言轉換)用于將XML文檔轉換為其他文檔格式。
9.您將如何配置環境以最大化開發團隊的生產力?
每個開發人員都應該有一個能夠在其本地工作站中執行整個應用程序的個人環境。 應該使用版本控制系統在開發人員之間同步項目。 集成例程必須定期執行,以驗證系統所有組件之間的兼容性和通信。 單元測試和集成測試必須經常執行。
-
您可以增加這套涵蓋其他主題的問題,例如單元測試,依賴性注入,版本控制等。 試著以沒有得到一個答案的方式來表述問題,而是從候選人那里得到簡短的分析。 人們可以在Internet上輕松找到答案,但是只有積累的經驗才能提供良好的分析。
參考:從我們的JCG合作伙伴處 雇用Java EE開發人員的一些面試問題 ? Hildeberto 博客上的 Hildeberto Mendonca。
翻譯自: https://www.javacodegeeks.com/2012/02/some-interview-questions-to-hire-java.html