写在前面:阿里面试官挺好的。是我太菜了。
还在和实验室的小伙伴扯淡呢,一个杭州电话打来了。。。。
很紧张,全程在抖。。。。(就你懂吧,菜鸡都这样)
数据结构的线性表两个常见的实现。
(为什么不能直接说数组+链表?我听成了渐进表?卧槽这么高级?)
你怎么兼顾数组和链表来实现一个?
我说可以弄hashmap或者双向链表。
Arraylist扩容的1.5这个数值可以变吗?
Treemap了解吗?
说了一段什么非黑即红不拉不拉,原本准备下午就看红黑树的呀!!!!你就打过来了!
二叉树的平衡算法?
Java里面的模块你比较熟悉的是哪个?
我回答了多线程的包。
多线程的自带线程池有哪些?
说了四个,说第五个的时候被打断说差不多了。
ThreadLocal怎么实现的?
我说的是内部维护一个ThreadLocalMap弱引用做key,然后会GC时候被回收等等
四种引用类型?
为什么要设计不可控的虚引用?
ThreadLocalMap关联哪个实体?
JDK的fork join框架了解吗?(我知道Thread类的join)
Java里面为什么需要加锁?
我提到了不是原子操作,问我为什么会不是原子操作?然后我就说了JMM内存模型
(哎哟卧槽!!!!在写这个的时候突然想到,尼玛难道不是因为指令重排序吗!!!
真的是太紧张了 这都忘了。。。)
怎么保证内存可见性?
Java里面的各种锁,说一下?
什么叫自旋锁?什么是可重入锁?
哪种是不可重入锁?
TCP三次握手四次挥手 详细说一下?
为什么要四次挥手?
Hibernate的一级缓存知道吗?答是session,一级缓存
问内部怎么实现?存在哪里?
啊?存在。。。内存?
介绍一下servlet?
线程安全吗?
数据库的隔离级别?
可重复读是什么?
Mysql的间隙锁了解吗?
差不多就是这些。总体感觉问题并不难,但是自己发挥的不太好,很多自己知道的东西都没有表达出来。感觉自己还是太紧张了。应该是凉了。
继续努力吧。