面试过程:
1. Integer和int的区别,各自的存储方式,回收方法
2. HashMap、HashMap如何保证线程安全、ConcurrentHashMap
3. JVM中堆和栈的区别
4. 手撕代码:按层次遍历二叉树
5. 手撕代码:按层次遍历二叉树(不完全二叉树)节点为null的需要输出null
6. 项目 面试官问的面试题:
1、介绍下Map的Put(),怎么调用的?我说了Hashcode(),equals()。然后又说到了Hashmap的数据结构,Jdk1.7和1.8的区别,成环条件,如何成环,红黑树何时使用等。简单介绍了Hashtable,concurrentHashMap。这个题他就没问了,过。
2、JVM。说了堆,栈,方法区,常量池,并说明了常量池归入方法区的Jdk版本号。程序计数器。类加载机制,类加载器,热部署,双亲委派。这个题过。
3、GC。介绍常用方法。说了标记清除,复制收集。说了两种方法的区别,使用场景。以及为什么标记清除法使用的多。再介绍了1.8GC对堆区进行分代回收的原理。年轻代:Eden区,from区,to区。调用MinorGC()对Service区进行整理。并说明何时将年轻代中的大对象和大数组存入老年代。
永久代调用的fullGC(),何时调用,缺点这些。然后他问标记清除法在分代回收中哪里使用。
4、Spring,用过哪些注解。说了ResponseBody,Dependson,resource,Autowire,Controller,Service,Repository。每种注解都说了下用途,有的要说明区别,和哪些推荐使用。具体小伙伴们百度吧。过。 面试相关细节(职业圈独家调查):
你是通过何种渠道获得这次面试机会的?
答:校园招聘
整个面试花费了多长时间?(从接到面试消息到得到结果)
答:5天
面试形式包括哪些?
答:电话面试 1对1面试
你觉得这次面试的难度如何?
答:困难
你对这次面试的整体感觉怎么样?
答:一般
这次面试的结果如何?
答:面试未得到工作