笔试题纠错 时间: 2018-04-03 23:58 分类: JAVA 这次笔试答得感觉很糟糕(很多东西模棱两可),这也是第一次接触全问答题形式的笔试。 1. equals 与 hashCode 关系 equals 相同,hashCode 必须相同。 hashCode 相同,equals 可以不同。 2. 懒汉式单例(写成了恶汉式) 懒汉式: ```java class Single{ private static Single s = null; public Single() { if (s == null) s = new Single(); return s; } } ``` 恶汉式: ```java public Single(){ private static Single s=new Single(); private Single(){ } public static Simple getSimple(){ return s; } } ``` 3. List list 删除 "delete" 元素,String 类型比较特殊,直接 list.remove("delete") 即可,答题时写成循环判断删除,虽然也能删除,但感觉不是很好。 4. JVM 设置堆内存最大值。 对于 JVM 运行参数这块,没有过多研究,虽然设置过,但是记得不是非常清楚,答案刚好写反写成-XX:PermSize,正确答案是 -Xmx。 5. HashMap 实现原理。 这道题如果要解释得详细的话估计答题纸那点空间是不够的,当时也就简单写了下 key、value 存储结构,key、value 允许为 null,可能有点答非所问。所以后面加上了内部实现结构是一个链表数组,这一点肯定是没有错的,错误的在后面,以前的确看过有关 hash 冲突的问题,所以将 HashMap 解决冲突的办法写成再哈希算法了,正确答案是 HashMap 采用的是链地址法,就是前面所说的链表数组,我勒个去,学艺不精啊。 算了,总结不下去了,再分析下去,此次的笔试题就全挂完了,现在看来,这也难怪面试时都没怎么问技术问题就 Game Over 了。So,继续努力吧,此次的全问答题笔试总的来说收获还是挺大的,问题虽然自己都有所了解过,并没有那种从来都没接触过的东西,关键还是自己没仔细分析过,记得不清不楚的。:sob: :sleepy: 标签: 无