很多朋友对于java面试题高级工程师和JAVA高级软件工程师面试题不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

本文目录

  1. 恳请高手给小弟出一份java软件工程师的面试题
  2. JAVA高级软件工程师面试题
  3. java软件工程师!!面试题!!

恳请高手给小弟出一份java软件工程师的面试题

java软件工程师面试题集

EJB方面

1、EJB2.0有哪些内容?分别用在什么场合?EJB2.0和EJB1.1的区别?

答:规范内容包括Bean提供者,应用程序装配者,EJB容器,EJB配置工具,EJB服务提供者,系统管理员。这里面,EJB容器是EJB之所以能够运行的核心。EJB容器管理着EJB的创建,撤消,激活,去活,与数据库的连接等等重要的核心工作。JSP,Servlet,EJB,JNDI,JDBC,JMS.....

2、EJB与JAVABEAN的区别?

答:JavaBean是可复用的组件,对JavaBean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于JavaBean是被容器所创建(如Tomcat)的,所以JavaBean应具有一个无参的构造器,另外,通常JavaBean还要实现Serializable接口用于实现Bean的持久性。JavaBean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。EnterpriseJavaBean相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。

3、EJB的基本架构

答:一个EJB包括三个部分:

RemoteInterface接口的代码

packageBeans;

importjavax.ejb.EJBObject;

importjava.rmi.RemoteException;

publicinterfaceAddextendsEJBObject

{

//somemethoddeclare

}

HomeInterface接口的代码

packageBeans;

importjava.rmi.RemoteException;

importjaax.ejb.CreateException;

importjavax.ejb.EJBHome;

publicinterfaceAddHomeextendsEJBHome

{

//somemethoddeclare

}

EJB类的代码

packageBeans;

importjava.rmi.RemoteException;

importjavax.ejb.SessionBean;

importjavx.ejb.SessionContext;

publicclassAddBeanImplementsSessionBean

{

//somemethoddeclare

}

J2EE,MVC方面

1、MVC的各个部分都有那些技术来实现?如何实现?

答:MVC是Model-View-Controller的简写。"Model"代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),"View"是应用的表示面(由JSP页面产生),"Controller"是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。

2、应用服务器与WEBSERVER的区别?

希望大家补上,谢谢

3、J2EE是什么?

答:Je22是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterprieseapplicationmodel).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietntier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。

4、WEBSERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。

答:WebService描述语言WSDL

SOAP即简单对象访问协议(SimpleObjectAccessProtocol),它是用于交换XML编码信息的轻量级协议。

UDDI的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为WebService提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的WebService注册,以使别的企业能够发现的访问协议的实现标准。

5、BS与CS的联系与区别。

希望大家补上,谢谢

6、STRUTS的应用(如STRUTS架构)

答:Struts是采用JavaServlet/JavaServerPages技术,开发Web应用程序的开放源码的framework。采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。Struts有如下的主要功能:

一.包含一个controllerservlet,能将用户的请求发送到相应的Action对象。

二.JSP自由tag库,并且在controllerservlet中提供关联支持,帮助开发员创建交互式表单应用。

三.提供了一系列实用对象:XML处理、通过JavareflectionAPIs自动处理JavaBeans属性、国际化的提示和消息。

设计模式方面

1、开发中都用到了那些设计模式?用在什么场合?

答:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。主要用到了MVC的设计模式。用来开发JSP/Servlet或者J2EE的相关应用。简单工厂模式等。

2、UML方面

答:标准建模语言UML。用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图,

JavaScript方面

1、如何校验数字型?

varre=/^d{1,8}$|.d{1,2}$/;

varstr=document.form1.all(i).value;

varr=str.match(re);

if(r==null)

{

sign=-4;

break;

}

else{

document.form1.all(i).value=parseFloat(str);

}

CORBA方面

1、CORBA是什么?用途是什么?

