堪称全网最全的 JAVA 面试复盘笔记(23 个技术栈)5000 字解析!冲击大厂必备
- 排版注意事项 
- 其他一些小 tips 
- 你对我们公司有什么想问的吗? 
- 很多人都倒在自我介绍上 
- 如何与 HR 交谈,如何谈薪水 
- HR 最喜欢问程序员的 20 个问题 
- 面试中的礼仪与举止 
 
 软实力这一块搞定了当然就是技术栈的梳理了
- Java 基础 
- 面向对象和面向过程的区别 
- 八种基本数据类型的大小,以及他们的封装类 
- 标识符的命名规则。 
- instanceof 关键词的作用 
- Java 自动装箱与拆箱 
- 重载和重写的区别 
- equals 与==的区别 
- Hashcode 的作用 
- Java 创建对象有几种方式? 
- 获取一个类 Class 对象的方式有哪些? 
- ArrayList 和 LinkedList 的区别有哪些? 
- 用过 ArrayList 吗?说一下它有什么特点? 
- 有数组了为什么还要搞个 ArrayList 呢? 
- 说说什么是 fail-fast? 
- 说说 Hashtable 与 HashMap 的区别 
- HashMap 的长度为什么是 2 的 N 次方呢? 
- HashMap 与 ConcurrentHashMap 的异同 
- 红黑树有哪几个特征? 
- 说说你平时是怎么处理 Java 异常的 
- 说一下深拷贝和浅拷贝? 
 
 - JVM 
 
 - 多线程并发 
 
 - Spring 篇 
- 什么是 spring? 
- 你们项目中为什么使用 Spring 框架? 
- Autowired 和 Resource 关键字的区别? 
- 依赖注入的方式有几种,分别是什么? 
- 说说你对 Spring MVC 的理解 
- SpringMVC 常用的注解有哪些? 
- 谈谈你对 Spring 的 AOP 理解 
- Spring AOP 和 AspectJ AOP 有什么区别? 
- Spring 框架中的单例 Bean 是线程安全的么? 
- Spring 是怎么解决循环依赖的? 
- 说说事务的隔离级别 
- 说说事务的传播级别 
- Spring 事务的实现方式 
- Spring 框架的事务管理有哪些优点? 
- 事务三要素是什么? 
- 事务注解的本质是什么? 
 
 - MyBatis 
 
 - SpringBoot 
- 为什么要用 SpringBoot 
- Spring Boot 的核心注解是哪个?它主要是由哪几个注解组成的? 
- 运行 Spring Boot 有哪几种方式? 
- 如何理解 Spring Boot 中的 Starters? 
- 如何在 Spring Boot 启动的时候运行一些特定的代码? 
- Spring Boot 需要独立的容器运行吗? 
- Spring Boot 中的监视器是什么? 
- 如何使用 Spring Boot 实现异常处理? 
- 你如何理解 Spring Boot 中的 Starters? 
- springboot 常 用的 starter 有哪些 
- SpringBoot 实现热部署有哪几种方式? 
- 如何理解 Spring Boot 配置加载顺序? 
- 如何集成 Spring Boot 和 ActiveMQ? 
 
 - MySQL 
- 数据库的三范式是什么 
- MySQL 数据库弓|擎有哪些 
- 说说 InnoDB 与 MyISAM 的区别 
- 数据库的事务 
- 索引是什么 
- SQL 优化手段有哪些 
- 简单说一说 drop. delete 与 truncate 的区别 
- 什么是视图 
- 什么是内联接、左外联接、右外联接? 
- 并发事务带来哪些问题? 
- 事务隔离级别有哪些?MySQL 的默认隔离级别是? 
- 大表如何优化? 
- MySQL 索引类型有哪些? 
- 什么时候不要使用索引呢? 
- 说说什么是 MVCC? 
- MVCC 可以为数据库解决什么问题? 
- 说说 MVCC 的实现原理 
- MySQL 事务隔离级别? 
- 请说说 MySQL 数据库的锁? 
- 说说什么是锁升级? 
- 说说悲观锁和乐观锁 
- 怎样尽量避免死锁的出现? 
- 使用 MySQL 的素引应该注意些什么? 
- CHAR 和 VARCHAR 的区别? 
- 主键和候选健有什么区别? 
- 主键与素引有什么区别? 
- MySQL 如何做到高可用方案? 
 
 - 微服务 
 
  
 - Nginx&MQ 
 
 - Linux 
- 绝对路径用什么符号表示?当前目录、 上层目录用什么表示?目录用什么表示?切换目录用什么命令? 
- 怎么查看当前进程? 怎么执行退出?怎么查看当前路径? 
- 查看文件有哪些命令 
- 列举几个常用的 Linux 命令 
- 你平时是怎么查看日志的? 
 
 - ZK 
 
  
 - Redis 
- 为什么要用缓存 
- 使用 Redis 有哪些好处? 
- 什么是 Redis? 
- 为什么使用 Redis 而不是用 Memcache 呢? 
- 为什么 Redis 单线程模型效率也能那么高? 
- 说说 Redis 的线程模型 
- 为什么 Redis 需要把所有数据放到内存中? 
- Redis 的同步机制了解是什么? 
- pipeline 有什么好处,为什么要用 pipeline? 
- Redis 持久化方式有哪些?以及有什么区别? 
- 持久化有两种,那应该怎么选择呢? 
- 怎么使用 Redis 实现消息队列? 
- 说说你对 Redis 事务的理解 
- Redis 为什么设计成单线程的? 
- 什么是 bigkey?会存在什么影响? 
- 熟悉哪些 Redis 集群模式? 
- Memcache 与 Redis 的区别都有哪些? 
- 单线程的 redis 为什么这么快 
- redis 的数据类型,以及每种数据类型的使用场景 
- redis 的过期策略以及内存淘汰机制 
- Redis 为什么是单线程的 
- Redis 常见性能问题和解决方案? 
- 为什么 Redis 的操作是原子性的,怎么保证原子性 
- 分布式 

 
 










 
    
评论