如果你是一个 Java 面试官,你会问哪些问题?

Python029

如果你是一个 Java 面试官,你会问哪些问题?,第1张

1、谈谈你对 Java 平台的理解?“Java 是解释执行”,这句话正确吗?考点分析:对于这类笼统的问题,你需要尽量表现出自己的思维深入并系统化,Java 知识理解得也比较全面,一定要避免让面试官觉得你是个“知其然不知其所以然”的人。毕竟明白基本组成和机制,是日常工作中进行问题诊断或者性能调优等很多事情的基础,相信没有招聘方会不喜欢“热爱学习和思考”的面试者。回归正题,对于 Java 平台的理解,可以从很多方面简明扼要地谈一下,例如:Java 语言特性,包括泛型、Lambda 等语言特性;基础类库,包括集合、IO/NIO、网络、并发、安全等基础类库。对于我们日常工作应用较多的类库,面试前可以系统化总结一下,有助于临场发挥。2、对比Hashtable、HashMap、TreeMap有什么不同?考点分析:上面的回答,只是对一些基本特征的简单总结,针对Map相关可以扩展的问题很多,从各种数据结构、典型应用场景,到程序设计实现的技术考量,尤其是在Java 8里,HashMap本身发生了非常大的变化,这些都是经常考察的方面。很多朋友向我反馈,面试官似乎钟爱考察HashMap的设计和实现细节,所以今天我会增加相应的源码解读,主要专注于下面几个方面:理解Map相关类似整体结构,尤其是有序数据结构的一些要点。从源码去分析HashMap的设计和实现要点,理解容量、负载因子等,为什么需要这些参数,如何影响Map的性能,实践中如何取舍等。理解树化改造的相关原理和改进原因。除了典型的代码分析,还有一些有意思的并发相关问题也经常会被提到,如HashMap在并发环境可能出现无限循环占用CPU、size不准确等诡异的问题。我认为这是一种典型的使用错误,因为HashMap明确声明不是线程安全的数据结构,如果忽略这一点,简单用在多线程场景里,难免会出现问题。理解导致这种错误的原因,也是深入理解并发程序运行的好办法。对于具体发生了什么,你可以参考这篇很久以前的分析,里面甚至提供了示意图,我就不再重复别人写好的内容了。3、Java 提供了哪些 IO 方式? NIO 如何实现多路复用?考点分析:在实际面试中,从传统 IO 到 NIO、NIO 2,其中有很多地方可以扩展开来,考察点涉及方方面面,比如:基础 API 功能与设计, InputStream/

与工作相关的问题,最容易拿分 

问的是和工作切身相关的问题,比如:更细节的工作内容、适任所要具备的条件、必须达成的目标、主管的管理风格、公司的特别期待等。

这类问题不只是切题而已,还加强了面试官对你的以下印象:“你很想进这家公司做这份工作,所以想要进一步了解各项与工作相关的细节,这也表示你在进了公司之后会有热情做好这份工作。”这样的提问,最能发挥临门一脚的关键力量。

一样的,在提问题时,别忘了适切地带入自己积极争取进公司的企图心,比如:

• “我很想争取进贵公司,所以想更清楚公司对这份工作的期待与目标。”

• “这个职务是我一直以来很想做的理想工作,所以我想多了解,还有没有哪些条件是我要先具备的?”

面试时,不是口若悬河、自吹自擂的人才会出线,而是有准备的人会拿到入场券,所以重点在于事先要做好充分的准备,除了答题外,也要准备出题。提问题有两个诀窍,第一个是问的问题要对,第二个是问的方式要对,搞定这两件事,提问题这十分钟就可以轻易拿分。