写点什么

java 程序员京东 T3 岗面试回顾:多线程 + 数据库 + 中间件 +JVM+spring

作者:钟奕礼
  • 2022-11-29
    湖南
  • 本文字数:1880 字

    阅读完需:约 6 分钟

多线程

  1. 现在有 T1、T2、T3 三个线程,你怎样保证 T2 在 T1 执行完后执行,T3 在 T2 执行完后执行?

  2. 在 Java 中 Lock 接口比 synchronized 块的优势是什么?你需要实现一个高效的缓存,它允许多个用户读,但只允许一个用户写,以此来保持它的完整性,你会怎样去实现它?

  3. 在 java 中 wait 和 sleep 方法的不同?

  4. 用 Java 实现阻塞队列。

  5. 用 Java 写代码来解决生产者——消费者问题。

  6. 用 Java 编程一个会导致死锁的程序,你将怎么解决?

  7. 什么是原子操作,Java 中的原子操作是什么?

  8. Java 中的 volatile 关键是什么作用?怎样使用它?在 Java 中它跟 synchronized 方法有什么不同?

  9. 什么是竞争条件?你怎样发现和解决竞争?

  10. 你将如何使用 threaddump?你将如何分析 Thread dump?

  11. 为什么我们调用 start()方法时会执行 run()方法,为什么我们不能直接调用 run()方法?

  12. Java 中你怎样唤醒一个阻塞的线程?

  13. 在 Java 中 CycliBarriar 和 CountdownLatch 有什么区别?

  14. 什么是不可变对象,它对写并发应用有什么帮助?

  15. 你在多线程环境中遇到的常见的问题是什么?你是怎么解决它的?


数据库

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

  2. CHAR 和 VARCHAR 的区别?

  3. 列的字符串类型可以是什么?

  4. MySQL 中使用什么存储引擎?

  5. TIMESTAMP 在 UPDATE CURRENT_TIMESTAMP 数据类型上做什么?

  6. 主键和候选键有什么区别?

  7. MySQL 数据库服务器性能分析的方法命令有哪些?

  8. LIKE 和 REGEXP 操作有什么区别?

  9. BLOB 和 TEXT 有什么区别?

  10. 数据库的三范式?

  11. MySQL 表中允许有多少个 TRIGGERS?

  12. 什么是通用 SQL 函数?

  13. MySQL 中有哪几种锁?

  14. MySQL 数据优化。

  15. MySQL 的关键字。

  16. 数据库备份。

  17. truncate delete drop 的区别。

  18. Redis 是什么?两句话做一下概括。

  19. Redis(管道,哈希)。

  20. Redis 实现原理或机制。

  21. Redis 有两种类型分区。

  22. 什么是 MongoDB。

  23. MongoDB 特点。

  24. MongoDB 的功能。

  25. MongoDB 的适用场景。

  26. Redis、memcache、MongoDB 对比。

  27. Redis 有什么用?只有了解了它有哪些特性,我们在用的时候才能扬长避短,为我们所用。

  28. 对 Redis 数据库做下小结。


中间件

  1. activemq 的几种通信方式

  2. activemq 如果数据提交不成功怎么办(消息丢失)

  3. 如何解决消息重复问题

  4. 大量的消息每页被消费,能否发生 oom 异常?

  5. activeMQ 发送消息的方式有哪些?

  6. activeMQ 如何调优

  7. 什么是死信队列?

  8. Basic.Reject 的用法是什么?

  9. 为什么不应该对所有的 message 都使用持久化机制?

  10. 为什么 heavy RPC 的使用场景下不建议采用 disk node ?

  11. 向不存在的 exchange 发 publish 消息会发生什么?向不存在的 queue 执行 consume 动作会发生什么?

  12. 什么情况下 producer 不主动创建 queue 是安全的?

  13. “dead letter”queue 的用途?

  14. 为什么说保证 message 被可靠持久化的条件是 queue 和 exchange 具有 durable 属性,同时 message 具有 persistent 属性才行?


JVM

  1. 内存模型以及分区,需要详细到每个区放什么。

  2. 堆里面的分区:Eden,survival (from+ to),老年代,各自的特点。

  3. 对象创建方法,对象的内存分配,对象的访问定位。

  4. GC 的两种判定方法:

  5. SafePoint 是什么

  6. GC 的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?

  7. GC 收集器有哪些?CMS 收集器与 G1 收集器的特点。

  8. Minor GC 与 Full GC 分别在什么时候发生?

  9. 几种常用的内存调试工具:jmap、jstack、jconsole、jhat

  10. 类加载的几个过程:

  11. JVM 内存分哪几个区,每个区的作用是什么?

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

  13. 简述 java 垃圾回收机制?

  14. java 中垃圾收集的方法有哪些?

  15. java 内存模型

  16. java 类加载过程?

  17. 简述 java 类加载机制?

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

  19. 什么是类加载器,类加载器有哪些?

  20. 简述 java 内存分配与回收策率以及 Minor GC 和 Major GC


spring

  1. 什么是 Spring 框架?Spring 框架有哪些主要模块?

  2. Spring 的优点有什么?

  3. 请介绍下 spring 的事务管理

  4. 什么是控制反转(IOC)?什么是依赖注入?

  5. 请解释下 Spring 框架中的 IoC?

  6. BeanFactory 和 ApplicationContext 有什么区别?

  7. Spring 有几种配置方式?

  8. 请解释 Spring Bean 的生命周期?作用域之间有什么区别?

  9. 什么是 Spring inner beans?

  10. Spring 框架中的单例 Beans 是线程安全的么?

  11. 请举例说明如何在 Spring 中注入一个 Java Collection?

  12. 如何向 Spring Bean 中注入一个 Java.util.Properties

  13. 请解释自动装配模式的区别?

  14. 构造方法注入和设值注入有什么区别?

  15. Spring 框架中有哪些不同类型的事件?

  16. FileSystemResource 和 ClassPathResource 有何区别?

  17. Spring 框架中都用到了哪些设计模式?

答案获取方式——资料已整理成文档,免费获取,需要的小伙伴可以+ VX: mxk6072


用户头像

钟奕礼

关注

还未添加个人签名 2021-03-24 加入

还未添加个人简介

评论

发布
暂无评论
java程序员京东T3岗面试回顾:多线程+数据库+中间件+JVM+spring_Java_钟奕礼_InfoQ写作社区