架构师

您现在的位置是:首页 > 工作面试 > 中级面试

中级面试

Java面试宝典_中级软件工程师笔试题(七)

架构师小跟班 2019-07-12 中级面试
CORBA方面 1、CORBA是什么?用途是什么? 答:CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组织 (Object Management Group,缩写为

CORBA方面 

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

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

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

在不同的进程中运行 

为不同的操作系统开发 

LINUX方面 

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

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

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

JAVA华为面试题 

JAVA方面 

1 面向对象的特征有哪些方面 

2 String是最基本的数据类型吗? 

3 int 和 Integer 有什么区别 

4 String 和StringBuffer的区别 

5运行时异常与一般异常有何异同? 

异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 

6 说出一些常用的类,包,接口,请各举5个 

7 说出ArrayList,Vector, LinkedList的存储性能和特性 

ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。 

8设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 

以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。 

public class ThreadTest1{ 

private int j; 

public static void main(String args[]){ 

ThreadTest1 tt=new ThreadTest1(); 

Inc inc=tt.new Inc(); 

Dec dec=tt.new Dec(); 

for(int i=0;i<2;i++){ 

Thread t=new Thread(inc); 

t.start(); 

t=new Thread(dec); 

t.start(); 

} 

} 

private synchronized void inc(){ 

j++; 

System.out.println(Thread.currentThread().getName()+"-inc:"+j); 

} 

private synchronized void dec(){ 

j--; 

System.out.println(Thread.currentThread().getName()+"-dec:"+j); 

} 



class Inc implements Runnable{ 

public void run(){ 

for(int i=0;i<100;i++){ 

inc(); 

} 

} 

} 

class Dec implements Runnable{ 

public void run(){ 

for(int i=0;i<100;i++){ 

dec(); 

} 

} 

} 

} 

9. JSP的内置对象及方法。 

request request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。 

response response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等) 

out out 对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。 

pageContext pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。 

session session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息 

application applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息 

config config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。 

page page表示从该页面产生的一个servlet实例 

10.用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同的数据。 

参见课程中socket通讯例子。 

11说出Servlet的生命周期,并说出Servlet和CGI的区别。 

Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。 

与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。 

12.EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。 



13.EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的? 



14.说出数据连接池的工作机制是什么? 



15同步和异步有和异同,在什么情况下分别使用他们?举例说明。

文章评论