Java研发岗高频面试:怀疑人生的BATJ面试题集

前言

面试是找工作的必修课,在这短短的几十分钟里,不仅要让面试官认可你的专业能力,而且还有你的人品特点以及职业方向。这样我们在回答面试官问题的时候就需要一些语言技巧来包装自己,这对那些不善言语的程序员尤为重要,会直接影响你的薪资。

金九银十趁着这几天,小编为大伙新整理了一份面试复习资料,希望可以帮到你们哦~

包括:JVM、Redis、Spring、Kafka 、数据库、设计模式等知识点

话不多说,这些都是这几年来BATJ面试问的最多关于Java的面试题,大家可以以这个为标准!多做准备!

JVM

  1. GC 的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?
  2. GC 收集器有哪些? CMS 收集器与 G1 收集器的特点。
  3. JVM 内存分哪几个区,每个区的作用是什么?
  4. 如和判断一个对象是否存活?(或者 GC 对象的判定方法)
  5. 简述 java 类加载机制?
  6. 什么是类加载器,类加载器有哪些?

Mysql

  1. 与 Oracle 相比, Mysql 有什么优势?
  2. 简洁描述 Mysql 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?
  3. 在 Mysql 中 ENUM 的用法是什么?
  4. Mysql 中使用什么存储引擎?
  5. 如何使用 Unix shell 登录 Mysql
  6. Mysql 中有哪几种锁?简单介绍一下

Spring

  1. 使用 Spring 框架能带来哪些好处?
  2. 什么是控制反转(IOC)?什么是依赖注入?
  3. BeanFactory 和 ApplicationContext 有什么区别?
  4. 如何用基于 XML 配置的方式配置 Spring?
  5. 如何用基于 Java 配置的方式配置 Spring?
  6. 请解释 Spring Bean 的生命周期?

Tomcat

  1. Tomcat 的缺省端口是多少,怎么修改?
  2. tomcat 有哪几种 Connector 运行模式(优化)?
  3. Tomcat 有几种部署方式?
  4. 监视 Tomcat 的内存使用情况
  5. Tomcat 一个请求的完整过程
  6. Tomcat 工作模式

Redis

  1. redis 主从复制如何实现的? redis 的集群模式如何实现? redis 的 key 是如何寻址的?
  2. 使用 redis 如何设计分布式锁?说一下实现思路?使用 zk 可以吗?如何实现?这两种有什么区别?
  3. 知道 redis 的持久化吗?底层如何实现的?有什么优点缺点?
  4. redis 过期策略都有哪些? LRU 算法知道吗?写一下 java 代码实现
  5. 缓存穿透、缓存击穿、缓存雪崩解决方案?
  6. 在选择缓存时,什么时候选择 redis,什么时候选择 memcached

微服务

  1. 你怎么看待微服务
  2. 说说如何设计一个良好的 API
  3. 如何理解 RESTful API 的幂等性
  4. 微服务如何进行数据库管理

多线程

  1. 现在有 T1、 T2、 T3 三个线程,你怎样保证 T2 在 T1 执行完后执行, T3 在 T2 执行完后执行?
  2. 在 java 中 wait 和 sleep 方法的不同?
  3. 用 Java 编程一个会导致死锁的程序,你将怎么解决?
  4. 什么是竞争条件?你怎样发现和解决竞争?
  5. 为什么我们调用 start()方法时会执行 run()方法,为什么我们不能直接调用 run()方法?
  6. Java 中你怎样唤醒一个阻塞的线程?

设计模式

  1. 在 Java 中,为什么不允许从静态方法中访问非静态变量?
  2. 在 Java 中,什么时候用重载,什么时候用重写?
  3. 举例说明什么情况下会更倾向于使用抽象类而不是接口?
  4. Java 中什么叫单例设计模式?请用 Java 写出线程安全的单例模式
  5. 什么是设计模式?你是否在你的代码里面使用过任何设计模式?
  6. 请列举出在 JDK 中几个常用的设计模式?

Nginx

  1. 请列举 Nginx 的一些特性
  2. 请解释 Nginx 如何处理 HTTP 请求。
  3. 使用“反向代理服务器”的优点是什么?
  4. 请列举 Nginx 服务器的最佳用途。
  5. 请解释你如何通过不同于 80 的端口开启 Nginx?
  6. 在 Nginx 中,解释如何在 URL 中保留双斜线?

ActiveMQ

  1. ActiveMQ 服务器宕机怎么办?
  2. ActiveMQ 中的消息重发时间间隔和重发次数吗?

Kafka

  1. Kafka 判断一个节点是否还活着有那两个条件?
  2. Kafa consumer 是否可以消费指定分区消息?
  3. Kafka 消息是采用 Pull 模式,还是 Push 模式?
  4. Kafka 存储在硬盘上的消息格式是什么?
  5. Kafka 创建 Topic 时如何将分区放置到不同的 Broker 中
  6. kafka 的 ack 机制

以上这些都是我总结的Java面试题,以下2020最新整理出的BATJ资深Java必考题和答案。

面试资料整理

关注文末公众号获取

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享

高频面试必备(Java研发岗):问到怀疑人生的BATJ面试题分享


文章提及资料获取:关注下方公众号即可

猜你喜欢

转载自blog.csdn.net/yunduo1/article/details/108647673