多线程
-
现在有 T1、T2、T3 三个线程,你怎样保证 T2 在 T1 执行完后执行,T3 在 T2 执行完后执行?
-
在 Java 中 Lock 接口比 synchronized 块的优势是什么?你需要实现一个高效的缓存,它允许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现它?
-
在 java 中 wait 和 sleep 方法的不同?
-
用 Java 实现阻塞队列。
-
用 Java 写代码来解决生产者——消费者问题。
-
用 Java 编程一个会导致死锁的程序,你将怎么解决?
-
什么是原子操作,Java 中的原子操作是什么?
-
Java 中的 volatile 关键是什么作用?怎样使用它?在 Java 中它跟 synchronized 方法有什么不同?
-
什么是竞争条件?你怎样发现和解决竞争?
-
你将如何使用 threaddump?你将如何分析 Thread dump?
-
为什么我们调用 start()方法时会执行 run()方法,为什么我们不能直接调用 run()方法?
-
Java 中你怎样唤醒一个阻塞的线程?
-
在 Java 中 CycliBarriar 和 CountdownLatch 有什么区别?
-
什么是不可变对象,它对写并发应用有什么帮助?
-
你在多线程环境中遇到的常见的问题是什么?你是怎么解决它的?
数据库
-
请简洁描述 MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?
-
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 有什么用?只有了解了它有哪些特性,我们在用的时候才能扬长避短,为我们所用。
-
对 Redis 数据库做下小结。
中间件
-
activemq 的几种通信方式
-
activemq 如果数据提交不成功怎么办(消息丢失)
-
如何解决消息重复问题
-
大量的消息每页被消费,能否发生 oom 异常?
-
activeMQ 发送消息的方式有哪些?
-
activeMQ 如何调优
-
什么是死信队列?
-
Basic.Reject 的用法是什么?
-
为什么不应该对所有的 message 都使用持久化机制?
-
为什么 heavy RPC 的使用场景下不建议采用 disk node ?
-
向不存在的 exchange 发 publish 消息会发生什么?向不存在的 queue 执行 consume 动作会发生什么?
-
什么情况下 producer 不主动创建 queue 是安全的?
-
“dead letter”queue 的用途?
-
为什么说保证 message 被可靠持久化的条件是 queue 和 exchange 具有 durable 属性,同时 message 具有 persistent 属性才行?
JVM
-
内存模型以及分区,需要详细到每个区放什么。
-
堆里面的分区:Eden,survival (from+ to),老年代,各自的特点。
-
对象创建方法,对象的内存分配,对象的访问定位。
-
GC 的两种判定方法:
-
SafePoint 是什么
-
GC 的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?
-
GC 收集器有哪些?CMS 收集器与 G1 收集器的特点。
-
Minor GC 与 Full GC 分别在什么时候发生?
-
几种常用的内存调试工具:jmap、jstack、jconsole、jhat
-
类加载的几个过程:
-
JVM 内存分哪几个区,每个区的作用是什么?
-
如和判断一个对象是否存活?(或者 GC 对象的判定方法)
-
简述 java 垃圾回收机制?
-
java 中垃圾收集的方法有哪些?
-
java 内存模型
-
java 类加载过程?
-
简述 java 类加载机制?
-
类加载器双亲委派模型机制?
-
什么是类加载器,类加载器有哪些?
-
简述 java 内存分配与回收策率以及 Minor GC 和 Major GC
spring
-
什么是 Spring 框架?Spring 框架有哪些主要模块?
-
Spring 的优点有什么?
-
请介绍下 spring 的事务管理
-
什么是控制反转(IOC)?什么是依赖注入?
-
请解释下 Spring 框架中的 IoC?
-
BeanFactory 和 ApplicationContext 有什么区别?
-
Spring 有几种配置方式?
-
请解释 Spring Bean 的生命周期?作用域之间有什么区别?
-
什么是 Spring inner beans?
-
Spring 框架中的单例 Beans 是线程安全的么?
-
请举例说明如何在 Spring 中注入一个 Java Collection?
-
如何向 Spring Bean 中注入一个 Java.util.Properties
-
请解释自动装配模式的区别?
-
构造方法注入和设值注入有什么区别?
-
Spring 框架中有哪些不同类型的事件?
-
FileSystemResource 和 ClassPathResource 有何区别?
-
Spring 框架中都用到了哪些设计模式?