JAVA高级工程师笔试面试题

一、tomcat有哪些性能调优方法,请举例说明?

             jvm参数调优,控制线程数,禁止dns查询,Apache+jk集群

二、Spring中bean的作用域有哪些?

Spring中bean的作用域用scope来表示。

scope的值有两个:

singleton为单粒,即Spring IoC容器只会创建该bean的唯一一个实例,这也是默认的。该实例就会一直放在缓存里供大家使用。

prototype为原型,即每一次请求都会产生一个新的bean实例。


三、struts2和struts1有哪些区别?

Struts2与Struts1对比
1)Action类的实现方式:
Struts1的Action在实现的时候必须扩展Action类或者Action的子类,Struts2的Action类实现的时候可以不用实现任何类和接口,虽然Struts2中提供一个ActionSupport类,但是,不是必须的。
2)Struts1的Action类是单例模式,必须设计成线程安全的,Struts2则为每一个请求产生一个实例
3)Struts1的Action类依赖与Servlet API,从其execute的方法签名可看出,execute方法有两个Servlet的参数HttpServletRequest和HttpServletResponse,Struts2则不依赖于Servlet API
4)以为Struts1依赖于Servlet API这些Web元素,因此对Struts1的Action进行测试的时候是很困难的,需要借助与其他的测试工具,Struts2的Action可以象测试其他的一些Model层的Service类一样进行测试
5)Struts1的Action与View通过ActionForm或者其子类进行数据传递,虽然也有LazyValidationForm这样的ActionForm的出现,但是,还是不能象其他层面那样通过一个简单的POJO进行数据传递,而Struts2将这样的奢望变成了现实
6)Struts1绑定了JSTL,为页面的编写带来方便,Struts2整合了ONGL,也可以使用JSTL,因此,Struts2下的表达式语言更加强大
四、Struts2与WebWork对比
Struts2实际上就是WebWork2.3,不过,Struts2还是与WebWork有少许的差别:
1)Struts2不再支持内置IOC容器,改用Spring的IOC容器

2)Struts2对于Webwork的一些Ajax的特性的标签改用Dojo进行替换

四、JDK1.5相比于JDK1.4主要有哪些新特性?

五、如何理解软件的模块独立性?

六、如何设计实现外网数据库和内网数据库的数据交换?

七、Spring最有用的功能是什么?举例说明IOC和AOP的作用。

八、关于sql的面试题:sql语句性能调优的方法有哪些?

九、关于sql的笔试题:假设有如下表:

TABLE: test

id a b
1 4 2
2 1 2
3 1 3
4 3 2
5 1 5
6 1 2
7 4 -1
8 1 2
写一条SQL语句,选择所有a=1或b=2的记录,使得a=1且b=2的记录排在最前面,并且a=1且b=2的记录按id降序排列。

 答案:SELECT * FROM (SELECT * FROM test WHERE a=1 AND b=2 ORDER BY id DESC) t1 UNION SELECT * FROM test WHERE (a=1 AND b!=2) OR (a!=1 AND b=2)

你可能感兴趣的:(JAVA高级工程师笔试面试题)