弄明白面试官心理,一切面试都不难:面试Java后端开发人员的感受( 六 )

Java核心这块 , 网上的面试题很多 , 不过在此之外 , 大家还应当着重关注集合(即数据结构)和多线程并发这两块 , 在此基础上 , 大家可以准备些设计模式和虚拟机的说辞 。

下面列些我一般会问的部分问题:

1、String a = \"123\"; String b = \"123\"; a==b的结果是什么? 这包含了内存 , String存储方式等诸多知识点 。

2、HashMap里的hashcode方法和equal方法什么时候需要重写?如果不重写会有什么后果?对此大家可以进一步了解HashMap(甚至ConcurrentHashMap)的底层实现 。

3、ArrayList和LinkedList底层实现有什么差别?它们各自适用于哪些场合?对此大家也可以了解下相关底层代码 。

4、volatile关键字有什么作用?由此展开 , 大家可以了解下线程内存和堆内存的差别 。

5、CompletableFuture , 这个是JDK1.8里的新特性 , 通过它怎么实现多线程并发控制?

6、JVM里 , new出来的对象是在哪个区?再深入一下 , 问下如何查看和优化JVM虚拟机内存 。

推荐阅读