2021 最新 Java 大厂面试真题大全,附学习笔记 + 面试整理 + 进阶书籍
阿里
mq 消息可靠性,幂等如何保证
分布式锁的实现方案比较,为什么选择 zookeeper, zookeeper 一致性协议原理
线程池参数,阻塞队列实现
一致性 Hash 解决什么问题, 如何实现? 虚拟节点的作用?
Java 锁的实现方式, 比较? AQS 实现原理?公平非公平实现原理?
CAS 实现原理
volatile 实现原理, 单例模式
java 内存模型, gc 调优的经历. cms gc 的几个阶段, 为什么会出现 stop the world. 常见可优化参数有哪些.
为什么需要优化 gc, gc 会导致什么问题.
mysql 事务隔离级别. mvcc 实现原理
mysql 索引原理. 为什么使用 B+树. 及何时无法使用索引?
mysql 架构, 引擎层和 server 层 各自负责什么.
hashmap 及 concurrenthashmap 实现原理
Spring aop 原理,如何定义新的 spring xml 标签
合并两个有序链表
如何设计一个大型活动的安保系统(开放题)
美团
数据库和缓存的一致性问题。先更新数据库,再更新缓存,若更新完数据库了,还没有更新缓存,此时有请求过来了,访问到了缓存中的数据,怎么办?
聚簇索引/非聚簇索引,mysql 索引底层实现,为什么不用 B-tree,为什么不用 hash,叶子结点存放的是数据还是指向数据的内存地址,使用索引需要注意的几个地方
mysql 默认的事务隔离级别,mvcc,rr 怎么实现的,rc 如何实现的
mysql 间隙锁有没有了解,死锁有没有了解,写一段会造成死锁的 sql 语句,死锁发生了如何解决,mysql 有没有提供什么机制去解决死锁
谈下对 GC 的了解,何为垃圾,有哪些 GC 算法,有哪些垃圾回收器,cms 和 g1 的区别,emm,还有一个直击灵魂的问题,看过 cms 的源码吗
有没有排查过线上 oom 的问题,如何排查的
有没有使用过 jvm 自带的工具,如何使用的
假设有下图所示的一个 full gc 的图,纵向是内存使用情况,横向是时间,你如何排查这个 full gc 的问题,怎么去解决你说出来的这些问题
说说对 java 中集合类的理解,项目中用过哪些,哪个地方用的,如何使用的
对 CAS 的理解,CAS 带来的问题,如何解决这些问题
volatile 底层、synchronized 底层、锁升级的过程、MESI
ehcache 支持哪些缓存
juc 有研究没有,讲一讲
聊项目,画项目架构图,画一个用户从发起请求 到接收到响应 中间经过哪些服务 每个服务做什么事情 的流程图
讲项目中的难点、挑战,如何解决的,项目这一块会问的特别细
如何保证 RocketMQ 消息的顺序性,如何解决重复消费问题
项目中如何保证接口的幂等操作
讲一讲对 redis 的了解,项目中如何使用的,哪个地方使用的,为什么要使用
哨兵机制、redis 两种备份方式的区别,项目中用的哪种,为什么
讲一讲对分布式锁的了解
项目中系统监控怎么做的
如何理解 Spring 中的 AOP 和 IOC,以及 DI,读过 Spring 源码没有
读过 MyBatis 源码没有
说一个你了解最多的框架,说出你的理解
如何理解分布式事务,为什么会出现这个问题,如何去解决,了解哪些分布式事务中间件
聊一聊对分库分表的理解
hystrix 功能 & 在项目中怎么使用的 & hystrix 怎么检测断路器是否要开启/关闭 & hystrix 实现原理,除 hystrix 之外的其他熔断限流中间件有了解没有,了解多少说多少
dubbo 有了解没有
怎么理解 java 中和 mysql 中的乐观锁、悲观锁
一致性 hash
最后
我想问下大家当初选择做程序员的初衷是什么?有思考过这个问题吗?高薪?热爱?
既然入了这行就应该知道,这个行业是靠本事吃饭的,你想要拿高薪没有问题,请好好磨练自己的技术,不要抱怨。有的人通过培训可以让自己成长,有些人可以通过自律强大的自学能力成长,如果你两者都不占,还怎么拿高薪?
架构师是很多程序员的职业目标,一个好的架构师是不愁所谓的 35 岁高龄门槛的,到了那个时候,照样大把的企业挖他。为什么很多人想进阿里巴巴,无非不是福利待遇好以及优质的人脉资源,这对个人职业发展是有非常大帮助的。
如果你也想成为一名好的架构师,那或许这份 Java 核心架构笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。
中高级开发必知必会:
评论