以下皆为最近了解到的华为,金蝶,阿里软件的一些笔试题,分享如下,请各人也考考自己
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.   

    方法的前面修饰符 :public
      

  2.   

    1.接口中方法的前面有哪些修饰符
    可以肯定的是  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 (这个在 异常处理系统里有用到, 子类不能抛出比父类还广的异常, 只能抛出父类异常的子异常)
    有点工作 处理下先~~ 呵呵
    期待高手贴出正确答案
      

  3.   

    我正收集这个呢。老紫竹CSDN论坛插件发布-竹签V1.0 
      

  4.   

    1.[public] interface 
    2.C
    3.CD
    5.抽象类至少含有1个抽象方法
    6.同5
    7.D
    8.a语义不明确
    9.没问题
    10.b
      

  5.   


    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( ) { …}
       …
       } 
      

  6.   


    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例外的语句*/ 
            
          } 
        } 
      }    
      

  7.   

    1~5:public  abstract、c、ce、d、没问题
    6~10:没问题、d、
    public f(int b){return a} =>public 返回类型 f(int b){return a} 
    没问题、b
      

  8.   

    6.要从文件" file.dat"文件中读出第10个字节到变量C中,下列哪个方法适合?   A FileInputStream in=new FileInputStream("file.dat"); in.skip(9); int c=in.read();   B FileInputStream in=new FileInputStream("file.dat"); in.skip(10); int c=in.read();   C FileInputStream in=new FileInputStream("file.dat"); int c=in.read();   D RandomAccessFile in=new RandomAccessFile("file.dat"); in.skip(9); int c=in.readByte(); 
    这个题,我在网上看的答案都大多都是A,网上解析:Java提供FileInputStream是将文件作为流的方式读取,它是按照文件的顺序从0位置开始进行读取,RandomAccessFile是随机读取数据,读取的位置不一定是从0开始,可以使用skip(n)方法来跳过n个字符,通过readByte()读取一个字符,通过read()可以读取输入流中的一个字符。
    但是,老师今天刚讲了,答案是D。
    我还是觉得是A