这是学习群里一位女同学秋招面试有赞的面试题,还在校的同学把握好学生的红利期,把握好秋招。
以下为面试过程,因为该同学简历上的项目也是我提供学习的,所以下文的答案全部由我进行整理。
一面:(36min)
面试官人很好,问的比较细,但是我不会的地方会慢慢引导。
1、自我介绍
自我介绍可分为三层,第一层介绍基本信息;第二层介绍实习经历和项目经理及自己擅长的技术栈;第三层简单说下你的性格兴趣爱好等。自我介绍时间把握在1-2分钟,把自己的优势和擅长点讲出来。平时可以对着镜子多练练,讲的清楚比什么都重要。
2、java的集合看过源码么?HashMap?自己说了下jdk1.7和1.8的区别(说了头插和尾插,然后面试官问这个是基于什么考虑的?还有什么?答了链表数量大于8的时候会转成红黑数,然后问我了解红黑树么?为什么红黑树只有红色和黑色?)HashMap在多线程的情况下线程安全么?(答得扩容时出现,为什么?多线程已经出现了环,也就是死循环,去查找会出现什么情况?HashMap在扩容的时候允许其他线程去查找么【一个线程在扩容,另一个线程在查找】?)
3、链表常用的数据结构?ArrayList和LinkedList的区别?
Hashmap面试的信息量很大,面试官抛出一个点,往往希望面试者能较全面的去拓展回答。另一方面,数据结构的直接应用场景就是集合框架,所以集合框架的底层往往离不开数据结构。
针对数据结构和集合框架,可以看看以下两篇文章: