JAVA软件工程师面试笔试试卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JAVA软件工程师笔试试题
(考试时间:120分钟试卷分值:150分)
一、逻辑推理题【10分】
1、甲、乙、丙、丁四位同学中有一位同学为海啸灾区捐款1000元,当老师询问时,他们分别这样回答:
甲:这1000元不是我捐的
乙:这1000元是丁捐的
丙:这1000元是乙捐的
丁:这1000元不是我捐的
这四人中只有一个人说了真话,由此可见这1000元是谁捐的( A)。
【2分】
A.甲 B.乙 C.丙 D.丁
2、甲、乙、丙三人是同一家公司的员工,他们的未婚妻A、B、C也都是这家公司的职员。
知情者介绍说:“A的未婚夫是乙的好友,并在三个男子中最年轻;丙的年龄比C的未婚夫大。
”依据该知情者提供的情况,我们可以推出三对组合分别是(D )。
【3分】A.甲—A,乙—B,丙—C
B.甲—B,乙—A,丙—C
C.甲—C,乙—B,丙—A
D.甲—A,乙—C,丙—B
3、甲乙丙丁四人的车分别为白色、银色、蓝色和红色。
在问到他们各自车的颜色时,
甲说:“乙的车不是白色。
”
乙说:“丙的车是红色的。
”
丙说:“丁的车不是蓝色的。
”,
丁说:“甲、乙、丙三人中有一个人的车是红色的,而且只有这个人说的是实话。
”
如果丁说的是实话,那么以下说法正确的是(B):【2分】
A.甲的车是白色的,乙的车是银色的 B.乙的车是蓝色的,丙的车是红色的
C.丙的车是白色的,丁的车是蓝色的 D.丁的车是银色的,甲的车是红色的
二、基础理论题【20分】
1. Java是一种先__编译______后__解释_____运行的语言。
(提示:填编译或者解释)【1分】
2. 栈是____________先进后出_____的线性表,队列是__先进先出__________的线性表。
【2分】
3. 面向对象的基本特征____封装____,_继承________,__多肽________。
【3分】
4. 事务包含4个基本特征,即ACID,它们分别指__________,__________,__________,__________【2分】
5. 等于。
等于。
【2分】
6. Java中数据类型包括_______简单数据类型______和__引用数据类型____________。
【1分】
7. Java程序控制语句中的循环语法分____for____,__while______和__do_while______三种。
【3分】
8. 构造方法____不能______ ( 能或者不能)被public、private、protected修饰。
【1分】
9. Java的访问控制有四种: public ______、_protected_____、_friendly_____、___private___。
【2分】
10. AJAX的核心对象是_____________。
【1分】
三、JAVA基础题【45分】
1.下列选项中不属于java关键字的有 ( AB )【1分】
[A]?TRUE [B]?sizeof
[C]?const [D]?super [E]?void
2.下面哪些是合法的标识符 ( ABE )【1分】
[A]?$persons [B]?TwoUsers
[C]?*point [D]?this [E] _endline
3.下列选项中不是原始数据类型的有 ( c )【1分】
[A].?short [B].?Boolean
[C].?Unit [D].?float
4.下列选项中那些语句片段会发生异常【1分】BD
[A] String s = "Gone with the wind";
String t = "good "; String k = s + t;
[B] String s = "Gone with the wind";
String t; t = s[3] + "one";
[C] String s = "Gone with the wind";
String standard = ();
[D] String s = "home directory";
String t = s - "directory";
5.以下选项中,合法的赋值语句是( bd )【1分】
A. a == 1;
B.++i;
C. a = a + 1 = 5;
D.y = (int)I;
6.以下选项中,代码执行完毕后输出结果是( c )【1分】
boolean bool = true;
if(bool = false) {
else if (bool) {
else if (!bool) {
else {
A. fails
7.以下选项中,正确的是( B )【1分】
public class Alpha1 {
public static void main( String[] args ) {
boolean flag; int i=0;
do {
flag = false;
i++ );
flag = i < 10;
continue;
} while ( (flag) true:false );
}
}
A.000000000
B.09
pilation fails.
D.The code runs with no output.
E.The code enters an infinite loop.
F.An exception is thrown at runtime.
8.以下代码片段执行后,正确输出的结果是( )【1分】
public class Delta {
static boolean foo(char c) {
true;
}
public static void main( String[] argv ) {
int i =0;
for ( foo(‘A’); foo(‘B’)&&(i<2); foo(‘C’)){ i++ ;
foo(‘D’);
}
}
}
A.ABDCBDCB
B.ABCDABCD
pilation fails.
D.An exception is thrown at runtime.
9.有以下代码片段
if (x>0) {
"first");
}
else if (x>-3) {
"second");
}
else {
"third");
}
x的取值在什么范围内时将打印字符串"second"D
A. x > 0
B. x > -3
C. x <= -3
D. x <= 0 & x > -3
10.有以下代码片段
1) class Person {
2) public void printValue(int i, int j) {/*…*/ }
3) public void printValue(int i){/*...*/ }
4) }
5) public class Teacher extends Person {
6) public void printValue() {/*...*/ }
7) public void printValue(int i) {/*...*/}
8) public static void main(String args[]){
9) Person t = new Teacher();
Teacher t1 = new (Teacher) Person();
10) (10);
11) } }
第十行加粗部分的声明将调用哪些方法 BD
[A] on line 2 [B] on line 3
[C] on line 6 [D] on line 7
在
11.下列程序在执行完循环后的结果为【1分】D
int i=1,j=10;
do{
if(i++>--j)
continue;
} while(i<5);
A.i = 6 j = 5
B.i = 5 j = 5
C.i = 6 j = 4
D.i = 5 j = 6
12.判断下列声明是否正确,如果正确请标记(√),错误请标记(×)【1分】
1.接口是可以继承接口(√)
2.接口可以实现接口(√)
3.接口可以声明为私有的(X )
4. 是否可以继承String类( X)
5.抽象类可以实现接口(√)
6.抽象类可以继承实体类(√)
13.下列哪种定义接口的方式是正确的【1分】B
A.public interface A{ int a(); }
B.public interface A implement B{}
C.interface C { int a; }
D.private interface D{}
E.abstract interface E{}
14.下列说法正确的有【1分】B
A.类中的构造函数不可省略
B.构造函数必须与class同名,但方法不能与class同名
C.构造函数在一个对象被new时执行
D.一个class只能定义一个构造函数
四、问答题【30分】
1.说说数据连接池的工作机制是什么【3分】
2.一个".java"源文件中是否可以包括多个类(不是内部类)有什么限制。
【3分】
3.forward 和redirect的区别。
【3分】
4.MVC的各个部分都有那些技术来实现如何实现?【3分】
5.页面间对象传递的方法有哪几种【3分】
6.说说jsp中动态INCLUDE与静态INCLUDE的区别【3分】
7.jsp有哪些动作作用分别是什么【3分】
8.抽象类abstract class和接口interface有什么区别【3分】
用abstract修饰的类是抽象类,声明方法存在,却不实现
Interface 所有的方法都是抽象的没有程序题
9.异常处理经常用到的throws,throw,try,catch,finally分别代表什么【3分】 Throws 捕获异常,但是需要在方法调用时,增加try catch
Throw 在程序体直接抛出一个异常,后面的程序不能够继续运行
Try catch 捕获异常,这个直接在程序体里面写,用的要比throws多
Finally 是最终一定会执行。
10.方法的重写Overriding和重载Overloading的区别是什么【3分】
重写方法名相同,子类重写父类的方法
重构方法名相同,但是参数和参数个数不同,返回值类型相同
五、SQL基础题(任选一题)【25分】
题目一
假设有四个样表:
学生表:students(学号:stuNO,姓名:stuName,性别:stuSex,出生日期:stuBirthday,班级:className)
教师表:techers(教师号:techNo,姓名:techName,性别:techSex,出生日期:techBirthday,职称:title,系别:department)
课程表:course(课程号:couNo,课程名:couName,教师号:techNo)
成绩表:score(学号:stuNO,课程号:couNo,成绩:score)
1)在学生表中检索与学号为26的同学同年同日出生的所有学生的学号、姓名、出生日期.
【5分】
2)查询所有学生的姓名、课程号、成绩【5分】
3)在成绩表中查询平均成绩超过80分的学生学号、平均成绩. 【5分】
4)查出‘计算机系’教师所教课程的成绩表【5分】
5)查询所有任课教师的姓名和所在系【5分】
题目二
假设有四个样表:
雇员表:EMP(编号:EMPNO,姓名:ENAME,工作职位:JOB,领导编号:MGR,雇佣日期:HIREDATE,月薪(工资):SAL,奖金:COMM,部门编号:DEPTNO)
部门表:Dept(部门编号:DEPTNO,部门名称:DNAME,部门位置:LOC)
工资等级表:Salgrade(等级名称:GRADE,此等级的最低工资:LOSAL,此等级的最低工资:HISAL)
奖金表:Bonus(雇员姓名:ENAME,工作职位:JOB,雇员工资:SAL,雇员奖金:COMM)
1)查询在部门30中员工的所有信息【3分】
2)检索每个员工奖金和工资的总和【5分】
3)找出没有奖金或者奖金低于500的员工【5分】
4)列出员工表中每个部门的员工数(员工数必须大于3),和部门名称【6分】
5)检索每个月工资总数最少的那个部门的部门编号,部门名称,部门位置【6分】
6)检索每个部门,,每个职位的平均工资和平均奖金(平均值包括没有奖金),如果平
均奖金大于300,显示“奖金不错”,如果平均奖金100到300,显示“奖金一般”,如果平均奖金小于100,显示“基本没有奖金”,按部门编号降序,平均工资降序排列【选做】
六、JAVA编程题【20分】
1.编写一个简单的实现冒泡排序的算法【10分】
Public class Button(){
Public void main(String [] args){
Int []ss={10,20,30,40,50,24};
For(i=0;i<;i++){
For(j=0;j<;j++){
交换
}
}
For 输出数组
}
}
2.写一个或一组实现Singleton[单例]。
【10分】。