人手必备!2021阿里最新 Java 后端面试详解最终版出炉

前言:

本文收集整理了各大厂常见面试题 N 道,你想要的这里都有内容涵盖:Java、MyBatis、ZooKeeper、dubbo、Elasticsearch、Memcached、RedisMysqL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈,希望大家都能找到适合自己的公司,开开心心的撸代码

目录:

由于题量较多,篇幅的限制,文章中的面试题分享没有全部附上详细的解析,但是整理成了一份详细的 PDF 文档可分享给大家

看面试题可以是为了面试,也可以是对自己学到的东西的一种查漏补缺,更加深刻的去了解一些核心知识点

MyBatis 面试题

  • 1、什么是 Mybatis?

  • 2、Mybaits 的优点:

  • 3、MyBatis 框架的缺点:

  • 4、MyBatis 框架适用场合:

  • 5、MyBatis 与 Hibernate 有哪些不同?

  • 6、#{}和 ${}的区别是什么?

  • 7、当实体类中的属性名和表中的字段名不一样 ,怎么办 ?

  • 8、 模糊查询 like 语句该怎么写?

第 1 种:在 Java 代码添加 sql 通配符。

string wildcardname = “%smi%”;
list<name> names = mapper.selectlike(wildcardname);
<select id=”selectlike”>
select * from foo where bar like #{value}
</select>

复制代码

...................MyBatis 面试题共 27 道,内容过多,文章尽量简洁,需要整个文档资料的,可以添加小助理,免费领取 :
 

 

ZooKeeper 面试题

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

  • zookeeper 负载均衡和 Nginx 负载均衡区别

  • Zookeeper Watcher 机制--数据变更通知

  • 客户端注册 Watcher 实现

  • zookeeper 是如何保证事务的顺序一致性的?

  • Zookeeper 对节点的 watch 监听通知是永久的吗?为什么不是永久的?

  • zk 节点宕机如何处理?

Zookeeper 本身也是集群,推荐配置不少于 3 个服务器。Zookeeper 自身也要保证当一个节点宕机时,其他节点会继续提供服务。如果是一个 Follower 宕机,还有 2 台服务器提供访问,因为 Zookeeper 上的数据是有多个副本的,数据并不会丢失;如果是一个 leader 宕机,Zookeeper 会选举出新的 leader。ZK 集群的机制是只要超过半数的节点正常,集群就能正常提供服务。只有在 ZK 节点挂得太多,只剩一半或不到一半节点能工作,集群才失效。所以 3 个节点的 cluster 可以挂掉 1 个节点(leader 可以得到 2 票>1.5)2 个节点的 cluster 就不能挂掉任何 1 个节点了(leader 可以得到 1 票<=1)

..........

dubbo 面试题

Spring Eureka 从开源转变为闭源,Consul 正在崛起,而 dubbo 又开始重新更新。目前市场上仍有不少公司使用 dubbo 我们也需要继续学习。

  • 为什么要用 dubbo?

  • 认使用的是什么通信框架,还有别的选择吗?

  • 服务调用是阻塞的吗?

  • 一般使用什么注册中心?还有别的选择吗?

  • 认使用什么序列化框架,你知道的还有哪些?

  • dubbo 的整体架构设计有哪些分层?

...............

Elasticsearch 面试题

  • elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段 。

  • elasticsearch 索引数据多了怎么办,如何调优,部署

  • elasticsearch 是如何实现 master 选举的

  • Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法

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

  • Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法

...........

Redis 面试题

随着应用研发技术的不断成熟,Redis 缓存技术已经成为后台研发同学必备的能力之一。在很多公司面试的过程中,都必不可少地考察 Redis 知识点的掌握。

  • 使用 Redis 有哪些好处?

  • Redis 是单进程单线程的?

  • Redis 的持久化机制是什么?各自的优缺点?

  • Redis 常见异常问题和解决方案(雪崩,穿透...)

  • redis 过期键的删除策略?

  • 为什么 redis 需要把所有数据放到内存中?

  • Redis 集群的主从复制模型是怎样的?

  • Redis key 的过期时间和永久有效分别怎么设置?

..........内容过多,文章尽量简洁,需要整个文档资料的私信我(面试)即可获取免费领取方式

MysqL 面试题

如今互联网行业用的最多就是 MysqL,然而对于高级 Web 面试者,尤其对于寻找 30k 下工作的求职者,很多 MysqL 相关知识点基本都会涉及,如果面试中,你的相关知识答的模糊和不切要点,基本大多稍好公司的面试官,基本也不会对你有兴趣,毕竟稍微量大的项目,最终都会让你去深入数据库,而且最终的大多瓶颈首先也会出现在数据库

MysqL 相关存储引擎。

MysqL 索引实现原理。

MysqL 数据库锁。

MysqLsql 调优。

MysqL 分表分库全局 ID。

...............

Java 并发编程

  • 在 java 中守护线程和本地线程区别?

  • 什么是多线程中的上下文切换?

  • Java 中用到的线程调度算法是什么?

  • 什么是线程组,为什么在 Java 中不推荐使用?

  • 在 Java 中 Executor 和 Executors 的区别?

  • 并发编程三要素?

  • 什么是线程池?有哪几种创建方式?

.........内容过多,文章尽量简洁,需要整个文档资料的私信我(面试)即可获取免费领取方式

Spring 面试题

  • 1. 谈谈对 Spring IoC 的理解?

  • 2. 谈谈对 Spring DI 的理解?

  • 3. beanfactory 接口和 ApplicationContext 接口不同点是什么?

  • 4. 请介绍你熟悉的 Spring 核心类,并说明有什么作用?

  • 5. 介绍一下 Spring 的事务的了解?

  • 6. 介绍一下 Spring 的事务实现方式?

  • 7.什么是 Spring 的依赖注入?

..........

Kafka 面试题

  • Kafka 与传统 MQ 消息系统之间有三个关键区别

  • 讲一讲 kafka 的 ack 的三种机制

  • 消费者故障,出现活锁问题如何解决

  • kafka 分布式(不是单机)的情况下,如何保证消息的顺序消费

  • kafka 如何不消费重复数据?比如扣款,我们不能重复的扣。

....

读者福利

由于题量较多,篇幅的限制,文章中的面试题分享没有全部附上详细的解析,有需要的 可以添加小助理领取 : 
 

相关文章

在笔者近 3 年的 Java 一线开发经历中,尤其是一些移动端、用...
这一篇文章拖了有点久,虽然在项目中使用分布式锁的频率比较...
本文梳理总结了一些 Java 互联网项目中常见的 Redis 缓存应用...
书接上回,消息通知系统(notification-system)作为一个独立...
Redis 是目前互联网后端的热门中间件之一,在许多方面都有深...
在Java Spring 项目中,数据与远程数据库的频繁交互对服务器...