当前位置: 首页 > news >正文

秋招 2022 年面试不用愁,速看 BATJ 最新 Java 面试题整理合集

就要进入到十一月份了,俗话说的好金九银十,但 因今年疫情的缘故,企业开工普遍比较晚些,但程序员们也开始陆陆续续的复工了,即将迎来今年的求职潮。 还在家待业的朋友们不用担心,如果想在这个期间拿到一份满意的 offer,那么就应该从现在开始着手准备面试了。

今天跟大家聊聊在互联网企业面试的那些面试题,通过个人网络收集整理了过往 BATJ 互联网大厂以及其他企业面试题。面试题包括 Java、Redis、MyBatis、Zookeeper、Dubbo、MySQL、Elasticsearch、Spring、Spring Boot、MQ、JVM 等送给大家,,希望这些的面试题对大家有所帮助,顺利找到适合自己的公司。

** Redis 面试题**

Redis(全称:Remote Dictionary Server 远程字典服务)是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。

什么是 Redis?
Redis 的数据类型有哪些?
Redis 有什么优点?
Redis 有什么缺点?
Redis 相比 memcached 有哪些优势?
Redis 和 memcached 有哪些区别?
redis 是否是单进程单线程方式,为什么?
Redis 持久化有哪几种方式? 
都有什么优缺点?
Redis 常见的性能问题和解决方法Redis 内存回收策略(淘汰策略)?
Redis 的过期键删除策略有哪几种?
Redis 中 Pipeline 有什么好处,为什么要用 pipeline?
Redis 是如何实现的同步机制?
什么是缓存穿透? 
如何避免? 
什么是缓存雪崩? 
何如避免?
为什么 Redis 要把所有数据放到内存中?
Redis 集群的原理是什么?
Redis 集群在什么情况下会导致整个集群不可用?
Redis 集群的主从复制模型是怎样的?
Redis key 的过期时间和永久有效分别怎么设置?
Redis 支持的 Java 客户端都有哪些? 
官方推荐用哪个?
说说 Redis 哈希槽的概念?
怎么理解 Redis 事务?
Redis 集群如何复制? 
最大节点数? 
是否支持选择数据库?
Redis 和 Redisson 有什么关系?
Jedis 与 Redisson 对比有什么优缺点?
怎么理解 Redis 事务? 
相关命令有哪些?
如果有大量的 key 需要设置同一时间过期,一般需要注意什么?
Redis 适合的场景有哪些?
一个 Redis 实例最多能存放多少的 keys? 
List、Set、Sorted Set 他们最多能存放多少元素?
Redis 持久化数据和缓存怎么做扩容?
Redis 如何做内存优化?

Redis 回收进程如何工作的?

注:此部分面试题答案已为各位准备完成,请收好!。

MyBatis 面试题

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs 映射成数据库中的记录。

什么是 Mybatis?
Mybaits 框架优缺点,适用于什么场合?
MyBatis 与 Hibernate 有哪些不同?
在 MyBatis 框架中 #{} 和 ${} 的区别是什么?
在实体类中的属性名和表中的字段名不同如何解决?
模糊查询 like 语句一般怎么写?Mybatis 是如何进行分页的? 
分页插件的原理是什么?
如何获取自动生成的 (主) 键值?
在 mapper 中如何传递多个参数?
Mybatis 动态 sql 有什么用? 
有哪些动态 sql? 
简述一下执行原理?
为什么 Mybatis 是半自动 ORM 映射工具? 
它与全自动有什么区别?
Mybatis 是否支持延迟加载? 
如果支持,它的实现原理是什么?
简述 Mybatis 的插件运行原理及如何编写一个插件?
Mybatis 都有哪些 Executor 执行器? 
它们之间的区别是什么?
什么情况下用注解绑定,什么情况下用 xml 绑定?
MyBatis 实现一对一有几种方式?
它们之间的区别有哪些?
Mybatis 是否支持延迟加载? 
如果支持,其实现原理是什么?
Mybatis 有哪些 Executor 执行器? 有什么区别?

Mybatis 中不同的 Xml 映射文件 id 是否可以重复?

**  Zookeeper 面试题**

Zookeeper 是一个开源的分布式协调服务,由雅虎创建是 Google Chubby 的开源实现。分布式应用程序可以基于 Zookeeper 实现诸如数据发布 / 订阅、负载均衡、命名服务、分布式协调 / 通知、集群管理、Master 选举、配置维护,名字服务、分布式同步、分布式锁和分布式队列等功能。

ZooKeeper 是什么?
ZooKeeper 提供了什么?
Zookeeper 文件系统是什么?
Zookeeper 是如何保证事务的顺序一致性的?
分布式集群中为什么会有 Master?
Zookeeper 是如何选取主 leader 的?
说一说对 Zookeeper 分布式锁如何理解的?
Zookeeper 负载均衡和 nginx 负载均衡区别Zookeeper 有哪几种几种部署模式?
集群不得少于几台服务器,集群规则是什么?
Zookeeper 的 java 客户端都有哪些?
说一说 zookeeper 常用的命令有哪些?
ZAB 和 Paxos 算法的联系与区别?
Zookeeper 负载均衡和 Nginx 负载均衡有什么区别?
客户端注册 Watcher 实现原理。Zookeeper 是如何保证事务的顺序一致性的?
Zookeeper 对节点的 watch 监听通知是永久的吗? 为什么?
Zookeeper 节点宕机如何处理?
集群支持动态添加服务器吗?Zookeeper 的典型应用场景举例。

