资讯专栏INFORMATION COLUMN

手撕面试官系列(十一):BAT面试必备之常问85题

CatalpaFlat / 2340人阅读

摘要:什么是线程饿死,什么是活锁多线程中的忙循环是什么变量是什么变量和变量有什么不同类型变量提供什么保证能使得一个非原子操作变成原子操作吗

JVM专题

(面试题+答案领取方式见个人主页)

Java 类加载过程?

描述一下 JVM 加载 Class 文件的原理机制?

Java 内存分配。

GC 是什么? 为什么要有 GC?

简述 Java 垃圾回收机制。

如何判断一个对象是否存活?(或者 GC 对象的判定方法)

垃圾回收的优点和原理。并考虑 2 种回收机制。

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

Java 中会存在内存泄漏吗,请简单描述。

深拷贝和浅拷贝。

System.gc() 和 Runtime.gc() 会做什么事情?

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

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

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

串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?

在 Java 中,对象什么时候可以被垃圾回收?

简述 Java 内存分配与回收策率以及 Minor GC 和 MajorGC。

JVM 的永久代中会发生垃圾回收么?

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

类加载器双亲委派模型机制?

数据库专题

请简洁描述 MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?

在 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 有什么用?只有了解了它有哪些特性,我们在用的时候才能扬长避短,为我们所用。

集合框架主题

ArrayList 和 Vector 的区别。

说说 ArrayList,Vector, LinkedList 的存储性能和特性。

快速失败 (fail-fast) 和安全失败 (fail-safe) 的区别是什么?

hashmap 的数据结构。

HashMap 的工作原理是什么?

Hashmap 什么时候进行扩容呢?

List、Map、Set 三个接口,存取元素时,各有什么特点?

Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用 == 还是equals()? 它们有何区别?

两个对象值相同 (x.equals(y) == true),但却可有不同的 hash code,这句话对不对?

heap 和 stack 有什么区别。

Java 集合类框架的基本接口有哪些?

HashSet 和 TreeSet 有什么区别?

HashSet 的底层实现是什么?

LinkedHashMap 的实现原理?

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

什么是迭代器 (Iterator)?

Iterator 和 ListIterator 的区别是什么?

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

Java 集合类框架的最佳实践有哪些?

Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用 == 还是equals()?它们有何区别?

Comparable 和 Comparator 接口是干什么的?列出它们的区别。

Collection 和 Collections 的区别。

多线程 / 高并发专题

stop() 和 suspend() 方法为何不推荐使用?

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

同步和异步有何异同,在什么情况下分别使用他们?

当一个线程进入一个对象的一个 synchronized 方法后,其它线程是否可进入此对象的其它方法?

简述 synchronized 和 java.util.concurrent.locks.Lock 的异同?

概括的解释下线程的几种可用状态。

什么是 ThreadLocal?

run() 和 start() 区别。

请说出你所知道的线程同步的方法。

线程调度和线程控制。

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

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

volatile 变量是什么?volatile 变量和 atomic 变量有什么不同?

volatile 类型变量提供什么保证?能使得一个非原子操作变成原子操作吗?

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/75728.html

相关文章

  • 手撕面试系列(七):面试必备常问并发编程高级面试

    摘要:如何在线程池中提交线程内存模型相关问题什么是的内存模型,中各个线程是怎么彼此看到对方的变量的请谈谈有什么特点,为什么它能保证变量对所有线程的可见性既然能够保证线程间的变量可见性,是不是就意味着基于变量的运算就是并发安全的请对比下对比的异同。 并发编程高级面试面试题 showImg(https://upload-images.jianshu.io/upload_images/133416...

    Charles 评论0 收藏0
  • 一个JAVA渣渣的校招成长记,附BAT美团网易等20家面经总结

    摘要:作者重庆森林链接来源牛客网整个三月份通过牛客网和网友分享的经验学到了很多东西,现在反馈一下我的面试经历,希望对同学们有帮助。个人情况大三本方向渣硕,经过实验室学长内推,于三月底完成面试。校招是实力和运气的结合,缺一不可。 欢迎关注我的微信公众号:Java面试通关手册(坚持原创,分享美文,分享各种Java学习资源,面试题,以及企业级Java实战项目回复关键字免费领取):showImg(h...

    mozillazg 评论0 收藏0
  • 前端开发应届生面试指南(含各大公司具体指南及面试

    摘要:先介绍一下本人应届前端开发一枚,非科班出身,专业是化学,大学期间开始自学前端开发,在今年春招实习和秋招的时候投了一些公司,拿到一些京东拼多多虎牙等,总体来说还算满意,特地写一篇文章来总结一下面试的那些套路。 showImg(https://segmentfault.com/img/remote/1460000011897700); 先介绍一下本人应届前端开发一枚,非科班出身,专业是化学...

    sunnyxd 评论0 收藏0

发表评论

0条评论

CatalpaFlat

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<