黑马程序员技术交流社区

标题: java面试题2 [打印本页]

作者: 郝九凤    时间: 2014-6-25 12:38
标题: java面试题2
[hide=d2]1。请大概描述一下Vector和ArrayList的区别,Hashtable和HashMap的区别。(5)

// thread-safe or unsafe, could contain null values or not

2。请问你在什么情况下会在你的JAVA代码中使用可序列化?(5)
为什么放到HttpSession中的对象必须要是可序列化的?(5)

// save, communicate

3。为什么在重写了equals()方法之后也必须重写hashCode()方法?(10)

// implementations of dictionaries need hashCode() and equals()

4。sleep()和wait()有什么区别?(10)

// threads communication: wait() and notifyAll()

5。编程题:用最有效率的方法算出2乘以17等于多少?(5)

// 2<<4+2

6。JAVA是不是没有内存泄漏问题?看下面的代码片段,并指出这些代码隐藏的问题。(10)
...
Object[] elements = new Object[10];
int size;
...
public Object pop() {
if (size == 0)
return null;
Object o = elements[--size];
return o;
}

// elements[size] = null;

7。请阐述一下你对JAVA多线程中“锁”的概念的理解。(10)

// optimistic lock, pessimistic lock, signal, dead lock, starvation, synchronization

8。所有的递归实现都可以用循环的方式实现,请描述一下这两种实现方式各自的优劣。
并举例说明在什么情况下可以使用递归,而在什么情况下只能使用循环而不能使用递归?(5)

// recursive: when you need a stack and stack memory is enough
// non-recursive: when you need a queue

9。请简要讲一下你对测试驱动开发(TDD)的认识。(10)

// write unit testing code first

10。请阐述一下你对“面向接口编程”的理解。(10)

// adapter, listener, bridge, decorator, proxy... patterns

11。在J2EE中有一个“容器(Container)”的概念,不管是EJB、PICO还是Spring都有他们
各自实现的容器,受容器管理的组件会具有有生命周期的特性,请问,为什么需要容器?
它的好处在哪里?它会带来什么样的问题?(15)

// encapsulation

12。请阐述一下你对IOC(Inversion of Control)的理解。(可以以PICO和Spring的IOC作为例子说明他们在实现上各自的特点)(10)

// reduce classes' dependencies

13。下面的代码在绝大部分时间内都运行得很正常,请问在什么情况下会出现问题?问题的根源在哪里?(10)
import java.util.LinkedList;

public class Stack {

LinkedList list = new LinkedList();

public synchronized void push(Object x) {
synchronized(list) {
list.addLast( x );
notify();
}
}

public synchronized Object pop()
throws Exception {
synchronized(list) {
if( list.size() <= 0 ) {
wait();
}
return list.removeLast();
}
}
}[/hide]

作者: 汉谟拉比    时间: 2014-6-25 12:39
强烈支持楼主
作者: 郝九凤    时间: 2014-6-25 12:44
汉谟拉比 发表于 2014-6-25 12:39
强烈支持楼主

呵呵,谢谢
作者: 汉谟拉比    时间: 2014-6-25 12:46
楼主的技术分有10分了,,我还差好多哦
作者: 汉谟拉比    时间: 2014-6-25 12:48
我想问下楼主的java基础学习了多久呢
作者: 我为你着迷    时间: 2014-6-25 18:28
你好 看下
作者: 郝九凤    时间: 2014-6-25 19:46
汉谟拉比 发表于 2014-6-25 12:46
楼主的技术分有10分了,,我还差好多哦

天天泡论坛,技术分就有了
作者: 郝九凤    时间: 2014-6-25 19:49
汉谟拉比 发表于 2014-6-25 12:48
我想问下楼主的java基础学习了多久呢

基础和加强的,总共学了历时俩月吧,不能保证每天都有太多的时间,就这样有时一天学的多点,有时学的少点,总共就这么久了。
作者: 过来    时间: 2014-6-25 20:59
强烈支持楼主
作者: 汉谟拉比    时间: 2014-6-26 20:28
楼主可否加你的qq,有问题可以讨论讨论!
作者: 汉谟拉比    时间: 2014-6-26 20:29
另外问一下楼主打算参加哪一期的黑马培训?

作者: 郝九凤    时间: 2014-6-27 10:06
汉谟拉比 发表于 2014-6-26 20:29
另外问一下楼主打算参加哪一期的黑马培训?

我想报39期的
作者: 郝九凤    时间: 2014-6-27 10:08
汉谟拉比 发表于 2014-6-26 20:28
楼主可否加你的qq,有问题可以讨论讨论!

好啊,2665507693,只是这两天,我有点事,qq暂时不上,过两天,就可以上了
作者: 汉谟拉比    时间: 2014-6-27 22:48
已经加你了哦,,,
作者: 郝九凤    时间: 2014-6-27 22:51
汉谟拉比 发表于 2014-6-27 22:48
已经加你了哦,,,

恩,好的,过两天上qq后,应该就可以看到了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2