Dubbo 面试题

Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成。

为什么要用 Dubbo?
Dubbo 的整体架构设计有哪些分层?
Dubbo 默认使用的是什么通信框架,还有其他的选择吗?
Dubbo 服务调用是阻塞的吗?
Dubbo 一般使用什么注册中心? 
还有其他的选择吗?
Dubbo 默认使用什么序列化框架,还有哪些序列化框架?
Dubbo 推荐使用什么协议?
同一个服务多个注册的情况下可以直连某一个服务吗?
画一画服务注册与发现的流程图?
Dubbo 配置文件是如何加载到 Spring 中的?
Dubbo 集群容错有几种方案?
Dubbo 支持分布式事务吗?
Dubbo 可以对结果进行缓存吗?
Dubbo 服务降级,失败重试怎么做?
如何 Dubbo 解决服务调用链过长的问题?
Dubbo Monitor 实现原理?
Dubbo 支持服务降级吗?
Dubbo 用到哪些设计模式?
Dubbo telnet 命令有什么用?
Dubbo 必须依赖的包有哪些?
Dubbo 如何优雅停机?
如何理解 Dubbo 服务暴露的过程?
服务上线怎么兼容旧版本?
Dubbo 和 Spring Cloud 的区别?

Dubbo 使用过程中都遇到了些什么问题?

MySQL 面试题

MySQL 是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL 索引是什么? 
有什么作用以及缺点?
MySQL 中什么是事务,事务特性?
MySQL 如何开启慢日志查询?
针对 MySQL 对于大表的常见优化手段有哪些?
MySQL 优化 SQL 的方法,举例不少于 5 条。谈谈三大范式,什么时候使用反范式设计?
MySQL 中 myisam 与 innodb 的区别?
MySQL 中 varchar 与 char 的区别及 varchar (50) 中 50 代表什么含义?
MySQL binlog 有几种日志录入格式及有什么区别?
MySQL 数据库 CPU 飙升到 500% 的话如何处理?
MySQL 备份恢复失败如何处理?
如何从 mysqldump 全库备份中只恢复某一个库、某一张表?

如何设计一个高并发的系统?

Elasticsearch 面试题

Elasticsearch 是一个高度可扩展的、开源的、基于 Lucene 的全文搜索和分析引擎。

为什么要使用 Elasticsearch?
Elasticsearch 中的群集是什么?
ElasticSearch 中的分片是什么?
Elasticsearch 数据储存方式。Elasticsearch 可以取代数据库吗?
Elasticsearch 中如何删除索引,常用命令有哪些?
Elasticsearch 是如何实现 Master 选举的?
在 Elasticsearch 中搜索的方式有哪些?
详细描述一下 Elasticsearch 索引文档的过程。如何在 Elasticsearch 群集中添加或创建索引?
详细描述一下 Elasticsearch 搜索的过程。Elasticsearch 对于大数据量(上亿量级)的聚合如何实现?在并发情况下,Elasticsearch 如果保证读写一致?
ElasticSearch 中的集群、节点、索引、文档、类型是什么?
Elasticsearch 索引数据如何调优和部署?
Elasticsearch 在部署时,对 Linux 设置有哪些优化方法?

详细描述一下 Elasticsearch 更新和删除文档的过程。

Spring 面试题

Spring 框架是一个开放源代码的 J2EE 应用程序框架,由 Rod Johnson 发起,是针对 bean 的生命周期进行管理的轻量级容器。Spring 解决了开发者在 J2EE 开发中遇到的许多常见的问题,提供了功能强大 IOC、AOP 及 Web MVC 等功能。

Spring 是什么?Spring 的优点?
谈谈对 Spring 的 AOP 理解谈谈对 Spring IoC 的理解?
谈谈对 Spring DI 的理解?
BeanFactory 接口和 ApplicationContext 接口有什么区别?
请介绍你熟悉的 Spring 核心类,并说明有什么作用?
什么是 Spring Bean 的生命周期?
Spring 支持的几种 bean 的作用域?
介绍 Spring 事务、实现方式及实现原理。Spring 框架中的单例 Beans 是线程安全的么?
Spring 如何处理线程并发问题?
Spring 基于 xml 注入 bean 的几种方式?
Spring 中都用到了哪些设计模式?
Spring 框架中有哪些不同类型的事件?

说一下 Spring AOP 中名词的含义?

Spring Boot 面试题

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot 致力于在蓬勃发展的快速应用开发领域成为领导者。

