以下皆为最近了解到的华为,金蝶,阿里软件的一些笔试题,分享如下,请各人也考考自己
1.接口中方法的前面有哪些修饰符2.以下哪个为真
Interger a = new Interger(9);
Interger b = new Interger(9);
Long c = New Long(9)
-----
A. a==b
B. b==c
C. a.equals(b)
D. b.equals(new Interger(9))
3.以下哪两个方法可以加到three中
class one{
public one foo(){return this;}
} class two extends one{
public one foo(){return this;}
}
class three extends two{
//插入到这
}
---
A. public void foo(){}
B. public int foo(){return 1;}
C. public one foo(){return this;}
d. public two foo(){return this;}
e. public object foo(){return this;}
4.以下哪些为true
class a{}
class b extends a{}
class c extends a{}
a p0=new a();
b p1=new b();
c p2=new c(); a p3=new b();
a p4=new c();
----
A. p1 = (b)p2
B. p3 = (a)p4
C. p3 = (b)p4
d. p0 = (a)p15. 以下有无问题
abstract class a{
public void fo(){ system.out.println("a");}
} 6. 以下有无问题
abstract class b{
static void f1(){ system.out.println("f1");}
public static void main(String[] args){
b b1=new b();
b1.f1();
}
}
7. 以下代码运行结果是 try{
//此行会抛出NullPointedException
}
catch(NullPointedExecption e){
System.out.print("1")
}
catch(RuntimeExection e){
System.out.print("2")
}
finally{
System.out.print("3")
}
A. 1
B. 12
C. 123
d. 13
e. 23
8. 以下代码有什么问题,如何该
class a{
private int a=1;
public f(int b){return a}
} class b extends a{
public void f1(){}
public void f2(){ return a }
}
9.以下代码有问题吗
class a{
void f(){ system.out.println("f");}
public static void main(String[] args){
new a().f();
}
}
10. 以下程式运行时,可能产生的结果是什么
class a extends thread{
public void run{
System.out.print("a");
throw new runtimeExecetion("break")
}
}
class b{
public static void main(String[] args){
a a1 =new a();
system.out.println("b")
}
} 11. 如何优化以下程式的效率,为什么?
for(int i=0; i<10000;i++){
for(int j=0; j<100;j++){
for(int k=0; k<10;k++){
System.out.print("out");
}
}
}
12.为什么io,socket等一些对象所占的资源,垃圾回收器不能回收?
13.多线程有集中实现同步的方式,是什么?
14.事务acid的含义
15.谈谈你对web MVC的理解,其优缺点
16.谈谈你对javaEE框架的(spring/ejb)的理解,并列举其优缺点
17.画出代理模式的结构图,并简要说明其每个角色
18.设计模式的原则有哪些
19.has a 和 is a的区别
20.类图中的聚合和依赖的区别
21.说说java本身的性能优化
21.谈谈hibernate的延时加载机制,其会导致什么问题
还有甚多,有点事,会尽快更新
1.接口中方法的前面有哪些修饰符2.以下哪个为真
Interger a = new Interger(9);
Interger b = new Interger(9);
Long c = New Long(9)
-----
A. a==b
B. b==c
C. a.equals(b)
D. b.equals(new Interger(9))
3.以下哪两个方法可以加到three中
class one{
public one foo(){return this;}
} class two extends one{
public one foo(){return this;}
}
class three extends two{
//插入到这
}
---
A. public void foo(){}
B. public int foo(){return 1;}
C. public one foo(){return this;}
d. public two foo(){return this;}
e. public object foo(){return this;}
4.以下哪些为true
class a{}
class b extends a{}
class c extends a{}
a p0=new a();
b p1=new b();
c p2=new c(); a p3=new b();
a p4=new c();
----
A. p1 = (b)p2
B. p3 = (a)p4
C. p3 = (b)p4
d. p0 = (a)p15. 以下有无问题
abstract class a{
public void fo(){ system.out.println("a");}
} 6. 以下有无问题
abstract class b{
static void f1(){ system.out.println("f1");}
public static void main(String[] args){
b b1=new b();
b1.f1();
}
}
7. 以下代码运行结果是 try{
//此行会抛出NullPointedException
}
catch(NullPointedExecption e){
System.out.print("1")
}
catch(RuntimeExection e){
System.out.print("2")
}
finally{
System.out.print("3")
}
A. 1
B. 12
C. 123
d. 13
e. 23
8. 以下代码有什么问题,如何该
class a{
private int a=1;
public f(int b){return a}
} class b extends a{
public void f1(){}
public void f2(){ return a }
}
9.以下代码有问题吗
class a{
void f(){ system.out.println("f");}
public static void main(String[] args){
new a().f();
}
}
10. 以下程式运行时,可能产生的结果是什么
class a extends thread{
public void run{
System.out.print("a");
throw new runtimeExecetion("break")
}
}
class b{
public static void main(String[] args){
a a1 =new a();
system.out.println("b")
}
} 11. 如何优化以下程式的效率,为什么?
for(int i=0; i<10000;i++){
for(int j=0; j<100;j++){
for(int k=0; k<10;k++){
System.out.print("out");
}
}
}
12.为什么io,socket等一些对象所占的资源,垃圾回收器不能回收?
13.多线程有集中实现同步的方式,是什么?
14.事务acid的含义
15.谈谈你对web MVC的理解,其优缺点
16.谈谈你对javaEE框架的(spring/ejb)的理解,并列举其优缺点
17.画出代理模式的结构图,并简要说明其每个角色
18.设计模式的原则有哪些
19.has a 和 is a的区别
20.类图中的聚合和依赖的区别
21.说说java本身的性能优化
21.谈谈hibernate的延时加载机制,其会导致什么问题
还有甚多,有点事,会尽快更新
可以肯定的是 private 是不行的。
2.以下哪个为真
Interger a = new Interger(9);
Interger b = new Interger(9);
Long c = New Long(9)
-----
A. a==b
B. b==c
C. a.equals(b)
D. b.equals(new Interger(9))B. 无法编译通过, 不可比较的类型
a==b false
a.equals(b) true
b.equals(new Interger(9)) true
正确答案 C、D3.以下哪两个方法可以加到three中
class one{
public one foo(){return this;}
} class two extends one{
public one foo(){return this;}
}
class three extends two{
//插入到这
}
---
A. public void foo(){}
B. public int foo(){return 1;}
C. public one foo(){return this;}
d. public two foo(){return this;}
e. public object foo(){return this;}
A TestSystemIn.java:58: three 中的 foo() 无法覆盖 two 中的 foo();正在尝试使用不兼容的返回类型
找到: void
需要: one
同理 B也不行; C肯定是可以的; D也可以。 E 不行;
正确答案 C、D (这个在 异常处理系统里有用到, 子类不能抛出比父类还广的异常, 只能抛出父类异常的子异常)
有点工作 处理下先~~ 呵呵
期待高手贴出正确答案
2.C
3.CD
5.抽象类至少含有1个抽象方法
6.同5
7.D
8.a语义不明确
9.没问题
10.b
Java试题(二)一、 选择1.MAX_LENGTH是int型public成员变量, 变量值保持为常量100,用简短语句定义这个变量。 A public int MAX_LENGTH=100; B final int MAX_LENGTH=100; C final public int MAX_LENGTH=100; D public final int MAX_LENGTH=100. 2.给出下面代码:
1) class Parent {
2) private String name;
3) public Parent(){}
4) }
5) public class Child extends Parent {
6) private String department;
7) public Child() {}
8) public String getValue(){ return name; }
9) public static void main(String arg[]) {
10) Parent p = new Parent();
11) }
12) }
那些行将引起错误?
A 第3行 B 第6行 C 第7行 D 第8行3.类Teacher和Student是类Person的子类;
Person p;
Teacher t;
Student s;
//p, t and s are all non-null.
if(t instanceof Person) { s = (Student)t; }
最后一句语句的结果是: A 将构造一个Student对象; B 表达式是合法的; C 表达式是错误的; D 编译时正确,但运行时错误。 4.给出下面代码段
1) public class Test {
2) int m, n;
3) public Test() {}
4) public Test(int a) { m=a; }
5) public static void main(String arg[]) {
6) Test t1,t2;
7) int j,k;
8) j=0; k=0;
9) t1=new Test();
10) t2=new Test(j,k);
11) }
12) }
哪行将引起一个编译时错误? A line 3 B line 5 C line 6 D line 10 5.对于下列代码:
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();
10) t.printValue(10);
11) }
第10行语句将调用哪行语句?? A line 2 B line 3 C line 6 D line 76.哪个关键字可以抛出异常? A transient B finally C throw D static 7.Main()方法的返回类型是: A int B void C boolean D static 8.System类在哪个包中? A java.util B java.io C java.awt D java.lang9.对于下列代码:
public class Parent {
public int addValue( int a, int b) {
int s;
s = a+b;
return s;
}
}
class Child extends Parent {
}
下述哪些方法可以加入类Child? A int addValue( int a, int b ){// do something...} B public void addValue (int a, int b ){// do something...} C public int addValue( int a ){// do something...} D public int addValue( int a, int b )throws MyException {//do something...} 10.给出下面代码:
public class test{
static int a[] = new a[10];
public static void main(String args[]) {
System.out.println(arr[10]);
}
}
那个选项是正确的? A 编译时将产生错误; B 编译时正确,运行时将产生错误; C 输出零; D 输出空。 11.下面哪些选项是正确的main方法说明? A public main(String args[]) B public static void main(String args[]) C private static void main(String args[]) D void main()
二、多项选择1.下面哪些代码段是正确的Java源程序? A. package testpackage;
public class Test{//do something...}
B. import java.io.*;
package testpackage;
public class Test{// do something...}
C. import java.io.*;
class Person{// do something...}
public class Test{// do something...}
D. import java.io.*;
import java.awt.*;
public class Test{// do something...}2. public class parent {
int change() {}
}
class Child extends Parent { }
哪些方法可加入类Child中? A public int change(){} B int chang(int i){} C private int change(){} D abstract int chang(){} 3. String s = "hello";
String t = "hello";
char c[] = {'h','e','l','l','o'} ;
下列哪些表达式返回true? A s.equals(t); B t.equals(c); C s==t; D t.equals(new String("hello")); 4.给出下面代码段:
1) switch(m)
2) { case 0: System.out.println("case 0");
3) case 1: System.out.println("case 1"); break;
4) case 2:
5) default: System.out.println("default");
6) }
下列m的哪些值将引起"default"的输出? A 0 B 1 C 2 D 3 5.下列哪些说法是正确的? A Java 语言只允许单一继承 B Java 语言只允许实现一个接口 C Java 语言不允许同时继承一个类并实现一个接口 D Java 语言的单一继承使得代码更加可靠 6.下列关于"<<"和">>"的运算,哪些是正确的? A 0000 0100 0000 0000 0000 0000 0000 0000<<5 的运行结果是 1000 0000 0000 0000 0000 0000 0000 0000 B 0000 0100 0000 0000 0000 0000 0000 0000<<5的运行结果是 1111 1100 0000 0000 0000 0000 0000 0000 C 1100 0000 0000 0000 0000 0000 0000 0000>>5的运行结果是 1111 1110 0000 0000 0000 0000 0000 0000 D 1100 0000 0000 0000 0000 0000 0000 0000>>5的运行结果是 0000 0110 0000 0000 0000 0000 0000 0000 7.下述哪些说法是正确的? A 实例变量是类的成员变量 B 实例变量是用static关键字声明的 C 方法变量在方法执行时创建 D 方法变量在使用之前必须初始化 8.对于下列代码:
public class Sample{
long length;
public Sample(long l){ length = l; }
public static void main(String arg[]){
Sample s1, s2, s3;
s1 = new Sample(21L);
s2 = new Sample(21L);
s3 = s2;
long m = 21L;
}
}
下列哪些表达式返回值为'true'? A s1 = = s2; B s2 = = s3; C m = = s1; D s1.equals(m)9.下面说法哪些是正确的? A Applet可以访问本地文件 B 对static方法的调用不需要类实例 C socket类在java.lang中 D 127.0.0.1地址代表本机 10.下列说法正确的是: A java语言里的线程是没有优先级的 B String类在java.lang包中 C java语言支持类的序列化 D 能序列化的类必须实现java.io.Serializable接口11.关于awt和swing说法正确的是: A awt在不同操作系统中显示相同的风格。 B swing在不同的操作系统中显示相同的风格 C java.awt的子类 D awt和swing都支持事件模型 12.关于Float,下列说法正确的是 A Float是一个类 B Float在java.lang包中 C Float a=1.0是正确的赋值方法 D Float a= new Float(1.0)是正确的赋值方法 13.下述哪些说法是正确的? A java语言中的类只能有一个构造函数 B 程序员可以自己定义自己的异常 C java语言允许多继承 D socket在java.net包中14.下列哪些说法是正确的? A IOException必须被捕获或抛出 B java语言会自动初始化变量的值 C java 语言不允许同时继承一个类并实现一个接口 D java语言会自动回收内存中的垃圾
三、 填空题1.Collection的 四种主要接口是 、 、 、 2. 运行下列程序第 行出错。
1.class Outer{
2.private int size=5;
3.public Object makeInner(final int finalLocalVar){
4.int LocalVar=6;
5.class Inner{
6.public String toString(){
7.return ("#<Inner size="+size+/*" localVar="+localVar+" finalLocalVar ="+finalLocalVar + ">"); } }}
8.return new Inner(); }
9. }
10. public class OuterTest{
11. public static void main(String[] args){
12. Outer outer=new Outer ();
13. Object obj=outer.makeInner(56);
14. System.out.println("The object is "+obj.toString()); } } 3. 下列代码不能编译的原因是
Class A{
Private int x;
Public static void main(String args[])
{
new B();
}
class B{
B(){System.out.println(x);
}
}
} 四、 编程题1. 构造一个类来描述屏幕上的一个点,该类的构成包括点的x和y两个坐标,以及一些对点进行的操作,包括:取得点的坐标值,对点的坐标进行赋值,编写应用程序生成该类的对象并对其进行操作。
2. 编写一个应用程序,完成文件的拷贝功能,文件名从命令行得到。
3. 利用所学的Java语言知识,完成一个实现秒表功能的Applet程序。它的GUI界面如下所示: 利用所学的Java语言知识,完成一个实现秒表功能的Applet程序。它的GUI界面如下所示:
要求该程序能够完成以下功能:
(1) 在界面上方的文本框中,按照"小时:分钟:秒"的顺序实时显示系统时间;
(2) 当按下界面中间的"Current Time:"按钮时,当前系统时间能够在界面下方的文本框中显示出来。
提示:可以通过调用java.util.Data类的方法,获得系统时间。Data类的接口如下所示,
public class Date {
// 返回当前系统时间的小时值
public String getHours( ) { …}
// 返回当前系统时间的分钟值
public String getMintues( ) { … }
// 返回当前系统时间的秒钟值
public String getSeconds( ) { …}
…
}
Java试题(三)一、 选择1.给定下面的代码片段:
1) String str = null;
2) if ((str != null) && (str.length() > 10)) {
3) System.out.println("more than 10");
4) }
5) else if ((str != null) & (str.length() < 5)) {
6) System.out.println("less than 5");
7) }
8) else { System.out.println("end"); }
哪些行会导致错误? A line 1 B line 2 C line 5 D line 8 2.下面哪种注释方法能够支持javadoc命令: A /**...**/ B /*...*/ C // D /**...*/ 3. 欲编写如下图的一个界面,用于显示用户指定的图像: 如果在区域A中只能放置一个AWT组件,从各组件的本来功能角度考虑,最好使用哪种组件: A TextArea B Panel C Applet D Canvas 4. 界面如上题所示。若"Button1"的功能是:点击后弹出一个用于输入的界面,获取用户想要显示的图像文件名,则该界面最好是(从编程简单和程序不易出错的角度考虑):
A 模式(Modal)Dialog
B 非模式(None-modal)Dialog
C FileDialog
D Frame 5. 界面如上题所示。如果在A区域使用某种AWT组件(java.awt.Component的子类)来负责绘制图像,则绘图的语句最好应放在该组件的哪个方法中(考虑到应用程序和Java虚拟机的AWT线程都会要求重画该组件)? A 构造方法 B paint(Graphics g) C update(Graphics g) D repaint() 6.下面关于Applet的说法正确的是 A Applet也需要main方法 B Applet必须继承自java.awt.Applet C Applet能访问本地文件 D Applet程序不需要编译 7.看下面一段程序:
class Aclass{
void go(){
System.out.println("Aclass");
}
}
public class Bclass extends Aclass{
void go{
System.out.println("Bclass");
}
public static void main(String args[]){
Aclass a=new Aclass();
Aclass a1=new Bclass();
a.go();
a1.go();
}
以上程序运行结果是: A Aclass
Aclass B Bclass
Bclass C Aclass
Bclass D Bclass
Aclass 8.下列关于Java线程的说法那些是正确的() A 每一个Java线程可以看成由代码、一个真实的CPU以及数据三部份组成。 B 创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题。 C Thread类属于java.util程序包。 D 以上说法无一正确。 9.看以下程序:
boolean a=false;
boolean b=true;
boolean c=(a&&b)&&(!b);
int result=c==false?1:2;
这段程序执行完后,c与result的值是: A c=false;result=1; B c=true;result=2; C c=true;result=1; D c=false;result=2; 10.运行下列程序, 会产生什么结果
public class X extends Thread implements Runable{
public void run(){
System.out.println("this is run()");
}
public static void main(String args[])
{
Thread t=new Thread(new X());
t.start();
}
} A 第一行会产生编译错误 B 第六行会产生编译错误 C 第六行会产生运行错误 D 程序会运行和启动 11.指出下列程序的运行结果
int i = 9;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
case 2:
System.out.println("two");
} A default B default, zero C error default clause not defined D no output displayed那个 12.运行下列程序,会产生什么结果:
class Outer1{
private int a;
void foo(double d,final float f){
String s;
final boolean b;
class Inner{
void methodInner(){
System.out.println("in the Inner");
}
}
}
public static void main(String args[])
{
Outer1 me=new Outer1();
me.foo(123,123);
System.out.println("outer");
}
} A in the Inner outer B outer C in the Inner D 编译不通过
二、多项选择1.下面哪些标识符在Java语言中是合法的? A persons$ B TwoUsers C *point D instanceof F.end-line 2.下面哪些代码片段会产生编译错误? 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 = s.toUpperCase(); D String s = "home directory"; String t = s - "directory". 3.下面哪些赋值语句是错误的? A float f = 11.1; B double d = 5.3E12; C char c = '\r'; D byte bb = 433; E Boolean b=true; 4.给定下面的代码片段:
public void Test() {
try {
method();
System.out.println("Hello World");
}
catch (ArrayIndexOutOfBoundsException e)
{
System.out.println("Exception?");
}
catch(Exception e)
{
System.out.println("Exception1");
}
finally{
System.out.println("Thank you!");
}
}
如果函数method正常运行并返回,会显示下面的哪些信息? A Hello World B Exception C Exception1 D Thank you! 5.下列哪些语句是正确的? A int a[][]=new int[][3]; B int a[][]={{1,3},{2,3,4},{1,2}}; C String s[][]=new String[2][]; D String s[][]={{"can","I"},{"help","you"}} 6.下面哪些语句能够正确地生成5个空字符串? A String a [] = new String [5]; for (int i = 0; i < 5; a[i++] = ""); B String a [] = {"", "", "", "", ""}; C String a [5]; D String [5] a; E String [] a = new String [5]; for (int i = 0; i < 5; a[i++] = null); 7.下面关于Java代码安全的说法哪些是正确的? A 程序执行过程中需要的所有类都是通过字节码校验程序装入的。 B 代码的运行是由Java运行环境中的解释器完成的。 C 在运行时,字节码要经过装入,校验之后,才能在解释器中执行。 D 在缺省的安全配置条件下,Java Applet不能访问任何本地资源。 8.下列方法属于java.lang.Math类的有(方法名相同即可): A random() B abs() C sqrt() D sin() 9.下列表达式哪些是正确的: A byte=340; B Boolean=1; C long l=-2; D double=0.9239d; 10.下面的说法正确的是: A Java语言里的线程不是对象 B Applet不需要main方法 C Java语言的对象都是java.lang.Object的子类 D double是Java语言的合法标识符 11.下面的Java语句错误的是: A Double a=1.0; B double a=1.0; C out.println("hello"); D DatagramSocket a = new DatagramSocket() 三、 填空题1. Java中类成员的限定词有以下几种:private, public, , 。其中, 的限定的范围最大。2. Java中所有类都是类 的子类。3. 请填出在java.lang包中与下列基本数据类型相对应的封装类: float:java.lang.Float, char: , boolean: 。 4. 请写出下面程序的运行结果。
public class Test extends TT{
public void main(String args[]){
Test t = new Test("Tom");
}
public Test(String s){
super(s);
System.out.println("How do you do?");
}
public Test(){
this("I am Tom");
}
}
class TT{
public TT(){
System.out.println("What a pleasure!");
}
public TT(String s){
this();
System.out.println("I am "+s);
}
}
结果: 5. 给定下面的未完成的代码片断:
public class Example{
int x,y;
public Example(int a){
…
x = a;
}
public Example(int a, int b){
//和上面一个参数的构造方法做同样的操作,包括赋值
x=a y = b;
}
}
如果要用最简捷的一行代码实现"//和上面一个参数的…"注释所指出的功能,请写出你认为最合适的一行代码: 6. 如果有一个类MyFrame是Frame的子类,能够被不同包中的类所使用,同时又能够为线程提供运行代码(run()方法),请写出该类的声明头。 你的解答: 四、 编程题1. 编写一个程序用选择法对数组a[]={20,10,50,40,30,70,60,80,90,100}进行由大到小的排序。
2. 使用socket编写一个服务器端程序,服务器端程序在端口8888监听,如果它接到客户端发来的"hello"请求时会回应一个"hello",对客户端的其他请求不响应。
3. 编写一个应用程序,创建三个线程分别显示各自的时间。
4. 编写一个计算器程序,只有加减乘除功能,当作applet运行。
五、 程序填空题: 1. 在空白处填上合适的语句。
public class ServerTimedOutException extends Exception {
private int port;
public ServerTimedOutException(String message, int port) {
super(message);
this.port = port;
}
public int getPort() {
return port;
}
}
class Client{
//在下行空白出填上声明抛弃ServerTimedOutException例外的语句
public void connectMe(String serverName)
{
int success;
int portToConnect = 80;
success = open(serverName, portToConnect);
if (success == -1) {
/*在下行空白处填上抛出ServerTimedOutException例外的语句*/
}
}
}
6~10:没问题、d、
public f(int b){return a} =>public 返回类型 f(int b){return a}
没问题、b
这个题,我在网上看的答案都大多都是A,网上解析:Java提供FileInputStream是将文件作为流的方式读取,它是按照文件的顺序从0位置开始进行读取,RandomAccessFile是随机读取数据,读取的位置不一定是从0开始,可以使用skip(n)方法来跳过n个字符,通过readByte()读取一个字符,通过read()可以读取输入流中的一个字符。
但是,老师今天刚讲了,答案是D。
我还是觉得是A