答:CORBA标准是公共对象请求代理结构(CommonObjectRequestBrokerArchitecture),由对象管理组织(ObjectManagementGroup,缩写为OMG)标准化。它的组成是接口定义语言(IDL),语言绑定(binding:也译为联编)和允许应用程序间互操作的协议。其目的为:

用不同的程序设计语言书写

在不同的进程中运行

为不同的操作系统开发

LINUX方面

1、LINUX下线程,GDI类的解释。

答:LINUX实现的就是基于核心轻量级进程的"一对一"线程模型,一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现。

GDI类为图像设备编程接口类库。

1、面向对象的三个基本特征

2、方法重载和方法重写的概念和区别

3、接口和内部类、抽象类的特性

4、文件读写的基本类

**5、串行化的注意事项以及如何实现串行化

6、线程的基本概念、线程的基本状态以及状态之间的关系

7、线程的同步、如何实现线程的同步

8、几种常用的数据结构及内部实现原理。

9、Socket通信(TCP、UDP区别及Java实现方式)

**10、Java的事件委托机制和垃圾回收机制

11、JDBC调用数据库的基本步骤

**12、解析XML文件的几种方式和区别

13、Java四种基本权限的定义

14、Java的国际化

二、JSP

1、至少要能说出7个隐含对象以及他们的区别

**2、forward和redirect的区别

3、JSP的常用指令

三、servlet

1、什么情况下调用doGet()和doPost()?

2、servlet的init()方法和service()方法的区别

3、servlet的生命周期

4、如何现实servlet的单线程模式

5、servlet的配置

6、四种会话跟踪技术

四、EJB

**1、EJB容器提供的服务

主要提供声明周期管理、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务。

2、EJB的角色和三个对象

EJB角色主要包括Bean开发者应用组装者部署者系统管理员EJB容器提供者EJB服务器提供者

三个对象是Remote(Local)接口、Home(LocalHome)接口,Bean类

2、EJB的几种类型

会话(Session)Bean,实体(Entity)Bean消息驱动的(MessageDriven)Bean

会话Bean又可分为有状态(Stateful)和无状态(Stateless)两种

实体Bean可分为Bean管理的持续性(BMP)和容器管理的持续性(CMP)两种

3、bean实例的生命周期

对于StatelessSessionBean、EntityBean、MessageDrivenBean一般存在缓冲池管理,而对于EntityBean和StatefullSessionBean存在Cache管理,通常包含创建实例,设置上下文、创建EJBObject(create)、业务方法调用、remove等过程,对于存在缓冲池管理的Bean,在create之后实例并不从内存清除,而是采用缓冲池调度机制不断重用实例,而对于存在Cache管理的Bean则通过激活和去激活机制保持Bean的状态并限制内存中实例数量。

4、激活机制

以StatefullSessionBean为例:其Cache大小决定了内存中可以同时存在的Bean实例的数量,根据MRU或NRU算法,实例在激活和去激活状态之间迁移,激活机制是当客户端调用某个EJB实例业务方法时,如果对应EJBObject发现自己没有绑定对应的Bean实例则从其去激活Bean存储中(通过序列化机制存储实例)回复(激活)此实例。状态变迁前会调用对应的ejbActive和ejbPassivate方法。

5、remote接口和home接口主要作用

remote接口定义了业务方法,用于EJB客户端调用业务方法

home接口是EJB工厂用于创建和移除查找EJB实例

6、客服端调用EJB对象的几个基本步骤

一、设置JNDI服务工厂以及JNDI服务地址系统属性

二、查找Home接口

三、从Home接口调用Create方法创建Remote接口

四、通过Remote接口调用其业务方法

五、数据库

1、存储过程的编写

2、基本的SQL语句

六、weblogic

1、如何给weblogic指定大小的内存?

在启动Weblogic的脚本中(位于所在Domian对应服务器目录下的startServerName),增加setMEM_ARGS=-Xms32m-Xmx200m,可以调整最小内存为32M,最大200M

2、如何设定的weblogic的热启动模式(开发模式)与产品发布模式?

可以在管理控制台中修改对应服务器的启动模式为开发或产品模式之一。或者修改服务的启动文件或者commenv文件,增加setPRODUCTION_MODE=true。

