我在下面列举了一些面试问题的示例,这些示例根据候选人的经验检查候选人的知识。 提出问题以验证候选人是否有能力履行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