刚打开的联盟,告诉我现在有时间吗?我尼玛,而且连HR都没通知我要面试,上来就要问,找个借口托了下时间说明天吧,也正好复习复习。第二天中午果然来电话了。
1.谈谈你对final关键字的理解
2.异常,throw,throws,try/catch,jdk1.7的改进
3.HashMap底层数据结构,
我答了数组+链表/红黑树,什么时候红黑树转成链表?链表转成红黑树?为什么要这么设计(比如为什么是大于8)?
4.假如我想在容器里面找到符合我所要的值,应该怎么做?
我说的是遍历,找到即可,后来又扯到线程安全,后来才发现没抓住点(他想说的是迭代器。。。。。。)
5.创建线程有几种方式?Future,FutureTask的区别
6.java虚拟机的内存结构由哪些?垃圾收集算法?垃圾收集器?
7.线程池了解过吗?有哪些常见的线程池,底层原理是什么?
8.看你项目里面用到了Redis,Redis能存储哪些数据类型?
问我在项目中是怎么用STRING这种类型的
9.数据库为什么需要索引?
10.索引失效?
总结:
1.十一月快结束的时候面的,好多东西都忘得光光,当面试官面到35分钟的时候是那今天的面试就到这里了,我就已经知道凉凉。
2.面试有一定的难度,而且有一定的深度,主要原因还是自己菜。
3.面试的时候主动权应该尽量掌握在自己手中,当面试官问了一个问题之后,不要简单的答完了就完事了,还应该引领面试官往你最擅长的部分进行一下延申,这样才能尽量减少面试官问问题的范围,如果你只是简单的回答了,那主动权就在面试官手上了,但不能延申过度。