Java面试问题&资料整理

(1) HashMap跟Hashtable的实现原理,
不知道我敢乱说?我除了知道它们都用到了hash表,HashMap允许key为null而Hashtable不行,别的也不了解太多了!但是我会告诉你我刚刚看过LinkedList的源代码吗?我会告诉你我还看了String的源代码吗,我会告诉你我断断续续的看了很多源代码,但都是在想起的时候才去看吗?所以我根本就没想起过去看HashMap或者Hashtable,你叫我如果回答?


http://www.lxway.com/64644201.htm
http://www.cnblogs.com/frankliiu-java/articles/1848988.html
http://www.cnblogs.com/lzrabbit/p/3721067.html


http://blog.chinaunix.net/uid-11775320-id-3143919.html


Java面试宝典:
http://www.cnblogs.com/zhouqiang/archive/2010/03/01/1676106.html


Super & this:
http://blog.csdn.net/anmei2010/article/details/4093118






(2)写下自己用过的设计模式,
我说有策略模式、单例模式、工厂模式、状态模式、适配器模式。然后他让我写下单例模式,我用了最简单的方式,static变量new自身对象。他说有没什么问题,比如变量被赋值呢。我说在C#中可以用访问控制符禁止set,在java中也可以用静态方法来屏蔽。他又问那你的类被别的类实例化,我说构造方法我用private的。(总之是没写全,写全他就不会问了)




(3)数据结构,
这个不是懂了就行,刚学完数据结构,各种算法自己也可以很快写出来的,但是很久没写了都忘记了。数据结构这个东西必须能信手拈来,随手就能写出各种树、图的遍历以及排序、查找等算法,以及二叉树,B-树、堆的概念和程序(最好做到能当场写程序)


(4) 明白Java API的源代码实现,
比如LinkedList和ArrayList,不只是数据结构的区别(这个大家都清楚)还要能从源代码的角度,比如线程安全性,内部扩充方式,每次扩充的长度等等来表达。(你可以想想自己能不能说出String、StringBuffer、StringBuilder的区别;HashTable、HashMap、TreeMap的区别呢?属性类的安全性?等等,别查文档,也别说你知道,面试的时候不会听你啰嗦的,就说重点区别)。
http://blog.csdn.net/hengyunabc/article/details/7657995
http://www.jb51.net/article/42767.htm


http://pengcqu.iteye.com/blog/502676


Java序列化与反序列化:Serializable
TreeMap: http://blog.csdn.net/chenssy/article/details/26668941




Java 同步与异步:http://blog.163.com/crazycode@126/blog/static/13701017120101122355521/


http://blog.csdn.net/xiyuan1999/article/details/6198394


JAVA中String与StringBuffer,StringBuilder的区别 
http://blog.chinaunix.net/uid-20767210-id-1849811.html


synchronized 与 Lock 的那点事:
Synchronized / Lock
http://www.cnblogs.com/benshan/p/3551987.html
http://houlinyan.iteye.com/blog/1112535
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值