前言
一面有两个面试官,一个问 java 一个问其他基础知识
一开始是自我介绍然后也没怎么问项目
Java 方面:
说一下你知道的 Java 8 新特性
Java8 中 JVM 运行时数据区
说一下 Java 方法执行的过程,说详细一点。(说到栈帧由局部变量表,操作数栈,动态链
接,方法出口组成,他还让我说再详细一点,最好说到字节码的级别,就只随便扯了扯。实
在是不会啊…)
Java 的集合常用什么?一般在什么场景下用到?
LinkedHashmap 的实现,如何实现的
Hashmap 扩容机制,为什么 hashmap 定义时一般初始化一个大小?
Java 并发:
实际写代码哪里用到过并发嘛(诚实的说没有)
写一个两个线程死锁的案例,或者表述一下
volatile 的底层实现,如何防止指令重排
线程有哪些状态,说一下,并且说一下这些状态之间如何转移。
线程池用过吗?说一下四种常用线程池。
基础知识:
数据结构:
树结构的好处是什么,平时有用到哪些
bst 和 avl 树有什么区别
求无向图中的连通分量(不用写代码,说下思路)
数据库:
事务的 ACID 特性
事务隔离级别,解决什么问题
Innodb 的索引数据结构,