其实 Zookeeper 的选举机制也不难理解,今日头条 Java 后端面试
Redis
什么是 Redis?
Redis 的数据类型?
使用 Redis 有哪些好处?
Redis 相比 Memcached 有哪些优势?
Memcache 与 Redis 的区别都有哪些?
Redis 是单进程单线程的?
一个字符串类型的值能存储最大容量是多少?
Redis 的持久化机制是什么?各自的优缺点?
Redis 常见性能问题和解决方案:
redis 过期键的删除策略?
Redis 的回收策略(淘汰策略) ?
为什么 Redis 需要把所有数据放到内存中?
Redis 的同步机制了解么?
Pipeline 有什么好处,为什么要用 pipeline?
是否使用过 Redis 集群,集群的原理是什么?
Redis 集群方案什么情况下会导致整个集群不可用?
Redis 支持的 Java 客户端都有哪些?官方推荐用哪个?
Jedis 与 Redisson 对比有什么优缺点?
Redis 如何设置密码及验证密码?
说说 Redis 哈希槽的概念?
Redis 集群的主从复制模型是怎样的?
Redis 集群会有写操作丢失吗?为什么?
Redis 集群之间是如何复制的?
Redis 集群最大节点个数是多少?
Redis 集群如何选择数据库?
怎么则试 Redis 的连通性?
怎么理解 Redis 事务?
Redis 事务相关的命令有哪几个?
Redis key 的过期时间和永久有效分别怎么设置?
Redis 如何做内存优化?
Redis 回收进程如何工作的?
都有哪些办法可以降低 Redis 的内存使用情况呢?
Redis 的内存用完了会发生什么?
MySQL
MySQL 中有哪几种锁?
MySQL 中有哪些不同的表格?
简述在 MySQI 数据库中 MyISM 和 InnoDB 的区别
MySQL 中 InmnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?
CHAE 和 VARCHR 的区别?
主键和候选键有什么区别?
myi samchk 是用来做什么的?
如果一个表有一-列定义为 TIMESTAMP, 将发生什么?
你怎么看到为表格定义的所有索引?
IIK 声明中的 %和是什么意思?
列对比运算符是什么?
BLOB 和 TEXT 有什么区别?
MySQL_ fetch_ arr ay 和 MySQL_ fetch_ object 的区别是什么?
MyISAM 表格将在哪里存储,并且还提供其存储格式?
MySQL 如何优化 DISTINCT?
如何显示前 50 行?
可以使用多少列创建索引?
NOW ()和 CURRENT DATE ()有什么区别?
什么是非标准字符串类型?
什么是通用 SQL 函数?
MySQL 支持事务吗?
MySeL 里记录货币用什么字段类型好
MySQL 有关权限的表都有哪几个?
列的字符串类型可以是什么?
MySQI 数据库作发布系统的存储,一天五万条以上的增里,预计运维三年,怎么优化?
锁的优化策略
Spring
什么是 spring?
使用 Spring 框架的好处是什么?
Spr ing 由哪些模块组成?
核心容器(应用上下文)模块。
BeanFactory – BeanFactory 实现举例。
XMLBeanFactory
解释 AP 模块
解释 JBC 抽象和 DAD 模块。
解释对象/关系映射集成模块。
解释 WEB 模块。
Spring 置文件
什么是 Spring IOC 容器?
IOC 的优点是什么?
ApplicationContext 通常的实现是什么?
Bean 工厂和 Applicati on contexts 有什么区别?
一个 Spring 的应用看起来象什么?
什么是 Spring 的依赖注入?
有哪些不同类型的 IOC (依赖注入)方式?
哪种依赖注入方式你建议使用,构造器注入,还是 Setter 方法注入?Spring Beans
什么是 Spring beans?
一个 Spring Bean 定义包含什么?
如何给 Spring 容器提供配置元数据?
你怎样定义类的作用域?
解释 Spring 支持的几种 bean 的作用域。
Java 核心知识点
Java 核心知识点共 29 个技术模块,从各个角度深入浅出,对重点难点进行全方面解读,图文结合,通俗易懂,让学习成为一种享受。
JVM
线程
JM 内存区域
JVM 运行时内存
垃圾回收与算法
JAVA 四中引用类型
GC 分代收集算法 vS 分区收集算法
GC 垃圾收集器
JAVA I0/NI0
JVM 类加载机制
Java 多线程/并发
JAVA 并发知识库
JAVA 线程实现/创建方式
4 种线程池
线程生命周期(状态)
终止线程 4 种方式
sleep 与 wait 区别
start 与 run 区别
JAVA 后台线程
JAVA 锁
线程基本方法
线程上下文切换
同步锁与死锁
线程池原理
JAVA 阻塞队列原理
Cycli cBarrier、CountDownLatch、Semaphor e 的用法
volatile 关键字的作用(变量可见性、禁止重排序)
如何在两个线程之间共享数据
ThreadLoca1 作用 (线程本地存储)
synchr oni ze Reentr antLock 的区别
Concur entHashMlap 并发
Java 中 用到的线程调度
进程调度算法
什么是 CAS (比较并交换-乐观锁机制-锁自旋)
什么是 AQS (抽象的队列同步器)
Spring Boot
什么是 Spring Boot?
为什么要用 Spr ingBoot
Spring Boot 有哪些优点?
Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
运行 Spring Boot 有哪几种方式
如何理解 Spring Boot 中的 Starters?
如何在 Spring Boot 启动的时候运行一些特定的代码?
Spring Boot 需要独立的容器运行吗?
Spring Boot 中的监视器是什么?
如何使用 Spring Boot 实现异常处理?
你如何理解 Spring Boot 中的 Starters
Springboot 常用的 star ter 有哪些
Spr ingBoot 实现热部署有哪几种方式
如何理解 Spring Boot 配置加载顺序
Spring Boot 的核心配置文件有哪几个?它们的区别是什么?
如何集成 Spring Boot 和 ActiveMQ
什么是 JavaConfig?
如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
Spring Boot 中的监视器是什么?
如何在 Spring Boot 中禁用 Actuator 端点安全性?
如何在自定义端口上运行 Spring Boot 应用程序?
什么是 YAML?
如何实现 Spring Boot 应用程序的安全性?
如何集成 Spring Boot 和 ActiveMQ?
如何使用 Spring Boot 实现分页和排序?
什么是 Swagger? 你用 Spring Boot 实现了它吗?
微服务
PACT 在微服务架构中的用途是什么?
微服务架构有哪些优势?
微服务有哪些特点?
设计微服务的最佳实践是什么?
微服务架构如何运作?
微服务架构的优缺点是什么?
单片,SOA 和微服务架构有什么区别?
在使用微服务架构时,您面临哪些挑战?
SOA 和微服务架构之间的主要区别是什么?
微服务有什么特点?
什么是领域驱动设计?
为什么需要域驱动设计(DDD) ?
什么是无所不在的语言?
什么是凝聚力?
什么是耦合?
什么是 reST 1 RESTful 以及它的用途是什么?
你对 Spring Boot 有什么了解?
什么是 Spring 引导的执行器?
什么是 Spring Cloud?
Spring Cloud 解决了哪些问题?
在 Spring MVC 应用程序中使用 WebMvcTest 注释有什么用处?
你能否给出关于休息和微服务的要点?
什么是不同类型的微服务测试?
您对 Distributed Transaction 有何了解?
什么是 Idempotence 以及它在哪里使用?
什么是有界上下文?
什么是双因素身份验证?
Mybatis
什么是 Mybatis?
Mybaits 的优点
MyBatis 框架的缺点
MyBatis 框架适用场合
MyBatis 与 Hibernate 有哪些不同?
当实体类中的属性名和表中的字段名不一样,怎么办?
模糊查询 like 语句该怎么写?
通常-个 Xml 映射文件,都会写-个 Dao 接口与之对应,请问,这个 Dao 接口的工作原理是什么? Dao 接口里的方法,参数不同时,方法能重载吗?
如何获取自动生成的(住)键值?
在 mapper 中如何传递多个参数?
Mybatis 动态 sql 有什么用?执行原理?有哪些动态 sql?
Xml 映射文件中,除了常见的 select |insert |updse |delete 标签之外,还有哪些标签?
Mybatis 的 Xml 映射文件中,不同的 Xml 映射文件,id 是否可以重复?
为什么说 Mybatis 是半自动 ORM 映射工具?它与全自动的区别在哪里?
一对一、一对多的关联查询?
MyBatis 实现-对一有几种方式?具体怎么操作的?
MyBatis 实现一对多有几种方式怎么操作的?
Mybatis 是否支持延迟加载?如果支持,它的实现原理是什么?
Mybatis 的一级、二级缓存
什么是 MyBatis 的接口绑定?有哪些实现方式?
使用 MyBatis 的 mapper 接口调用时有哪些要求?
Mapper 编写有哪几种方式?
最后
分享一些系统的面试题,大家可以拿去刷一刷,准备面试涨薪。
这些面试题相对应的技术点:
JVM
MySQL
Mybatis
MongoDB
Redis
Spring
Spring boot
Spring cloud
Kafka
RabbitMQ
Nginx
......
大类就是:
Java 基础
数据结构与算法
并发编程
数据库
设计模式
微服务
消息中间件
评论