简答题
1、list,map,set三个接口,存取元素时,各有什么特点。
List 以特定次序来持有元素,可有重复元素。
Set 无法拥有重复元素,内部排序。
Map 保存key-value值,value可多值。
---------------------------
2、sleep()和wait()的区别。
① 这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。
sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。
② 锁: 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。
sleep不出让系统资源;wait是进入线程等待池等待,出让系统资源,其他线程可以占用CPU。一般wait不会加时间限制,因为如果wait线程的运行资源不够,再出来也没用,要等待其他线程调用notify/notifyAll唤醒等待池中的所有线程,才会进入就绪队列等待OS分配系统资源。sleep(milliseconds)可以用时间指定使它自动唤醒过来,如果时间不到只能调用interrupt()强行打断。
Thread.sleep(0)的作用是“触发操作系统立刻重新进行一次CPU竞争”。
③ 使用范围:wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用。
synchronized(x){
x.notify()
//或者wait()
}
----------------------------------------------------------
3、什么是内部类,static nested class和inner class有什么不同。
4、java中的多态机制时什么。
5、一般异常和运行时异常有什么区别。
6、什么是java序列化,如何实现java序列化。
编程题
1、设计4个线程,其中两个线程每次对j(试卷上是sum,百度上是j)增加1,另外两个线程每次对j减少1。
2、设计一个程序,实现两个长整形数据的相加,并且当它们超过整形范围时的类型转换。
程序改错题
1、面试宝典上java代码改错模块第8题,应该在51页。
2、面试宝典上java代码改错模块第11题,51、52页。
还有个智力题和一篇英语完型填空。若干选择题,不难,java相关的。
智力题好像是这样的,123456789这九个数重复50次,一共450位数,删掉其中的奇数位,得到一个新的数,再删掉奇数位,如此循环最后剩下的一个数是什么
面试只问你做过什么项目,挑一个详细讲下,知识点不怎么问,最多从你简历上找两个
施海宁以前发给我们一个面试宝典文档,这些题基本上都是上面的
面试不跟你谈薪资,面试了之后hr跟你谈的
4500就好
不要报太低
面试技术不问你简历之外的
我们这边不是做java web,这方面懂得人也不多,就问些基础的
面试我的时候让我把项目说一遍,又随便挑了个简历上写的知识点就没了
主要还是介绍项目