1、,例如EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。
EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现。
SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作访问数据库、调用其他
EJB组件。EntityBean被用来代表应用系统中用到的数据。
对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。
对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,
或是一个由现有企业应用程序实现的实体。
Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的
Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以
记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的 Stateful Session Bean 的实体。
Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者
呼叫 Stateless Session Bean 的时候,EJB Container 并不会找寻特定的 Stateless Session Bean
的实体来执行这个 method。换言之,很可能数个使用者在执行某个 Stateless Session Bean 的
methods 时,会是同一个 Bean 的 Instance 在执行。从内存方面来看, Stateful Session Bean 与
Stateless Session Bean 比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而
Stateful Session Bean 的优势却在于他可以维持使用者的状态。
2、简要讲一下 EJB 的 7 个 Transaction Level?
3、EJB与JAVA BEAN的区别?
Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个
Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参
的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上
相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于
DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、
跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的
EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容
器来访问真正的EJB组件。
4、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
SessionBean:Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要
建立一个Bean的实例时,EJB容器不一定要创建一个新的Bean的实例供客户机调用,而是随便找一个现有
的实例提供给客户机。当客户机第一次调用一个Stateful Session Bean 时,容器必须立即在服务器中
创建一个新的Bean实例,并关联到客户机上,以后此客户机调用Stateful Session Bean 的方法时容器
会把调用分派到与此客户机相关联的Bean实例。
EntityBean:Entity Beans能存活相对较长的时间,并且状态是持续的。只要数据库中的数据
存在,Entity beans就一直存活。而不是按照应用程序或者服务进程来说的。即使EJB容器崩溃了,
Entity beans也是存活的。Entity Beans生命周期能够被容器或者 Beans自己管理。
EJB通过以下技术管理实务:对象管理组织(OMG)的对象实务服务(OTS),Sun Microsystems
的Transaction Service(JTS)、Java Transaction API(JTA),开发组(X/Open)的XA接口。
5、EJB容器提供的服务
主要提供声明周期管理、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务。
6、EJB的激活机制
以Stateful Session Bean 为例:其Cache大小决定了内存中可以同时存在的Bean实例的数量,
根据MRU或NRU算法,实例在激活和去激活状态之间迁移,激活机制是当客户端调用某个EJB实例业务方法
时,如果对应EJB Object发现自己没有绑定对应的Bean实例则从其去激活Bean存储中(通过序列化机制
存储实例)回复(激活)此实例。状态变迁前会调用对应的ejbActive和ejbPassivate方法。
7、EJB的几种类型
会话(Session)Bean ,实体(Entity)Bean 消息驱动的(Message Driven)Bean
会话Bean又可分为有状态(Stateful)和无状态(Stateless)两种
实体Bean可分为Bean管理的持续性(BMP)和容器管理的持续性(CMP)两种
8、客服端调用EJB对象的几个基本步骤
设置JNDI服务工厂以及JNDI服务地址系统属性,查找Home接口,从Home接口调用Create方法创建Remote
接口,通过Remote接口调用其业务方法。
9. webservice部分
WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。
Web ServiceWeb Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体
的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。
JAXP(Java API for XML Parsing) 定义了在Java中使用DOM, SAX, XSLT的通用的接口。这样
在你的程序中你只要使用这些通用的接口,当你需要改变具体的实现时候也不需要修改代码。
JAXM(Java API for XML Messaging) 是为SOAP通信提供访问方法和传输机制的API。
WSDL是一种 XML 格式,用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面
向过程信息的消息进行操作。这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络
协议和消息格式上以定义端点。相关的具体端点即组合成为抽象端点(服务)。
SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的
轻量级协议。
UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service
提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,
以使别的企业能够发现的访问协议的实现标准。
10、CORBA是什么?用途是什么?
CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理
组织 (Object Management Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定
(binding:也译为联编)和允许应用程序间互操作的协议。 其目的为:用不同的程序设计语言书写在
不同的进程中运行,为不同的操作系统开发。
Linux 部分
1、LINUX下线程,GDI类的解释。
LINUX实现的就是基于核心轻量级进程的"一对一"线程模型,一个线程实体对应一个核心
轻量级进程,而线程之间的管理在核外函数库中实现。
GDI类为图像设备编程接口类库。
2、. 问得稀里糊涂的题
3、四种会话跟踪技术
会话作用域ServletsJSP 页面描述
page否是代表与一个页面相关的对象和属性。一个页面由一个编译好的 Java servlet 类
(可以带有任何的 include 指令,但是没有 include 动作)表示。这既包括 servlet 又包括被
编译成 servlet 的 JSP 页面
request是是代表与 Web 客户机发出的一个请求相关的对象和属性。一个请求可能跨越
多个页面,涉及多个 Web 组件(由于 forward 指令和 include 动作的关系)
session是是代表与用于某个 Web 客户机的一个用户体验相关的对象和属性。一个 Web
会话可以也经常会跨越多个客户机请求
application是是代表与整个 Web 应用程序相关的对象和属性。这实质上是跨越整个
Web 应用程序,包括多个页面、请求和会话的一个全局作用域
4、简述逻辑操作(&,|,^)与条件操作(&&,||)的区别。
区别主要答两点:a.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,
而且可以操作数值型
b.逻辑操作不会产生短路
5. 其他
<1>、请用英文简单介绍一下自己.
WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。
<2>请把 http://tomcat.apache.org/ 首页的这一段话用中文翻译一下?
Apache Tomcat is the servlet container that is used in the official Reference
Implementation for the Java Servlet and JavaServer Pages technologies. The Java Servlet
and JavaServer Pages specifications are developed by Sun under the Java Community Process.
Apache Tomcat is developed in an open and participatory environment and released under the
Apache Software License. Apache Tomcat is intended to be a collaboration of the best-of-breed
developers from around the world. We invite you to participate in this open development
project. To learn more about getting involved, click here.
Apache Tomcat powers numerous large-scale, mission-critical web applications across a diverse
range of industries and organizations. Some of these users and their stories are listed on the
PoweredBy wiki page.
<3>美资软件公司JAVA工程师电话面试题目
Talk about overriding, overloading.2. Talk about JAVA design patterns you known.3. Talk about
the difference between LinkList, ArrayList and Victor.4. Talk about the difference between an
Abstract class and an Interface.5. Class a = new Class(); Class b = new Class(); if(a == b)
returns true or false, why?6. Why we use StringBuffer when concatenating strings?7. Try to explain
Singleton to us? Is it thread safe? If no, how to make it thread safe?8. Try to explain Ioc?9.
How to set many-to-many relationship in Hibernate?10. Talk about the difference between
INNER JOIN and LFET JOIN.11. Why we use index in database? How many indexes is the maximum in one
table as your suggestion?12. When ‘Final’ is used in class, method and property, what dose it
mean?13. Do you have any experience on XML? Talk about any XML tool you used ,e.g. JAXB, JAXG.14.
Do you have any experience on Linux?15. In OOD what is the reason when you create a Sequence diagram?
<此类面试题在企业面试中显的非常重要,请读者细读!>