时间是2016//11月,投的是上海的EMC2公司的JavaWeb开发岗,第一次接到的电话面试,问的题目很基础基础,很遗憾,本人在掌握的太不好,回答的很乱,目测定挂。下面记下HR问的问题及回答。
首先问了下专业以及到岗和每周出勤时间,一再确认跟导师是否沟通完毕。接下来就是问java技术问题了。
1 学了JAVA基础,有哪几大块内容:
没回答出来,当时脑子中就想到基本语法和线程等问题。
正确回答:对象与类:对象、继承、反射、接口、集合、多线程、异常、IO、泛型
2 讲下集合
讲下Collection ,讲下Collection具体实现类,讲下ArrayList,讲下ArrayList底层实现。这里被卡住的一个问题是hashCode的问题,什么时候用hashCode,为什么要用hashCode,equals,等等。
当时没讲出来,后来立马看了集合的源码,受益匪浅。真的,有时间要把该看的源码都要看完和总结完!
3 多线程的实现,多线程两种实现方式
被卡住的 问题:线程启动时start方法,实现runnable怎么启动,怎么调用run方法;
后来看了java多线程方面的书《JAVA多线程编程核心技术》,以及看了博客中关于java内存模型的介绍和volatile的介绍,挺有用的,在之后思科的面试当中也谈到了volatile这个,扯了好久,挺有帮助的。
4 同步:讲下synchronized
5 jdbc:用的是第三方的常量池?
6 介绍下框架
只有把Spring的控制反转和AOP编程思想讲清楚就好,不会深问。