3、如何启动时不需输入用户名与密码?

修改服务启动文件,增加WLS_USER和WLS_PW项。也可以在boot.properties文件中增加加密过的用户名和密码.

4、在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中?

保存在此Domain的config.xml文件中,它是服务器的核心配置文件。

5、说说weblogic中一个Domain的缺省目录结构?比如要将一个简单的helloWorld.jsp放入何目录下,然的在浏览器上就可打入http://主机:端口号//helloword.jsp就可以看到运行结果了?又比如这其中用到了一个自己写的javaBean该如何办?

Domain目录\服务器目录\applications,将应用目录放在此目录下将可以作为应用访问,如果是Web应用,应用目录需要满足Web应用目录要求,jsp文件可以直接放在应用目录中,Javabean需要放在应用目录的WEB-INF目录的classes目录中,设置服务器的缺省应用将可以实现在浏览器上无需输入应用名。

6、如何查看在weblogic中已经发布的EJB?

可以使用管理控制台,在它的Deployment中可以查看所有已发布的EJB

7、如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置

缺省安装中使用DemoIdentity.jks和DemoTrust.jksKeyStore实现SSL,需要配置服务器使用EnableSSL,配置其端口,在产品模式下需要从CA获取私有密钥和数字证书,创建identity和trustkeystore,装载获得的密钥和数字证书。可以配置此SSL连接是单向还是双向的。

8、在weblogic中发布ejb需涉及到哪些配置文件

不同类型的EJB涉及的配置文件不同,都涉及到的配置文件包括ejb-jar.xml,weblogic-ejb-jar.xmlCMP实体Bean一般还需要weblogic-cmp-rdbms-jar.xml

9、EJB需直接实现它的业务接口或Home接口吗,请简述理由.

远程接口和Home接口不需要直接实现,他们的实现代码是由服务器产生的,程序运行中对应实现类会作为对应接口类型的实例被使用。

10、说说在weblogic中开发消息Bean时的persistent与non-persisten的差别

persistent方式的MDB可以保证消息传递的可靠性,也就是如果EJB容器出现问题而JMS服务器依然会将消息在此MDB可用的时候发送过来,而non-persistent方式的消息将被丢弃。

11、说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法

SessionFacadePattern:使用SessionBean访问EntityBean

MessageFacadePattern:实现异步调用

EJBCommandPattern:使用CommandJavaBeans取代SessionBean,实现轻量级访问

DataTransferObjectFactory:通过DTOFactory简化EntityBean数据提供特性

GenericAttributeAccess:通过AttibuteAccess接口简化EntityBean数据提供特性

BusinessInterface:通过远程(本地)接口和Bean类实现相同接口规范业务逻辑一致性

EJB架构的设计好坏将直接影响系统的性能、可扩展性、可维护性、组件可重用性及开发效率。项目越复杂,项目队伍越庞大则越能体现良好设计的重要性

fromjava-cn

JAVA高级软件工程师面试题

第七题是每小时25公里

假定火车的速度为X,时间为T,隧道长度为S

火车:X×T=S

人:10×T=2/5S(五分之二S)

java软件工程师!!面试题!!

我面试过人,也被人面试过,工作了6年.

对于1年半的工作经验的人来说,主要问的是基础:

一般会问:

1,servlet,struts,spring,hibernate/ibatis,问struts的流程和mvc模式,也会问问spring的依赖注入.然后是数据库方面,会问存储过程,引擎等.

2,到百度上面找点笔试题看看...一年半他不可能问太深入的问题.比如大数据的处理,并发机制,负载均衡,分布式等..

最后我还有点建议,在面试的时候先把相关的技术稍微看看,要心里有一个大致的印象,这样才能回答好,回答得好,工资就可以谈高点..

对于java面试题高级工程师,JAVA高级软件工程师面试题的讲解希望对大家有所收获,小编有点事先行告退。

点赞(20)

猜你喜欢

相关推荐

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部