手撕面试官系列:BAT面试常问85题

JVM主题

10297697-07206528c6887cab

(面试问题+答案收集方法见个人主页)

Java类加载过程?

描述JVM加载类文件的原理机制?

Java内存分配。

什么是GC?为什么你有GC?

简要描述Java垃圾收集机制。

如何确定对象是否还活着? (或确定GC对象的方法)

垃圾收集的优点和原则。并考虑两种回收机制。

垃圾收集器的基本原理是什么?垃圾收集器可以立即回收内存吗?有没有办法主动通知虚拟机进行垃圾回收?

Java中是否存在内存泄漏?请简要描述一下。

深拷贝和浅拷贝。

System.gc()和Runtime.gc()有什么作用?

何时调用finalize()方法?析构函数的目的是什么(finalization)?

如果对象的引用设置为null,垃圾收集器会立即释放该对象占用的内存吗?

什么是分布式垃圾收集(DGC)?它是如何工作的?

串行收集器和吞吐量收集器之间有什么区别?

什么时候可以在Java中垃圾收集对象?

Java内存分配和回收率以及Minor GC和MajorGC的简要说明。

垃圾收集是否发生在JVM的永久生成中?

Java中的垃圾收集方法有哪些?

类加载器父代委托模型机制?

数据库主题

10297697-26ee4f0899a09ef8

请简要描述InnoDB在MySQL中支持的四个事务隔离级别名称,以及级别之间的差异。

在MySQL中使用ENUM有什么用?

CHAR和VARCHAR有什么区别?

列的字符串类型是什么?

MySQL中使用了什么存储引擎?

TIMESTAMP对UPDATE CURRENT_TIMESTAMP数据类型做了什么?

主键和候选键之间有什么区别?

MySQL数据库服务器性能分析的方法命令是什么?

LIKE和REGEXP操作有什么区别?

BLOB和TEXT有什么区别?

数据库的三个范例?

MySQL表中允许多少个TRIGGERS?

什么是通用SQL函数?

MySQL中有哪些锁?

MySQL数据优化。

MySQL关键字。

存储引擎。

数据库备份。

truncate delete drop之间的区别。

什么是Redis?做两句话的摘要。

Redis(管道,哈希)。

Redis实现原则或机制。

Redis有两种类型的分区。

什么是MongoDB。

MongoDB功能。

MongoDB的功能。

MongoDB的适用场景。

Redis,memcache,MongoDB比较。

Redis有什么用?只有了解它具有哪些特征,我们才能利用自己的优势来避免弱点并将它们用于我们。

集合框架主题

10297697-ac2644d117605855

ArrayList和Vector之间的区别。

讨论ArrayList,Vector,LinkedList的存储性能和功能。

故障快速和故障安全之间有什么区别?

hashmap的数据结构。

HashMap的工作原理是什么?

Hashmap何时扩展?

列表,映射,设置三个接口,访问元素时的特征是什么?

集合中的元素不可重复。那么用什么方法来区分重复?是==还是等于()?他们之间有什么区别?

这两个对象具有相同的值(x.equals(y)==true),但它们可以具有不同的哈希码。这是对的吗?

堆和堆栈有什么区别。

Java集合类框架的基本接口是什么?

HashSet和TreeSet有什么区别?

HashSet的底层实现是什么?

LinkedHashMap的实现原理是什么?

为什么集合类不实现Cloneable和Serializable接口?

什么是迭代器?

Iterator和ListIterator有什么区别?

数组(Array)和列表(ArrayList)有什么区别?我什么时候应该使用Array而不是ArrayList?

Java集合类框架的最佳实践是什么?

Set中的元素不可重复。那么用什么方法来区分重复?是==还是等于()?他们之间有什么区别?

Comparable和Comparator接口有什么作用?列出它们之间的差异。

Collection和Collections之间的区别。

多线程/高并发功能

10297697-9d5c22fe81617e89

为什么不建议使用stop()和suspend()方法?

sleep()和wait()有什么区别?

同步和异步之间有什么相同点和不同点,它们在什么情况下分开使用?

当一个线程进入一个对象的同步方法时,其他线程可以访问该对象的其他方法吗?

简要描述synchronized和java.util.concurrent.locks.Lock之间的异同?

线程可用状态的一般说明。

什么是ThreadLocal?

run()和start()之间的区别。

请告诉我你对线程同步的了解。

线程调度和线程控制。

什么是线程挨饿,什么是活锁?

多线程中的繁忙循环是什么?

什么是volatile变量? volatile变量和原子变量之间有什么区别?

volatile类型变量提供什么保证?可以将非原子操作转化为原子操作吗?

以上是BAT面试问题,我想得到面试答案,

怎么弄它

请加QQ群:

得到上述面试问题的答案: