JAVA工程师笔试题
一、选择题
1、如下代码
public class Test {
public int aMethod() {
static int i = 0;
i++;
return i;
}
public static void main (String args[]) {
Test test = new Test();
test.aMethod();
int j = test.aMethod();
System.out.println(j);
}
}
输出结果是什么?
A. 0 B. 1 C. 2 D. 编译失败
2. 如下代码
int i =1,j =10;
do {
if(i++> --j) {
continue;
适配器字符串是什么 }
} while (i <5);
System.out.println("i = " +i+ "and j = "+j);
输出结果是什么?
A. i = 6 and j = 5 B. i = 5 and j = 5 C. i = 6 and j = 5 D. i = 5 and j = 6
3. 如下代码:
public class SwitchTest {
public static void main(String[] args) {
System.out.println("value = " + switchIt(4));
}
public static int switchIt(int x) {
int j = 1;
switch (x) {
case 1: j++;
case 2: j++;
case 3: j++;
case 4: j++;
case 5: j++;
default: j++;
}
return j + x;
}
}
输出结果是什么?
A. value = 3 B. value = 4 C. value = 5 D. value = 6 E. value = 7 F. value = 8
4. 在接口中以下哪条定义是正确的? (多选)
A. void methoda();
B. public double methoda();
C. public final double methoda();
D. static void methoda(double d1);
E. protected void methoda(double d1);
5. 如下代码:
public void test(int x) {
int odd = x%2;
if (odd) {
System.out.println("odd);
} else {
System.out.println("even");
}
}
哪个描述正确?
A. 编译失败. B. "odd" 永远被输出. C. "even" 永远被输出
D. "odd" 输出x的值, E. "even" 输出x的值
6. 如下代码:
public class X {
public X aMethod() { return this;}
}
public class Y extends X {}
哪些方法能加到Y类的定义中?
A. public void aMethod() {} B. private void aMethod() {}
C. public void aMethod(String s) {} D. private Y aMethod() { return null; }
E. public X aMethod() { return new Y(); }
7. 如下代码:
public class X {
public static void main(String [] args) {
try {
badMethod();
System.out.print("A");
}catch (Exception ex) {
System.out.print("C");
}finally {
System.out.print("B");
}
System.out.print("D");
}
public static void badMethod() {
throw new Error();
}
}
结果是什么?
A. ABCD B. 编译失败. C. 显示C,退出程序.
D. 显示B,退出程序. E. 显示BCD,退出程序.
8. 如下代码:
public class Foo {
public static void main(String[] args) {
try {
return;
} finally {
System.out.println( "Finally" );
}
}
}
输出结果是什么?
A. Finally B.编译失败 C. 代码正常运行但没有任何输出. D. 运行时抛出异常
9. 如下代码:
class Base {
Base() { System.out.print("Base"); }
}
public class Alpha extends Base {
public static void main( String[] args ) {
new Alpha();
new Base();
}
}
结果是什么?
A. Base B. BaseBase C. 编译失败. D. 代码运行但没有输出. E. 运行时抛出异常.
10、下面哪个语句是创建数组的正确语句?( )
A . float f[][] = new float[6][6]; B . float []f[] = new float[6][6];
C . float f[][] = new float[][6]; D . float [][]f = new float[6][6];
E . float [][]f = new float[6][];
二、问答题
1、String和StringBuffer的区别
2、MVC的各个部分都有那些技术来实现?如何实现?
3、什么是java序列化,如何实现java序列化?
4、什么是单例模式?写一个单例类。
5、说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法(可在面试时候详述)
三、SQL基础题
1、创建一张学生表,包含以下信息,学号,姓名,年龄,性别,家庭住址,
2、修改学生表的结构,添加一列信息,学历
3、修改学生表的结构,删除一列信息,家庭住址
4、向学生表添加如下信息:
学号 姓名 年龄 性别 学历
1 A 22 男 123456 小学
2 B 21 男 119 中学
3 C 23 男 110 高中
5、修改学生表的数据,将电话号码以11开头的学员的学历改为“大专”
6、删除学生表的数据,姓名以C开头,性别为‘男’的记录删除
四、SQL高级题
说明:有三个表,项目表、合同表、付款表
下面是表结构
项目表(项目编号 int,项目名称 varchar(50))
项目编号 项目名称
1 项目1
2 项目2
3 项目3
合同表(合同编号 int,项目编号 int,合同金额 number(7,3))
合同编号 项目编号 合同金额
1 1 1000
2 1 1500
3 2 2000
付款表(付款编号 int,合同编号 int,付款金额 number(7,3))
付款编号 合同编号 付款金额
1 1 1000
2 2 2000
3 2 800
一个项目可能会有签署多个合同,每个合同会分几次付款,
1、设计一个查询,要求返回结果列出项目所有合同的金额
2、设计一个查询,要求返回结果列出项目所有合同已付款金额
3、请您设计一个查询语句,检索的格式如下
项目编号 项目名称 项目所有合同的金额 项目所有合同已付款金额
1 项目1 2500.000 1100.000
2 项目2 2000.000 NULL
选择题
DDF(CDE)A(CE)DABC
问答题
1、String和StringBuffer的区别
JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。另外,String实现了equals方法,new String(“abc”).equals(newString(“abc”)的结果为true,而StringBuffer没有实现equals方法,所以,new StringBuffer(“abc”).equals(newStringBuffer(“abc”)的结果为false。
2、MVC的各个部分都有那些技术来实现?如何实现?
MVC是Model-View-Controller的简写。Model 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), View 是应用的表示面(由JSP页面产生),Controller 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。
3、什么是java序列化,如何实现java序列化?
序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论