总的来说这次的面试很是收获了不少
1.开场白:本次校招的要求是………… ,三项中没有明显的短板,并且满足两项才可以。
问题1:Java容器类:有4个接口继承Conllection接口,List, Queue, Set, Map;1.List中有ArrayList, Vector, LinkedList,2.Set中有HashSet,3.Map中HashMap, HashTable, ConcurrentTable
问题2:
读过HashMap的源代码吗? 具体是怎么实现的。 数组 + 链表; 冲突时会把插入项插入在链表的第一个位置; 关于LoadFactor和reHash……
问题3:
用Collection中的类实现LRU算法 我提出了一个用类似于队列的数组的算法. 即把用过的块放到数组的尾部.
问题4: 写个小代码, 把数组[1, 2, 3, 4, 5, 6]用递归逆序一下,脑子秀逗了, 然后各种错 T^T(不要鄙视我)
问题5: 编程中用过树不?
我说: 用过.
面试官问: 怎么用的?
我说: 语塞…… 对哦? 我怎么用的? 二叉查找树算不算? Orz
面试官问: 知道B树不?
我说: 知道, B+树用于数据库索引.
面试官问: 嗯~ 那等下问数据库的时候再问你好了.
问题6: 知道Java内存模型不?
面试官问: 嗯~ 知道… Java内存分为方法区、堆、Java栈、本地方法栈还有PC……;堆又分为YG,OG和PG;YG又分为Eden、S0和S1。
面试官问: 嗯~ 很好…… 那知道GC的工作原理不?
我说: 嗯……有一个Copy算法:………………;GC有串行GC,并行GC,还有CMS和G1.
面试官问: 那他的回收策略是什么?
我说: 从根对象查找有没有对该对象的引用, 没有就回收; 引用分为四种类型, ……, 如果……, 则……
问题7:说说Object中的方法
sleep(), notify(), notifyAll(), toString(), hashCode(), equals()