前言
简单自我介绍一下,本人末流985毕业,毕业后一直在一家不大不小的公司上班(毕竟这年头不是BAT都不好意思提,也不具体说是哪家了)在去年年底的时候和领导发生了一点小矛盾就趁着过年辞职回家了。没想到回家不久就爆发疫情,过完年因为疫情的原因简历投了不是石沉大海就是被拒。其中不乏自我感觉良好的几家面试,比如好未来,百度,跟谁学这几家。结果都不理想
情况是从四月份开始慢慢好起来的,因为疫情的结束公司的岗位也慢慢的开始招聘了起来,我是属于那种一边面试一边学习提高自己的那种,终于在五月底的时候皇天不负有心人终于是拿到了蚂蚁金服的offer,定级P7!
下面附上我自己总结的复习脑图和资料
以上只是脑图的一部分,因为全部太多了,无法全部展示出来,文末有领取方式
面试题模块介绍
说了这么多,下面进入我们本文的主题,我们这份面试题,包含的内容了十九了模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。如下图所示:
下面一起来看这份文档,具体的内容。
JVM:
- JVM 内存分哪几个区,每个区的作用是什么?
- 如和判断一个对象是否存活?(或者 GC 对象的判定方法)
- 简述 java 垃圾回收机制?
- java 中垃圾收集的方法有哪些?
- java 内存模型?
- java 类加载过程?
- 简述 java 类加载机制?
- 类加载器双亲委派模型机制?
- 什么是类加载器,类加载器有哪些?
此外,我这里还另外整理了一些还不错的电子书籍以及一套Java核心笔记,基本覆盖了整个Java知识点,有需要的各位程序员们可以点这里关注我的公众号前程有光即可获取
JVM面试题及答案
spring :
- 什么是Spring框架?Spring框架有哪些主要模块?
- 使用Spring框架有什么好处?
- 什么是控制反转(IOC)?什么是依赖注入?
- 请解释下Spring中的IOC?
- BeanFactory和ApplicationContext有什么区别?
- 将Spring配置到你的应用中共有几种方法?
- 什么基于XML的配置?
- 什么基Java的配置?
- 怎样用注解的方式配置Spring?
- 描述Spring Bean的生命周期?
- 描述Spring中各种Bean的范围?
- 什么是Spring的嵌入beans?
- Spring框架中的单例bean是否是线程安全的?
- 请举例说明如何用Spring注入一个Java的集合类?
- 请举例说明如何在Spring的Bean中注入一个java.util.Properties?
- 请解释Spring的Bean的自动生成原理?
- 请辨析自动生成Bean之间模块的区别?
- 如何开启基于基于注解的自动写入?
spring面试专题及答案
并发 :
- 线程的状态 : { new ,runnalbe , wait , time-wait , block , terminated }
- 进程 、 线程 、 协程 的含义和区别 // 个人理解 是一组渐进提出的概念
- 进程间通信方式 : { 管道 、FIFO 、 信号量 、 共享内存 、 消息队列 、 Socket }
- 如何避免死锁 ? 死锁的四个必要条件
- Sleep和wait的区别
- 【高频】Sychronized 和 lock 的区别 ?
- Sychronized的底层优化 : { 无锁、偏向锁、轻量级锁 、重量级锁 }
- volatile的作用 : { 指令重拍 、 保证变量的可见性(设计JMM)}
- ThreadLocal 底层原理
- 【高频】 线程池
并发面试专题及答案
MySQL:
- 【高频】MyISAM 和 InnoDB的区别 : {是否支持行锁 、 是否支持十五 、 是否支持 MVCC 、 底层索引结构不同 }
- 事务特性ACID 深入一些 : 为什么要有一致性 ? AID不是已经保证了一致性了吗 ?
- 并发事务带来的问题 : { 脏读 、 修改丢失 、 不可重复读 、 幻影读 }
- 【高频】事务的隔离级别
- 【高频】 MVCC机制
- 聚簇索引和非聚簇索引区别? 主键索引和二级索引了解吗?
- 为什么不对每个列创建索引呢?
- 【高频】SQL语句优化 ,SQL题目(字节要求撸代码)
- explain中 rows type key extra字段的含义?
- count(1) count(*) count(列值)的区别
mysql面试专题及答案
Redis
- 什么是Redis
- Redis有哪些优缺点
- 为什么要用 Redis /为什么要用缓存
- 为什么要用 Redis 而不用 map/guava 做缓存?
- Redis为什么这么快
- Redis有哪些数据类型
- Redis的应用场景
- 什么是Redis持久化?
- Redis 的持久化机制是什么?各自的优缺点?
- 如何选择合适的持久化方式
- Redis持久化数据和缓存怎么做扩容?
- 过期键的删除策略
- Redis的过期键的删除策略
- Redis key的过期时间和永久有效分别怎么设置?
- 我们知道通过expire来设置key 的过期时间,那么对过期的数据怎么处理呢?
redis面试专题及答案
最后
对于大厂面试我想对大家说的是一定要把自己的心态放开,以一种平常心的态度去面对,就算被拒了也不要灰心,不要影响的到自己的心态。其次就是自己的学习一定不要放弃,程序员本身就是一个需要不断学习的职业,一不小心就会被时代淘汰。然后需要我这份复习路线图和复习文档的可以关注我的公众号:前程有光获取,同时希望你们都能在不久后的金九银十拿到自己的满意的offer!!!