Java 开发工程师初级招聘试题v13笔试部分.docx
《Java 开发工程师初级招聘试题v13笔试部分.docx》由会员分享,可在线阅读,更多相关《Java 开发工程师初级招聘试题v13笔试部分.docx(12页珍藏版)》请在冰豆网上搜索。
Java开发工程师初级招聘试题v13笔试部分
易宝支付JAVA开发工程师(L1)招聘试题
姓名:
日期:
开始时间:
完成时间:
第一部分:
JAVA知识
一、写出下面代码的执行结果(分值10分)
publicclassFoo{
publicstaticvoidmain(String[]args){
StringstrValue="ABCDEFG";
strValue.substring(3);
strValue.concat("123");
System.out.println("result="+strValue);
Stringvalue=newString("ABCDEFG");
System.out.println(strValue==value);
}
}
//false
二、写出下面代码的执行结果
publicclassFoo{(分值5分)
publicstaticvoidmain(Stringargs[]){
intx=100;
inty=200;
if(x=y)
System.out.println("Notequal");
else
System.out.println("Equal");
}
}
三、写出下面代码的执行结果(此题需写出分析过程,没有分析过程不得分,分值10分)
importjava.io.IOException;
publicclassExceptionTest{
publicstaticvoidmain(Stringargs[]){
try{
newExceptionTest().methodA(5);
}catch(IOExceptione){
System.out.println("caughtIOException");
}catch(Exceptione){
System.out.println("caughtException");
}finally{
System.out.println("noException");
}
}
voidmethodA(inti)throwsIOException{
if(i%2!
=0)
thrownewIOException("methodAIOException");
}
}
四、写出下面代码执行的结果(此题需写出分析过程,没有分析过程不得分,分值10分)
publicclassTest{
staticbooleanisTrue(){
System.out.println("isTrue");
returntrue;
}
staticbooleanisFalse(){
System.out.println("isFalse");
returnfalse;
}
publicstaticvoidmain(String[]args){
if(isTrue()||isFalse()){
System.out.println("||operatereturntrue");
}
if(isFalse()&isTrue()){
System.out.println("&operatereturntrue");
}
}
}
isTrue
||operatereturntrue
isFalse
isTrue
五、写出下面代码执行的结果(此题需写出分析过程,没有分析过程不得分,分值10分)
classMyThreadextendsThread{
publicvoidrun(){
try{
Thread.currentThread().sleep(3000);
}catch(InterruptedExceptione){
}
System.out.println("MyThreadrunning");
}
}
publicclassThreadTest{
publicstaticvoidmain(Stringargv[]){
MyThreadt=newMyThread();
t.run();
t.start();
System.out.println("ThreadTest");
}
}
MyThreadrunning
ThreadTest
MyThreadrunning
六、执行B.main的结果是什么?
(此题需写出分析过程,没有分析过程不得分,分值10分)
classA{
voidfun1(){
System.out.println(fun2());
}
intfun2(){
return123;
}
}
classBextendsA{
intfun2(){
return456;
}
publicstaticvoidmain(Stringargv[]){
Aa;
Bb=newB();
b.fun1();
a=b;
a.fun1();
}
}
456
456
七、执行ListTest.main的结果是什么?
(此题需写出分析过程,没有分析过程不得分,分值10分)
classData{
intval;
intgetVal(){
returnval;
}
voidsetVal(intval){
this.val=val;
}
}
publicclassListTest{
publicstaticvoidmain(Stringargv[]){
Datadata=newData();
ArrayListlist=newArrayList();
for(inti=100;i<103;i++){
data.setVal(i);
list.add(data);
}
intj=0;
while(jDatatmp=(Data)list.get(j);
System.out.println("list("+j+")="+tmp.getVal());
j++;
}
}
}
103
103
103
八、请指出以下代码有哪些错误(分值15分)
1.
abstractclassName{
privateStringname;
publicabstractbooleanisStupidName(Stringname){}
}
2.
publicclassSomething{
voiddoSomething(){
privateStrings="";
intl=s.length();
}
}
3.
publicclassSomething{
publicintaddOne(finalintx){
return++x;
}
}
九、写出以下正则表达式(分值10分)
1-6位字母或数字:
^\w{1,6}$
手机号(只能以139或159开通,11位数字):
^(139\d{8})|(159\d{8})$
一十、写一个方法,实现字符串的反转,如:
输入abc,输出cba(分值10分)
publicStringreverson(Stringstr){
StringBufferedsb=newStringBuffered();
for(inti=str.length()-1;i>=0;i--){
sb.append(str[i]);
}
returnsb.toString();
}
一十一、写一个程序,计算1+22+32+…+n2(分值10分)
publicintcal(n){
intresult=0;
for(inti=1;i<=n;i++){
result+=i*i;
}
retrunresult;
}
一十二、写一个延迟加载的单例模式(Singleton)的例子(分值10分)
publicclassSingleton{
privateSingleton(){}
privatestaticclassLazyLoad{
staticSingletoninstance=newSingleton();
}
publicstaticSingletongetInstance(){
returnLazyLoad.instance;
}
}
第二部分:
简答题
一十三、列出JSP的内置对象,并描述其用途。
(10分)
page
pageContext
request
response
session
application
config
out
exception
一十四、列出web.xml中允许定义的元素,并描述其用途。
(10分)
filter,servlet,
一十五、列出JDBC操作数据库的步骤(10分)
一十六、描述会话(session)和cookies的异同点(10分)
一十七、有一个JSP代码如下,假设WEB容器启动后有2个人分别用两台电脑轮流访问这个页面5次,那么最后一次访问这个页面的人看到的结果是什么?
(需要写出分析过程,分值20分)
<%@pagelanguage="java"contentType="text/html;charset=GBK"%><%!
inti=0;%><%intj=0;ints=0;Stringstr=(String)session.getAttribute("count");if(str!
=null){s=Integer.parseInt(str);}s++;session.setAttribute("count",s+"");inta=0;str=(String)application.getAttribute("count");if(str!
=null){a=Integer.parseInt(str);}a++;application.setAttribute("count",a+"");i++;j++;out.println(i+j+s+a);%>
第三部分:
数据库知识
一十八、数据库操作
--学生表
CREATETABLEstudent(
IDCHAR(8)NOTNULL,--学生编号
NAMECHAR(8)NOTNULL,--姓名
SEXCHAR
(2),--性别
AGEINT)--年龄
--课程名称表
CREATETABLECOURSE(
IDCHAR(4)NOTNULL,--课程编号
NAMECHAR(20)NOTNULL,--课程名称
DESCRIPTIONCHAR(50))--课程描述
--课程和学生的关系表(多对多,一个学生可以上多个课程,一个课程允许多个学生上)
CREATETABLEcourse2student(
ID_COURSECHAR(4)NOTNULL,--课程编号
ID_STUDENTCHAR(8)NOTNULL--学生编号
)
那么,
1)在课程表中增加一个课程(课程编号:
DB-1、课程名称:
DB2-SQL-1),增加一个学生(学生编号:
20080001、姓名:
张三),该学生上DB-1的课程。
(5分)
2)更新课程中课程编号为“DB-1”的课程名称为“DB2-SQL”、课程描述为“DB2SQL语法及其使用”。
(5分)
3)查询课程名称以“DB2”开头的课程有哪些?
需要列出课程编号、课程名称。
(5分)
4)查询课程编号为“DB-1”的有哪些学生SQL的语句是什么?
列出学生编号、姓名、性别。
(5分)
5)统计所有课程的学生人数,并按人数从低到高排列。
只有列出课程编号、上课人数(5分)
第四部分:
逻辑题(选做)
一十九、有12个一摸一样的小钢球,其中有一个的质量与其他的11个的质量不一样,现在有一架天平(无砝码)。
请用这架天平从这12个小钢球中找出与其他质量不一样的那一个小钢球,并判别出这个小钢球是偏重还是偏轻。
请证明最少要用几次?
二十、现在小明一家过一座桥,过桥时候是黑夜,所以必须有灯。
现在小明过桥要1秒,小明的弟弟要3秒,小明的爸爸要6秒,小明的妈妈要8秒,小明的爷爷要12秒。
每次此桥最多可过两人,而过桥的速度依过桥最慢者而定,而且灯在点燃后30秒就会熄灭。
问小明一家如何过桥?