java面试题集锦quan

来源:百度文库 编辑:神马文学网 时间:2024/04/29 05:46:06
一、Java基础知识

1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。

2.字符串的操作:

  写一个方法,实现字符串的反转,如:输入abc,输出cba

  写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。

3.数据类型之间的转换

  如何将数值型字符转换为数字(Integer,Double)

  如何将数字转换为字符

  如何取小数点前两位,并四舍五入。

4.日期和时间

  如何取得年月日,小时分秒

  如何取得从1970年到现在的毫秒数

  如何获取某个日期是当月的最后一天

  如何格式化日期

5.数组和集合

6.文件和目录(I/O)操作

  如何列出某个目录下的所有文件

  如何列出某个目录下的所有子目录

  判断一个文件或目录是否存在

  如何读写文件

7.Java多态的实现(继承、重载、覆盖)

8.编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。

9.Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。

10.找出下列代码可能存在的错误,并说明原因:

 

二、JSP&Servlet技术

1.描述JSP和Servlet的区别、共同点、各自应用的范围

2.在Web开发中需要处理HTML标记时,应做什么样的处理,要筛选那些字符(< > & “”)

3.在JSP中如何读取客户端的请求,如何访问CGI变量,如何确定某个Jsp文件的真实路径。

4.描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理。

5.列出Jsp中包含外部文件的方式,两者有何区别。

6.说明Jsp中errorPage的作用,应用范围。

7.介绍在Jsp中如何使用JavaBeans。

8.简单介绍JSP的标记库

9.Jsp和Servlet中的请求转发分别如何实现。

 

三、J2EE相关知识

1.介绍J2EE、J2SE、J2SE的区别。

2.J2EE是一种技术还是一种平台,他提供了那些技术。

3.什么是Application Server,它有什么功能和优点。

4.简单介绍连接池的优点和原理。

5.Web.xml的作用

 

四、其他

1.Web安全性的考虑(表单验证、浏览器Basic方式的验证,应用程序的安全性,SSL,代码考虑)

2.简单介绍您所了解的MVC。

3.简单介绍所了解的XML。

4.文档和编码规范

5.Java中的分页、效率考虑。

6.简单介绍您所了解的structs。

 

 


 

 

 

1.xml在项目中的作用

2.s-EJB 与 e-EJB的区别

3.会话面的作用

4.cmp与bmp的优缺点

5.j2me程序的必需的几个部分

6.c/s与b/s的区别

7.构建一个connect pool,然后再调用它,

8.j2ee平台与dotnet平台的区别

 

9.ejb的life cycle

10.session bean 和 entity bean的区别

11.ejb中的transaction机制

12.synchronized (生产者和消费)

13.String 和 StringBuffer

14.Serializable

15.MVC (Struts的工作流程)

16.什么是MDA

 

17.tcp与udp的区别

18.链表与散列表和数组的区别

19.堆和栈的区别

20.ejb的分类及区别

21.你对现在软件业以及国内软件业的看法

22.谈谈java多线程

23.谈谈文件加密技术

24.软件开发生命周期

25.路由协议种类及特点

26.java的awt和swing组件的GUI设计的关键

27.对于java流的认识

 

28.简单描述一下awt与swing区别。

29.简述java编程中事件处理模式。

30.你编写过applet吗?applet的安全权限如何?试列举java application或者applet中与servlet/jsp通信可以采用的方式。

 

31.简述逻辑操作(如&,|)与条件操作(如&&,||)的区别。

32.简述 Java Server Page 和 Servlet 的联系和区别。

33.简述synchronized和java.util.concurrent.locks.Lock的异同 ?

34.EJB规范规定EJB中禁止的操作有哪些?

35.java除了8种基本类型外,在虚拟机里还有哪一种,有什么作用?

36.除了使用new关键字创建对象意外,试列举另外三种以上创建实例的方式?

37.classloader中,JDK的API、Classpath中的同web-inf中的class加载方式有什么区别?

38.列举三种以上垃圾回收算法,并比较其优缺点?

39.编写代码实现一个线程池

 

40.描述一下JVM加载class文件的原理机制?

41.试举例说明一个典型的垃圾回收算法?

42.请用java写二叉树算法,实现添加数据形成二叉树功能,并以先序的方式打印出来.

43.请写一个java程序实现线程连接池功能?

44.给定一个C语言函数,要求实现在java类中进行调用。

 

45.如何获得数组的长度?

46.访问修饰符“public/private/protected/缺省的修饰符”的使用

47.用关键字final修饰一个类或者方法时,有何意义?

48.掌握类和对象的概念,掌握面向对象编程的本质

49.静态变量和静态方法的意义,如何引用一个类的静态变量或者静态方法?

50.JAVA语言如何进行异常处理,关键字:thorws,throw,try,catch,finally

51.Object类(或者其子类)的finalize()方法在什么情况下被调用?

52.一个“.java”原文件中是否可以包括多个类(不是内部类)?

53.掌握内部类和接口的概念

54.StringTokenizer类的使用

55.数据结构,如何遍历List中的元素?

   如果要按照键值保存或者访问数据,使用什么数据结构?

   要掌握Collection相关的接口和类的使用

56.使用StringBuffer类与String类进行字符串连接时有何区别?

57.调用Thread类的destroy()方法有什么后果?

58.多线程,用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?

59.使用socket建立客户端与服务器的通信的过程

60.JAVA语言国际化应用,Locale类,Unicode

61.描述反射机制的作用

62.如何读写一个文件?

63.在图形界面中,一个按钮如何处理鼠标点击事件?

64.在图形界面中,一个表格,如何实现编辑单元格时弹出下拉框?

