java研发工程师基础测试Word下载.docx
《java研发工程师基础测试Word下载.docx》由会员分享,可在线阅读,更多相关《java研发工程师基础测试Word下载.docx(11页珍藏版)》请在冰豆网上搜索。
exception
5、Hibernate内load()和get()方便的区别
当数据库中不存在要查找的主键时,get返回null;
load引发异常;
get方法直接得到对象,不管是否使用该对象,load方法后并未执行查询方法,当使用该对象的属性时方执行查询语句
6、优化以下代码:
Stringstr=“world”;
publicvoidmethod(){
for(inti=0;
i<
10;
i++){
str+=“j”;
}
Systyem.out.print(str);
StringBufferstr=newStringBuffer(“world”);
str.append(“j”);
7、写sql语句表内数据复制表之间数据复制删除表内重复数据
8、谈谈MVC各部分主要有哪些实现技术,怎么实现?
M-Model使用JavaBean实现
V-View使用JSP实现
C-Controller使用Servlet实现
jsp接收用户输入,将请求提交给Servlet;
Servlet处理客户端请求,并调用JavaBean进行业务处理,将处理后结果转到相应的JSP页面显示
9.打印什么?
publicclassBase{
staticinti=1;
publicBase(){
Systyem.out.print(“Parentconstructorcode”);
Systyem.out.print(i);
static{
i=10;
Systyem.out.print(“Parentstaticcode”);
publicclassChildextendsBase{
staticinti=1;
publicChild(){
Systyem.out.print(“Childconstructorcode”);
Systyem.out.print(i);
i=20;
Systyem.out.print(“Childstaticcode”);
Main(){
Parentp=newChild();
ParentstaticcodeChildstaticcodeParentconstructorcode10Childconstructorcode20
1.Java里有没有多继承?
如果有如何实现?
没有多继承
可以使用接口来实现
2.谈谈MVC
3.inta=1;
intb=1;
Integerc=10;
Integerd=20;
Integere=30;
Integerf=30;
Systyem.out.print(a==b);
Systyem.out.print(c==d);
Systyem.out.print(e==f);
打印什么为什么?
答:
truefalsetrue
4.
for(chara=’A’;
a<
90;
a++){
Systyem.out.print(a);
能正常运行吗?
如果能,打印什么?
能
ABCDEFGHIJKLMNOPQRSTUVWXY
5.表单post提交和get提交的区别
get提交走地址栏,长度在0-255之间,安全性低
post提交数据地址栏无显示,长度无限制,安全性高
6.getCurrentSession()和openSession()的区别
getCurrentSession()获取当前session
openSession()开始一个新的session
7.谈谈数据库连接池的机制。
服务器管理数据库连接,将一定数量的连接放置于连接池中,访问需要时直接从连接池中提取空闲连接,使用完毕后,将连接放回到连接池中;
8.ArrayList和LinkedList的区别
ArrayList是顺序结构存储,执行查询速度较快,执行增删操作速度较慢
LinkedList是链表结构存储,执行查询速度较慢,执行增删速度较快
9.转发和重定向的区别
转发地址栏不变,将请求从一个页面转发到另一个页面,页面之间共享request域对象
重定向地址栏发生变化,重新发起一次新请求,两个页面的request域不同
10.谈谈Spring的事务管理
声明式事务,即业务逻辑代码不变,通过配置文件对业务逻辑方法进行事务管理
11.List和Set区别,如何判断Set的对象是不是同一个对象
Set唯一,无序(即下标不连续,无法通过下标访问集合元素,通常使用迭代器迭代访问)List可重复,有序(即下标连续,可通过下标访问集合元素)
可以使用contains方法验证Set中是否包含此对象
12.JSP与Servlet的区别共同点?
各自的适应范围.
相同点:
都可以处理客户端请求,并发回响应
区别:
Servlet以java代码为主,中间穿插html标记,适用于处理业务
jsp以html标记为主,中间穿插java代码,适用于显示数据
13.谈谈拦截器过滤器监听器。
拦截器时Struts2所特有的,只能针对于向Action发起的请求,在Action处理之前或之后完成一些工作
过滤器是针对所有请求,即使请求的是一个图片或者html页面,也可以针对一个目录或所有请求,在请求到达之前和响应之前完成一些工作
监听器是针对于某些特定的操作,比如服务器的启动和停止;
会话的创建和销毁等;
14.web.xml是WEB项目必备的吗,有何作用?
是,部署描述符,描述一切服务器端内容,如果此文件不存在或有问题,则整个web项目无法访问
15.谈谈一下你对AOP的理解。
面向切面编程,即将业务逻辑中通用的内容提取处理,单独编写,然后通过配置文件将该内容切入到业务逻辑中,通过修改配置文件,在不影响项目的情况下可适当增减功能
16.一家公司,成立于2009年,效益很差,老板找到你问你
a)公司有几个部门?
b)每个部门有几个人?
c)我想找出公司内业绩最差和最好的人,看看它们分别是哪个部门的,分别给予处罚和奖励。
d)给我开除每个部门业绩最差的3个人。
设计数据库,用图表画出,并写出SQL语句实现老板的问题。
一、JAVA开发
1、您经常看的JAVA书籍有哪些?
JAVA编程思想、JavaWeb整合开发等
2、你经常在网上逛得技术论坛有哪些?
CSDN、ITEye
3、List、Set、Map是否继承自Collection接口?
List和Set继承自Collection,Map不是
4、如果某个类没有复写hashCode()方法,那这个类是否能正常的运行在HashSet集合中,原因是什么?
可以,hashCode()是object类中的一个方法,在hashSet中是来判断两个对象是否为同一个的标志,有时候需要自己判断,所有需要重写hashCode()方法。
5、请问给下段程序的屏幕输出时什么?
String[]argg={"
a"
"
1"
b"
8"
};
Sets=newTreeSet();
s.addAll(Arrays.asList(argg));
System.out.println(s);
[1,8,a,b]
TreeSet构造一个新的空set,该set根据其元素的自然顺序进行排序;
插入该set的所有元素都必须实现Comparable接口,支持比较。
6、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
是用==还是equals()?
它们有何区别?
用iterator()方法区分是否重复
Equals方法检测两个对象是否相等(指两个对象的内容是否相等)
==用于比较引用和比较基本数据类型:
比较基本数据类型如果两个值相等结果为true
比较引用时,如果引用指向内存中的统一对象结果为true。
7、是否做过xml解析?
主要是用哪些解析工具?
是否使用过xml数据库?
请列举xml数据库的名字。
做过xml解析,可以是用dom、dom4j、Sax或者jdom进行解析;
8、是否开发过WebService或调用过WebService?
如果是,请简单描述您是如何应用的。
是用XFire框架开发过WebService
9、请用JavaScript代码编写一个面向对象的实体类。
functionperson(name,age){
this.name=name;
this.age=age;
Person.prototype={
Constructor:
person,
sayName:
function(){
alter(this.name)
10、是否使用过struts、hibernate、spring等开源框架,如果使用过请简单描述一下您是怎么使用的。
如果有用过其他框架请将名称列出来。
Hibernate是一个开源的对象关系映射框架,对JDBC进行了轻量级的封装,可是用OOP思想来操纵数据库;
Struts是一个优秀的MVC框架.可以利用明确的关注点原则,开发动态Web应用
Spring提供了通用
的服务,ioc/di、aop,关心的不仅仅web层,可以很容易融合不同的技术struts,hibernate,ibtas等
11、请简要描述您对MsSqlServer数据库、Oracle数据库,DB2数据库的熟悉程度
熟练使用SQLServer和Oracle数据库;
DB2知道但没用过
12、您知道哪些新技术?
JQuery、Ext、Json
13、您还在哪些技术方面有突出特长(例如:
安全技术,protal,自动建站,WAP,GIS等),请简要列举。
14、用System.out.println打印出如下图案(菱形)
//打印正三角
for(introw=1;
row<
=5;
row++){
//打印空格
for(intline=5-1;
line>
=row;
line--){
System.out.print("
"
);
}
//打印*
for(intcol=1;
col<
=2*row-1;
col++){
*"
System.out.println();
}
//打印倒三角
for(introw=5-1;
row>
=1;
row--){
15、有一组数字,1,12,3,5,8,13……请问13后面是什么数字,如果可以的话请用代码来回答
21
intone=1;
inttwo=1;
System.out.print(one+"
\t"
+two+"
for(intcnt=1;
cnt<
=18;
cnt++){
intthree=one+two;
System.out.print(three+"
one=two;
two=three;
打印此数列的前20个数字
二、逻辑、项目经验及其他
1、如果您有无穷的水,一个3升的和一个5升的提桶,您如何准确称出4升的水?
先装满3升水,然后点倒入5升的桶内,然后在装满3升水,倒入5升桶内,5升桶满后,3升桶内剩1升水;
将5升桶中的水倒掉,将3升桶内剩余水倒入5升桶内,在装满3升水倒入5升桶内正好是4升水。
2、请粗略的估算一个全北京有多少个加油站。
回答两个问题:
您的思考过程是什么?
您估算的值是多少?
两个;
中石油和中石化
3、在房里有三盏灯,房外有三个开关,在房外看不见房内的情况,你只能进门一次,你用什么方法来区分那个开关控制那一盏灯?
先打开第一个开关,10分钟后,关闭第一个开关,打开第二个开关并开门进入屋内,正在亮着的灯是第二个开关的,用手摸一下另外两个灯,热的是第一个开关的,剩余的就是第三个开关的
4、1000天之后是哪一天?
怎么计算?
(可以有多种答案)
1001天
5、北京清元优科技有限公司
第一部分:
数学与逻辑
第1-8题:
请从理论上和逻辑的角度在后面的空格中填入后续字母或数字
1.A、D、G、J、___M__
2.1、3、6、10、__15___
3.1、1、2、3、5、__8___
4.21、20、18、15、11、__6___
5.8、6、7、5、6、4、__5___
6.65536、256、16、__4___
7.1、0、-1、0、__1___
8.3968、63、8、3、__2___
第九题答案:
d
第十题答案:
a
第十一题答案:
C
第十二题答案:
第十三题答案:
bd
第十四题答案:
bc