Java基础面试题都有哪些?

Python017

Java基础面试题都有哪些?,第1张

1.java异常机制的原理与应用\x0d\x0a答:每当程序出现异常之后,如果程序没有进行相应的处理,则程序会出现中断现象。\x0d\x0a实际上,产生了异常之后,JVM会抛出一个异常类的实例化对象,如果此时使用了try语句捕获的话,则可以进行异常的处理,否则,交给JVM进行处理。当try语句捕获异常之后,将与catch语句的异常类型进行匹配,如果匹配成功则执行catch内的语句。简单的应用:在所以throws语句的地方加入try-catch。标准应用:try-catch-finally-throw-throws一起使用。 \x0d\x0a\x0d\x0a2. 垃圾回收机制的优点\x0d\x0a答:释放无用的对象所占用的空间。方式:自动回收,手动回收。使用System.gc(),实际上调用Runtime.getRuntime().gc()\x0d\x0a\x0d\x0a3. Error与Exception区别\x0d\x0a答:Error是jvm进行处理,是jvm出错\x0d\x0aexception是可以由程序处理的,可以用try-catch捕获的\x0d\x0a\x0d\x0a4. final,finally,finallize\x0d\x0a答:final定义的变量的值不能改变,定义的方法不能被覆盖,定义的类不能被继承\x0d\x0afinally是异常的统一出口,finallize是垃圾回收前的收尾工作,是Object类定义的\x0d\x0a\x0d\x0a5. Anonymous Inner Class是否可以extends,是否可以implements Interface\x0d\x0a答:允许继承和实现,因为匿名内部类就是在抽象类和接口的基础上发展起来的\x0d\x0a\x0d\x0a6. Static Nested Class 与Inner Class的区别\x0d\x0a答:使用Static定义的Class就是外部类,可以通过外部类. 内部类直接访问\x0d\x0a而Inner Class是不能被外部访问的,只能通过外部类的实例再找到内部类实例。\x0d\x0a\x0d\x0a7. HashMap and HashTable?\x0d\x0a答:HashMap:1) released in jdk 1.2,new Class 2)采用异步处理方式,性能较高,是非线程安全的 3)允许null\x0d\x0aHashTable:\x0d\x0a1)released in jdk 1.0 ,old Class \x0d\x0a2)采用同步处理方式,性能低,是线程安全的\x0d\x0a3)不允许null\x0d\x0a\x0d\x0a8. assert代表什么?\x0d\x0a答:asserts是jdk 1.4之后发布的新关键字,表示断言,即程序执行到某个地方肯定是预计的值,一般开发很少使用。要使用assert,必须加上 -ea参数\x0d\x0a\x0d\x0a9. gc是什么?\x0d\x0a答:gc是garbage collection,垃圾回收,使用gc可以进行垃圾空间的释放\x0d\x0a\x0d\x0a10. String s = new String("xyz")产生了几个对象?\x0d\x0a答:一个匿名对象xyz,在栈空间内。一个new实例化的对象,在堆空间内。\x0d\x0a\x0d\x0a11. sleep() and wait()?\x0d\x0a答:sleep()是Thread类定义方法,表示线程的休眠,可以自动唤醒\x0d\x0await()方法是Object类定义的方法,需要手动notify()和notifyAll()//sleep()不释放资源,wait()释放资源\x0d\x0a\x0d\x0a12. Overload与Override的区别\x0d\x0a答:Overload:重载\x0d\x0a |- 在一个类中定义的若干方法\x0d\x0a |- 所有的方法名相同,但参数类型或个数不同\x0d\x0a |- 只有参数有关,与返回类型无关\x0d\x0aOverride:覆写\x0d\x0a |- 在继承的关系中\x0d\x0a |- 子类定义了父类同名的方法,参数类型或个数最好完全一样。\x0d\x0a |- 访问权限不能更严格\x0d\x0a\x0d\x0a13. abstract class 和 interface有什么区别?\x0d\x0a答:抽象类:\x0d\x0a |-由抽象方法和常量、变量、全局常量、构造方法、普通方法组成\x0d\x0a |-使用abstract声明\x0d\x0a |-子类要通过extends继承抽象类,子类如果不是抽象类,则必须覆写抽象类的全部抽象方法\x0d\x0a |-存在单继承的局限\x0d\x0a |-抽象类可以实现若干个接口\x0d\x0a接口:\x0d\x0a |-由抽象方法和全局常量组成\x0d\x0a |-使用interface关键字\x0d\x0a |-子类要通过implements实现接口,子类如果不是抽象类,则必须覆写抽象类的全部抽象方法\x0d\x0a |-一个子类可以实现多个接口\x0d\x0a |-接口不能继承一个抽象类,但允许继承多个接口

1、请你自我介绍一下你自己?

回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有。其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。

企业很重视一个人的礼貌,求职者要尊重考官,在回答每个问题之后都说一句“谢谢”,企业喜欢有礼貌的求职者。

2、你觉得你个性上最大的优点是什么?

回答提示:沉着冷静、条理清楚、立场坚定、顽强向上、乐于助人和关心他人、适应能力和幽默感、乐观和友爱。我在北大青鸟经过一到两年的培训及项目实战,加上实习工作,使我适合这份工作。

3、说说你最大的缺点?

回答提示:这个问题企业问的概率很大,通常不希望听到直接回答的缺点是什么等,如果求职者说自己小心眼、爱忌妒人、非常懒、脾气大、工作效率低,企业肯定不会录用你。绝对不要自作聪明地回答“我最大的缺点是过于追求完美”,有的人以为这样回答会显得自己比较出色,但事实上,他已经岌岌可危了。

企业喜欢求职者从自己的优点说起,中间加一些小缺点,最后再把问题转回到优点上,突出优点的部分,企业喜欢聪明的求职者。

4、你对加班的看法?

回答提示:实际上好多公司问这个问题,并不证明一定要加班,只是想测试你是否愿意为公司奉献。

回答样本:如果是工作需要我会义不容辞加班,我现在单身,没有任何家庭负担,可以全身心的投入工作。但同时,我也会提高工作效率,减少不必要的加班。

5、你对薪资的要求?

回答提示:如果你对薪酬的要求太低,那显然贬低自己的能力;如果你对薪酬的要求太高,那又会显得你分量过重,公司受用不起。

一些雇主通常都事先对求聘的职位定下开支预算,因而他们第一次提出的价钱往往是他们所能给予的最高价钱,他们问你只不过想证实一下这笔钱是否足以引起你对该工作的兴趣。

一、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。

.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的五个成熟度等级。