时间:2018.7.23 地点:某大厂分部大厦后 的小树林里
2018.07.23 下午1点接到阿里电话面试
问题如下
JAVA方面(难度由浅至深)
1:final 和finalize的区别(主要考察基本的关键字,和GC时候finalize的作用)可扩展方向:finalize的作用,和final,abstract的关系
补充: try,catch,finally的执行顺序
2:abstract 什么时候使用,final什么时候使用
3:常用的数据结构有哪些(list,ArrayList,Linkedlist,hashmap,hashmap)
4:hashmap简单叙述一下
5:hashmap的数据机构是怎么样
6:hashmap如何解决hash冲突的
7:为什么使用hashmap
8:hashmap是线程安全的吗
9:hashmap为什么不是线程安全的
10:hashmap和hashtable有什么区别
11:hashset的实现原理
12:用过什么并发包
13:
CocurrentHashMap实现原理
14:如何实现线程安全的
15:
CocurrentHashMap和hashtable的区别
16:JVM如何进行垃圾回收的
17:JVM有哪些垃圾回收算法
18:内存堆和栈的区别
19:新生代和老年代内存如何分配的
20:新生代和老年代分别使用哪些垃圾回收算法
21:新生代如何进入老年代
22:JVM什么时候触发担保机制的
23:新生代每次GC都会进入老年代吗?
补充:如何判断对象是否被GC
24:String a= “1”和String a = new String("1");的区别
25:String,Stringbuilder,Stringbuffer的区别
26:http里面的关键字。。。*(记不太清了,没答出来)
27:TCP3次握手4次挥手
28:servlet的原理,还有http的一些知识(楼主这些比较弱没答出来)
29:springMVC 特点
30:一些设计模式(重要)
总结:java基础答得很不错,没被问倒,每个问题都答得很有信心,比较熟悉。不足:http协议,javaweb的一些底层原理,设计模式。难度偏上