`
flylynne
  • 浏览: 373758 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JAVA面试提问

 
阅读更多
How does garbage collection work?
How do you create a thread dump?
How do you profile an application?
What’s new and/or up and coming in the industry?
What are you weaknesses?
What frameworks would you use to develop your dream application?
Which JEE framework do you like the least and why?
When is it a good idea to use IoC?
What languages/platforms other than Enterprise Java have you used recently, and what did you do with them?
Is there a design pattern or language idiom that you think is overused? Why?
When would it be a good idea to use an ORM framework? When would you avoid one?
What techniques have you employed to monitor production systems?
What are the main benefits of using Spring on a project ?
What is AOP ?
How hibernate implements lazy loading ?
What is the second level cache in Hibernate ?
What are the main new features of Java5 ? Same question with Java6 ?
Java程序员和高级程序员面试30题(英语)
* Q1. How could Java classes direct program messages to the system console, but error messages, say to a file?

A. The class System has a variable out that represents the standard output, and the variable err that represents the standard error device. By default, they both point at the system console. This how the standard output could be re-directed:
Stream st = new Stream(new FileOutputStream("output.txt")); System.setErr(st); System.setOut(st);

* Q2. What's the difference between an interface and an abstract class?

A. An abstract class may contain code in method bodies, which is not allowed in an interface. With abstract classes, you have to inherit your class from it and Java does not allow multiple inheritance. On the other hand, you can implement multiple interfaces in your class.

* Q3. Why would you use a synchronized block vs. synchronized method?

A. Synchronized blocks place locks for shorter periods than synchronized methods.

* Q4. Explain the usage of the keyword transient?

A. This keyword indicates that the value of this member variable does not have to be serialized with the object. When the class will be de-serialized, this variable will be initialized with a default value of its data type (i.e. zero for integers).

* Q5. How can you force garbage collection?

A. You can't force GC, but could request it by calling System.gc(). JVM does not guarantee that GC will be started immediately.

* Q6. How do you know if an explicit object casting is needed?

A. If you assign a superclass object to a variable of a subclass's data type, you need to do explicit casting. For example:
Object a; Customer b; b = (Customer) a;

When you assign a subclass to a variable having a supeclass type, the casting is performed automatically.

* Q7. What's the difference between the methods sleep() and wait()

A. The code sleep(1000); puts thread aside for exactly one second. The code wait(1000), causes a wait of up to one second. A thread could stop waiting earlier if it receives the notify() or notifyAll() call. The method wait() is defined in the class Object and the method sleep() is defined in the class Thread.

* Q8. Can you write a Java class that could be used both as an applet as well as an application?

A. Yes. Add a main() method to the applet.

* Q9. What's the difference between constructors and other methods?

A. Constructors must have the same name as the class and can not return a value. They are only called once while regular methods could be called many times.

* Q10. Can you call one constructor from another if a class has multiple constructors

A. Yes. Use this() syntax.

* Q11. Explain the usage of Java packages.

A. This is a way to organize files when a project consists of multiple modules. It also helps resolve naming conflicts when different packages have classes with the same names. Packages access level also allows you to protect data from being used by the non-authorized classes.

* Q12. If a class is located in a package, what do you need to change in the OS environment to be able to use it?

A. You need to add a directory or a jar file that contains the package directories to the CLASSPATH environment variable. Let's say a class Employee belongs to a package com.xyz.hr; and is located in the file c:\dev\com\xyz\hr\Employee.java. In this case, you'd need to add c:\dev to the variable CLASSPATH. If this class contains the method main(), you could test it from a command prompt window as follows:
c:\>java com.xyz.hr.Employee

* Q13. What's the difference between J2SDK 1.5 and J2SDK 5.0?

A.There's no difference, Sun Microsystems just re-branded this version.

* Q14. What would you use to compare two String variables - the operator == or the method equals()?

A. I'd use the method equals() to compare the values of the Strings and the == to check if two variables point at the same instance of a String object.

* Q15. Does it matter in what order catch statements for FileNotFoundException and IOExceptipon are written?

A. Yes, it does. The FileNoFoundException is inherited from the IOException. Exception's subclasses have to be caught first.

* Q16. Can an inner class declared inside of a method access local variables of this method?

A. It's possible if these variables are final.

* Q17. What can go wrong if you replace && with & in the following code:
String a=null; if (a!=null && a.length()>10) {...}
A. A single ampersand here would lead to a NullPointerException.

* Q18. What's the main difference between a Vector and an ArrayList

A. Java Vector class is internally synchronized and ArrayList is not.

* Q19. When should the method invokeLater()be used?

A. This method is used to ensure that Swing components are updated through the event-dispatching thread.
* Q20. How can a subclass call a method or a constructor defined in a superclass?

A. Use the following syntax: super.myMethod(); To call a constructor of the superclass, just write super(); in the first line of the subclass's constructor.
For senior-level developers:
** Q21. What's the difference between a queue and a stack?
A. Stacks works by last-in-first-out rule (LIFO), while queues use the FIFO rule
** Q22. You can create an abstract class that contains only abstract methods. On the other hand, you can create an interface that declares the same methods. So can you use abstract classes instead of interfaces?
A. Sometimes. But your class may be a descendent of another class and in this case the interface is your only option.
** Q23. What comes to mind when you hear about a young generation in Java?
A. Garbage collection.
** Q24. What comes to mind when someone mentions a shallow copy in Java?
A. Object cloning.
** Q25. If you're overriding the method equals() of an object, which other method you might also consider?
A. hashCode()
** Q26. You are planning to do an indexed search in a list of objects. Which of the two Java collections should you use:
ArrayList or LinkedList?
A. ArrayList
** Q27. How would you make a copy of an entire Java object with its state?
A. Have this class implement Cloneable interface and call its method clone().
** Q28. How can you minimize the need of garbage collection and make the memory use more effective?
A. Use object pooling and weak object references.
** Q29. There are two classes: A and B. The class B need to inform a class A when some important event has happened. What Java technique would you use to implement it?
A. If these classes are threads I'd consider notify() or notifyAll(). For regular classes you can use the Observer interface.
** Q30. What access level do you need to specify in the class declaration to ensure that only classes from the same directory can access it?
A. You do not need to specify any access level, and Java will use a default package access level.
分享到:
评论

相关推荐

    java 面试常见问题整理

    Java 泛型了解么?什么是类型擦除?介绍一下常用的通配符? 常用的通配符有哪些? 你的项目中哪里用到了泛型? 反射 何为反射? 反射机制优缺点 反射的应用场景 注解 异常 Exception 和 Error 有什么区别? Checked ...

    java面试常见问题

    Java 面试随着时间的改变而改变。在过去的日子里,当你知道 String 和 StringBuilder 的区别(String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象。因此在每次对 String 类型进行改变的...

    面试常见问题-Java

    Java 面试常见问题 以下是 Java 面试中常见的问题和知识点: 一、基本数据类型和封装类 * Java 中有九种基本数据类型:boolean、byte、char、short、int、long、float、double 和 void * 每种基本数据类型都有...

    Java技术面试常见问题

    从数据结构,到开发设计模式,再到java基础详细讲述java面试常见问题,让你面试轻松过关,并且懂得面试技巧,增加自身基础知识

    Java面试常见问题

    在Java面试中,经常会遇到关于继承、方法重写、访问修饰符以及抽象方法等核心概念的问题。以下是一些典型的面试题及其解析: 1. **继承与方法重写** - 题目:在类A的子类中可以使用哪个选项? - 分析:在Java中,...

    java面试常见问题.docx

    ### Java面试常见问题详解 #### 一、Java基础 **1. Java的主要特性** Java的主要特性包括以下几个方面: - **面向对象**:Java完全支持面向对象编程,包括封装、继承和多态等特性。 - **平台无关性**:Java语言...

    java面试常见问题回顾

    Java面试常见问题涵盖了许多核心概念和技术,这些都是面试官在寻找潜在候选人时经常提出的。下面将对这些关键领域进行深入探讨: 1. **基础语法**:Java的基础语法是面试的起点,包括类、对象、封装、继承、多态等...

    2023黑马面试宝典-Java面试宝典大全-java面试宝典黑马

    Java面试宝典是Java程序员求职面试的重要参考资料,它涵盖了Java编程语言的核心概念、高级特性、设计模式、并发处理、框架应用、数据库交互等多个方面。以下将详细解析这些关键知识点: 1. **Java基础**:面试中,...

    java面试宝典2018版

    《Java面试宝典2018版》是针对Java开发者准备面试的重要参考资料,它涵盖了Java编程语言、Java虚拟机(JVM)、并发编程、框架、设计模式等多个关键领域的重要知识点。这本书旨在帮助Java程序员深入理解技术原理,...

    JAVA面试问题,自己和别人总结

    本文总结了常见的JAVA面试问题,涵盖了JAVA基础、JSP、Servlet、XML、J2EE、MVC、数据库等方面的知识点。 一、JAVA基础部分 * 抽象类和接口的区别 * 作用域public、private、protected的区别 * 重写和重载的区别 *...

    Java面试题大全(整理版)1000+面试题 (面试准备+Java基础+高级特性+常见问题+答案解析)

    总的来说,准备Java面试时,你需要深入理解这些技术的原理、应用场景和最佳实践,结合实际项目经验进行回答,才能在面试中展现出专业水平。通过这份1000+面试题的资源,你可以系统地复习并测试自己的知识深度,提升...

    JAVA面试常见问题

    35K

    Java面试题2022

    以上是Java面试中常见的知识点,掌握并能深入解释这些内容,将大大增加你成功通过面试的可能性。同时,面试不仅仅是对技术的考察,还包括问题解决能力、团队合作精神以及项目经验等软技能,全面展现自己才能赢得理想...

    Java面试常见面试题

    5. **JVM**:Java虚拟机的内存管理、垃圾收集机制、性能优化、类加载过程、类加载器、JVM调优工具等都是面试中常见的问题。理解JVM的工作原理对于优化程序性能至关重要。 6. **MySQL**:数据库相关面试题涵盖SQL...

    java面试宝典2017版

    Java面试宝典2017版是一份集大成的面试资源,专为准备Java相关...通过深入理解和熟练掌握上述知识点,你可以更好地应对Java面试,展现出扎实的技术功底和解决问题的能力。不断学习和实践,是成为优秀Java开发者的关键。

    2017java面试题

    为了在激烈的求职竞争中脱颖而出,理解和掌握Java面试中的常见问题至关重要。"2017java面试题"这个压缩包文件提供了丰富的资源,帮助Java开发者准备面试,深化对Java开发的理解。 文档"Java面试宝典2017.doc"可能...

    java面经+java面试宝典+大专题面试手册

    该资料包括Java面试常见问题、Java核心知识点、常见算法与数据结构、操作系统、网络编程等面试必备知识点,并且提供了一些常见的Java面试题和解答,以及一些面试技巧和经验分享。 该资料适合正在准备Java面试的...

Global site tag (gtag.js) - Google Analytics