65.如何加载图片?

66.什么是模态对话框?

67.阐述MVC的概念

68.GUI布局管理器的使用,FlowLayout,BorderLayout,GridBagLayout

69.如何构造一棵树?选择树的一个节点时,如何得到这个节点?

70.向编辑框中输入字符时,如何控制只输入整数?

71.描述使用JDBC连接数据库的过程

72.EJB分为几类?什么是BMP,CMP?

73.什么是JNDI?

 

74.ADO是什么?ActiveX数据对象,是一个应用级程序接口.

75.四种JDBC方式?目前的版本?

76.EJB有哪几种?区别是什么?

77.JavaBean与EJB有什么区别?

78.软件开发生命周期有哪几个阶段?

79.软件开发有哪些因素?

80.软件开发中如何进行版本控制?

81.UML中,类视图如何表示类中的继承与聚合?

82.客户端游标与服务器端游标的区别?

83.动态游标与静态游标的区别?

84.dotnet由哪几个基本框架组成?

85.Oracle中SGA是什么?

86.web servers是什么?

87.UNIX中QT是什么意思?

88.在软件开发生命周期中的哪个阶段开始测试?

89.dotnet与J2EE的比较?

90.什么是ActiveX?

91.Java中IDL是什么?

92.ISO9000和CMM是什么?IS09000和CMM(软件能力成熟度模型)认证是国际上通用的软件质量评估方法.CMM的五个成熟度等级。


1.现在输入n个数字,以逗号,分开;

  然后可选择升或者降序排序;

  按提交键就在另一页面显示

  按什么 排序,结果为,  ,

  提供reset

 

 

2.请你写一段函数,将一个文本文件a.txt的内容以倒序的方式输出一遍,输出后的文件名仍为a.txt,并且当中不允许生成其它文件。(限用JAVA语言)

 

 

3.public class Ctest{

public  static void main (String [] args)

{

System.out.println(6 + 6 + "aa"+ 6 + 6);

}

}

输出结果是什么? 禁止上机验证

 

 

4.自选100字的文章

  人工切分成单字和词组(按中文语言规范切分)

  用话筒向计算机读入每句话

  要求计算机按人工拆分的词组,切分出单字、词组和读音

  建立和词字表对应的录音库

 

 

5.编写程序请用(java实现)

  请用冒泡排序或者选择排序实现一个对一列数字的排序:

  {2,10,3,50,78,22,34,30,65}数字是动态输入的.请以类的形式实现.

6.在财务应用中一般会把一串阿拉伯数字组成的金额转换为中文大写的形式,请你用类方法的形式实现这个功能.

 

 

7."我假设是原始社会,有石头,2块石头互磨可以变成石刀,石刀可以去砍木头,木头被砍成木材,木材可以组成椅子,请你用oo的思想把这些事物和他们之间的关系表达出来,但是要考虑到以后可能我会增加以下几点:

"1.有可能我还想让石刀去砍椅子,把椅子砍成木材,2.可能我还想让石头增加关系,例如互相砸,互相摔,而不只是磨,也可以变成石刀,3也许我又要多添一百种不同的事物,再多添120种不同的关系..."

 

 

8.运用VC、CforSCOUNIX、Java工具开发基于简单的设备管理

设备管理的属性如下:

纪录文件名称为:AtmConfig.txt

编号(4字节)IP地址(16字节)安装地址(20字节)联系人(10字节)

1001192.168.168.1北太平庄王一

1002192.168.168.2马甸王二

1003192.168.168.3牡丹园王三

1004192.168.168.4和平里王四

各项纪录之间有空格分开(空格数量不定)

 

程序设计要求:

n登记设备信息:根据从系统界面输入的ATM编号、IP地址、安装地址和联系人,将它们保存到AtmConfig文件中

n设备信息查询:根据输入的ATM编号,从AtmCinfig文件中查询相应的设备信息

n界面可以采用JSP开发、或Swing方式

 

其中:设备编号必须进行校验:4为数字型,IP地址必须按照IP地址的规范进行校验

 

开发环境:

Java。

ATM配置文件表的存放位置:d:\atm\etc\AtmConfig.txt

 

 

9.输出程序运行的结果:

1、

public class Test2 extends Test1

{

    {

        System.out.print("1");

    }

 

    Test2()

    {

        System.out.print("2");

    }

    static

    {

        System.out.print("3");

    }

    {

        System.out.print("4");

    }

    public static void main(String[] args)

    {

        new Test2();

    }

}

class Test1

{

    Test1()

    {

        System.out.print("5");

    }

    static

    {

        System.out.print("6");

    }

}

 

2、

public class Test3 extends Test4

{

    int i=30;

    Test3()

    {

        print();

        i=40;

    }

    public static void main(String[] args)

    {

        System.out.println(new Test3().i);

    }

    void print()

    {

        System.out.println(i);

    }

}

class Test4

{

    int i=10;

 

    Test4()

    {

        print();

        i=20;

    }

    void print()

    {

        System.out.println(i);

    }

}

 

来源:http://javaboy.blogdriver.com/javaboy/424587.html

 

10.下面程序运行会发生什么结果?如果有错误,如何改正? (15分)

interface  A{

  int x = 0;

}

class B{

  int x =1;

}

class C

    extends B implements A {

  public void pX(){

    System.out.println(x);

  }

  public static void main(String[] args) {

    new C().pX();

  }

}

}

 

 

11.考考你的眼力:

public String toString(){

   return this + "@" + this.hashCode();

}

这个toString()方法实现有无不当的地方?(toString方法其实可以按你想输出的任何内容输出一些该类的信息)