Java 进阶面试合集笔记——19 个技术栈,35 岁以后的 Java 程序员出路在哪里
八、网络
====
http 响应码 301 和 302 代表的是什么?有什么区别?
forward 和 redirect 的区别?
简述 tcp 和 udp 的区别?
tcp 为什么要三次握手,两次不行吗?为什么?
说一下 tcp 粘包是怎么产生的?
OSI 的七层模型都有哪些?
ge
t 和 post 请求有哪些区别?
如何实现跨域?
说一下 JSONP 实现原理?
九、设计模式
======
说一下你熟悉的设计模式?
简单工厂和抽象工厂有什么区别?
十、Spring/Spring MVC
===================
什么是 spring?
Spring 的俩大核心概念
Spring 框架的设计目标,设计理念,和核心是什么
Spring 由哪些模块组成?
Spring 框架中都用到了哪些设计模式?
使用 Spring 有哪些方式?
spring 支持几种 bean 的作用域?
spring 自动装配 bean 有哪些方式?
spring 事务实现方式有哪些?
什么是 Spring MVC?简单介绍下你对 Spring MVC 的理解?
Spring MVC 的主要组件?
什么是 Spring MVC 框架的控制器?
MVC 是什么?MVC 设计模式的好处有哪些
Spring MVC 常用的注解有哪些?
Spring MVC 与 Struts2 区别
Spring MVC 怎么样设定重定向和转发的?
Spring MVC 的异常处理?
什么是 Spring MVC 框架的控制器?
说一下 spring mvc 运行流程?
spring mvc 有哪些组件?
@RequestMapping 的作用是什么
@Autowired 的作用是什么?
十一、Spring Boot/Spring Cloud
===========================
什么是 spring boot?
为什么要用 spring boot?
spring boot 核心配置文件是什么?
spring boot 配置文件有哪几种类型?它们有什么区别?
spring boot 有哪些方式可以实现热部署?
jpa 和 hibernate 有什么区别?
什么是 spring cloud?
spring cloud 断路器的作用是什么?
spring cloud 的核心组件有哪些?
十二、Hibernate
============
为什么要使用 hibernate?
什么是 ORM 框架?
hibernate 中如何在控制台查看打印的 sql 语句?
hibernate 有几种查询方式?
hibernate 实体类可以被定义为 final 吗?
在 hibernate 中使用 Integer 和 int 做映射有什么区别?
hibernate 是如何工作的?
get()和 load()的区别?
说一下 hibernate 的缓存机制?
hibernate 对象有哪些状态?
在 hibernate 中 getCurrentSession 和 openSession 的区别是什么?
hibernate 实体类必须要有无参构造函数吗?为什么?
十三、Mybatis
==========
MyBatis 是什么?
Mybatis 优缺点
Hibernate 和 MyBatis 的区别
为什么说 Mybatis 是半自动 ORM 映射工具?它与全自动的区别在哪里?
传统 JDBC 开发存在什么问题?
JDBC 编程有哪些不足之处,MyBatis 是如何解决的?
MyBatis 和 Hibernate 的适用场景?
MyBatis 编程步骤是什么样的?
请说说 MyBatis 的工作原理
MyBatis 的功能架构是怎样的
MyBatis 的框架架构设计是怎么样的
什么是 DBMS
Mybatis 都有哪些 Executor 执行器?它们之间的区别是什么?
Mybatis 中如何指定使用哪一种 Executor 执行器?
Mybatis 是否支持延迟加载?如果支持,它的实现原理是什么?
Mybatis 如何执行批量操作
当实体类中的属性名和表中的字段名不一样 ,怎么办
Mapper 编写有哪几种方式?
什么是 MyBatis 的接口绑定?有哪些实现方式?
使用 MyBatis 的 mapper 接口调用时有哪些要求?
Mybatis 是如何将 sql 执行结果封装为目标对象并返回的?都有哪些映射形式?
简述 Mybatis 的 Xml 映射文件和 Mybatis 内部数据结构之间的映射关系?
Xml 映射文件中,除了常见的 select|insert|updae|delete 标签之外,还有哪些标签?
Mybatis 是否可以映射 Enum 枚举类?
简述 Mybatis 的插件运行原理,以及如何编写一个插件。
Mybatis 的一级、二级缓存
十四、RabbitMQ
===========
什么是 MQ
MQ 的优点
解耦、异步、削峰是什么?。
消息队列有什么缺点
你们公司生产环境用的是什么消息中间件?
Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点?
MQ 有哪些常见问题?如何解决这些问题?
什么是 RabbitMQ?
rabbitmq 的使用场景
RabbitMQ 的工作模式
如何保证 RabbitMQ 消息的顺序性?
消息如何分发?
消息基于什么传输?
如何保证消息不被重复消费?或者说,如何保证消息消费时的幂等性?
如何确保消息正确地发送至 RabbitMQ? 如何确保消息接收方消费了消息?
如何保证 RabbitMQ 消息的可靠传输?
为什么不应该对所有的 message 都使用持久化机制?
如何保证高可用的?RabbitMQ 的集群
如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,怎么办?
设计 MQ 思路?
十五、Kafka
========
kafka 可以脱离 zookeeper 单独使用吗?为什么?
kafka 有几种数据保留的策略?
kafka 同时设置了 7 天和 10G 清除数据,到第五天的时候消息达到了 10G,这个时候 kafka 将如何处理?
什么情况会导致 kafka 运行变慢?
使用 kafka 集群需要注意什么?
十六、Zookeeper
zookeeper 是什么?
ZooKeeper 提供了什么?
Zookeeper 怎么保证主从节点的状态同步?
zookeeper 是如何保证事务的顺序一致性的?
Zookeeper Watcher 机制 – 数据变更通知
集群中为什么要有主节点?
集群中有 3 台服务器,其中一个节点宕机,这个时候 zookeeper 还可以使用吗?
说一下 zookeeper 的通知机制?
Watcher 特性总结
客户端注册 Watcher 实现
服务端处理 Watcher 实现
Zookeeper 下 Server 工作状态
zookeeper 是如何保证事务的顺序一致性的?
分布式集群中为什么会有 Master 主节点?
zookeeper 负载均衡和 nginx 负载均衡区别
Zookeeper 有哪几种几种部署模式?
集群支持动态添加机器吗?
Zookeeper 对节点的 watch 监听通知是永久的吗?为什么不是永久的?
Zookeeper 的 java 客户端都有哪些?
chubby 是什么,和 zookeeper 比你怎么看?
Zookeeper 都有哪些功能?
说一下 Zookeeper 的通知机制?
Zookeeper 和 Dubbo 的关系?
十七、MySql
========
为什么要使用数据库?
什么是 MySQL?
MySql, Oracle,Sql Service 的区别
mysql 有关权限的表都有哪几个
MySQL 的 binlog 有有几种录入格式?分别有什么区别?
数据库经常使用的函数?
mysql 有哪些数据类型?
MySQL 存储引擎 MyISAM 与 InnoDB 区别
MyISAM 索引与 InnoDB 索引的区别?
什么是索引?索引有哪些优缺点?
怎么创建索引的,有什么好处,有哪些分类
索引有哪几种类型?
索引的数据结构(b 树,hash)
索引算法有哪些?
创建索引的三种方式
百万级别或以上的数据如何删除
B 树和 B+树的区别
事物的四大特性(ACID)介绍一下?
什么是事务的隔离级别?MySQL 的默认隔离级别是什么?
从锁的类别上分 MySQL 都有哪些锁呢?
MySQL 中 InnoDB 引擎的行锁是怎么实现的?
什么是存储过程?有哪些优缺点?
什么是触发器?触发器的使用场景有哪些?
SQL 语句主要分为哪几类
怎么优化 SQL 查询语句吗
如何定位及优化 SQL 语句的性能问题?创建的索引有没有被使用到?或者说怎么才可以知道这条语句运行很慢的原因?
SQL 的生命周期?
MySQL 数据库 cpu 飙升到 500%的话他怎么处理?
备份计划,mysqldump 以及 xtranbackup 的实现原理
十八、Redis
========
什么是 Redis?
Redis 有哪些优缺点?
使用 redis 有哪些好处?
为什么要用 Redis / 为什么要用缓存
为什么要用 Redis 而不用 map/guava 做缓存?
Redis 为什么这么快
Redis 有哪些数据类型
Redis 的应用场景
Redis 的持久化机制是什么?各自的优缺点?
如何选择合适的持久化方式
Redis 持久化数据和缓存怎么做扩容?
Redis 的过期键的删除策略
Redis key 的过期时间和永久有效分别怎么设置?
我们知道通过 expire 来设置 key 的过期时间,那么对过期的数据怎么处理呢?
MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中的数据都是热点数据
Redis 主要消耗什么物理资源?
Redis 的内存用完了会发生什么?
Redis 如何做内存优化?
Redis 事务的概念
Redis 事务支持隔离性吗
redis 集群模式的工作原理能说一下么?
在集群模式下,redis 的 key 是如何寻址的?
分布式寻址都有哪些算法?
了解一致性 hash 算法吗?
Redis 集群的主从复制模型是怎样的?
生产环境中的 redis 是怎么部署的?
Redis 集群会有写操作丢失吗?为什么?
Redis 是单线程的,如何提高多核 CPU 的利用率?
你知道有哪些 Redis 分区实现方案?
如何解决 Redis 的并发竞争 Key 问题
分布式 Redis 是前期做还是后期规模上来了再做好?为什么?
Redis 和 Redisson 有什么关系?
十九、JVM
======
评论