什么是 Spring Boot?
Spring Boot 有哪些优点? 
为什么要用 Spring Boot?
Spring Boot 的核心注解? 
它主要由哪几个注解组成?
Spring Boot 的配置文件有哪几种格式? 
它们有什么区别?
开启 Spring Boot 特性有哪几种方式?
Spring Boot 需要独立的容器运行吗?
运行 Spring Boot 有哪几种方式?
Spring Boot 自动配置原理是什么?
Spring Boot 中的监视器是什么?
如何在 Spring Boot 中禁用 Actuator 端点安全性?
Spring Boot 的目录结构是怎样的?
如何理解 Spring Boot 中的 Starters?
如何在 Spring Boot 启动时运行一些特定的代码?
Spring Boot 有哪几种读取配置的方式?
SpringBoot 实现热部署有哪几种方式?
如何集成 Spring Boot 和 ActiveMQ?
如何使用 Spring Boot 部署到不同的服务器?
Spring Boot、Spring MVC 和 Spring 有什么区别?
如何使用 Spring Boot 实现分页和排序?
Spring Boot 支持哪些日志框架? 
推荐和默认的日志框架是哪个?
如何理解 Spring Boot 配置加载顺序?
Spring Boot 如何定义多套不同环境配置?
Spring Boot 还提供了其它的哪些 Starter Project Options?
Spring Initializr 是创建 Spring Boot Projects 的唯一方法吗,为什么?

Spring Boot 2.X 有什么新特性?与 1.X 有什么区别?

MQ 面试题

MQ 全称为 Message Queue, 消息队列 (MQ) 是应用程序 “对” 应用程序的通信方法。

什么场景使用 MQ? 直接掉接口不可以吗?
MQ 都有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么区别?
Kafka 与传统 MQ 消息系统之间有三个关键区别?
如何保证消息队列的高可用?
如何保证消息不被重复消费? 
如何保证消费的时候是幂等的?
如何保证消息的可靠性传输? 
如果消息丢失了如何处理?
MQ 消息的顺序是怎么进行保证的?
如何解决消息队列的延时以及过期失效问题? 
消息队列满了以后该怎么处理? 
有几百万消息持续积压几小时,说说怎么解决?

如果写一个消息队列,该如何进行架构设计?

JVM 面试题

JVM 是 Java Virtual Machine(Java 虚拟机)的缩写,JVM 是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

JVM 在什么情况下会发生栈内存溢出?
详解介绍 JVM 内存模型JVM 内存为什么要分成新生代,老年代,持久代? 
新生代中为什么要分为 Eden 和 Survivor?
JVM 三大性能调优参数,JVM 有哪些重要参数?
JVM 如何调优?
描述 JVM 中一次 Full gc 过程。

强引用、软引用、弱引用、虚引用的区别?

你知道哪几种垃圾收集器?各自的优缺点,重点说一说 cms 和 G1,包括原理,流程,优缺点。

JVM 内存模型的相关知识了解吗?介绍一下重排序,内存屏障,happen-before,主内存,工作内存。

Java 垃圾回收机制。

Java 中都有哪些引用类型?

JVM 中类加载机制,类加载过程,什么是双亲委派模型?,类加载器有哪些

如何判断是否有内存泄露?定位 Full GC 发生的原因,有哪些方式?

不同技术类型的面试题先总结这些,后期会持续更新并针对每种技术类型的面试题发布相关答案,海量面试题准备你来看喽!

【这里想说,因为自己也走了很多弯路过来的,所以才下定决心整理,收集过程虽不易,但想到能帮助到一部分自学java 的人,心里也是甜的!有需要的伙伴请点㊦方】↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

相关文章:

  • 从Kafka的可靠性设计体验软件设计之美
  • Linux操作系统的安装与配置
  • 底层逻辑(1) 是非对错
  • nginx+keepalived 高可用项目实战
  • VPP 中注册的node是如何被调用起来的
  • VUE3与Uniapp 三 (属性绑定)
  • Self-attention与Word2Vec
  • FL Studio Producer Edition2024中文进阶版Win/Mac
  • 模拟面试/面试题
  • 【C++】类和对象之常引用与运算符重载
  • nginx-------- 验证模块 页面配置 网页配置(三)
  • 单机取证-信息安全管理与评估-2022年国赛真题-环境+wp
  • react面试题
  • STM32F103移植FreeRTOS必须搞明白的系列知识---3(堆栈)
  • 人脑能否重启?
  • 【微信小程序】创建自己的小程序
  • Jmeter基于Java请求的二次开发(结合java代码测Dubbo接口)
  • Redis哨兵模式与Redis缓存穿透、击穿和雪崩
  • python——全局解释器锁(GIL)
  • 武汉市服务业领军企业认定条件、流程及申报政策奖励补贴标准
  • 我的第一篇技术博客 —— 梦的开始
  • 变分自编码器VAE的直观理解与原理推导 及 问题记录
  • 【python】准点跑路人必备小程序~ 不信你用不到
  • 10个常见的使用场景,助你从 Vue2 丝滑过渡到 Vue3 !
  • Java线程安全的时间类
  • 驱动开发:内核枚举IoTimer定时器
  • sumo的简单使用
  • 【C++】C++入门
  • Docker精通:微服务
  • HCIA-LTE学习总结03~04
  • Python Apex Legends 武器自动识别与压枪 全过程记录
  • 『Android』Toolbar+DrawerLayout+NavigationView实现类似QQ侧边栏效果