背景
前段时间,本人利用三周时间(排除等offer
的时间),面试了6
家公司,拿下了4
个offer
(两个BAT
,一个二线大厂,一个福利非常棒的独角兽)。另外,没拿下的两个公司(一个要转go
语言)都终止于二面。
面试题目
八股文
- Bean的生命周期
- IOC、AOP
- HashTable、HashMap、ConcurrentHashMap
- 数据库事务的底层实现、Spring事务是如何实现的
- Spring如何解决循环依赖
- 线程池的参数及执行过程、还出了相关的场景题,记不清了
- MySQL的乐观锁、悲观锁
- MVCC机制的实现
- SpringBoot的
https://qimok.cn 整个启动流程 - ES的倒排索引、查询的整个流程、如何动态加载新的分词
- Java异常类的层次结构
- redis的常用数据结构及底层实现
- redis、zk的分布式锁的实现
- rabbitmq如何保证消息的可靠性、顺序性、幂等消费,及使用场景
- 分布式事务(2pc、3pc、TCC、阿里的seata框架的大概执行流程)
- CAS、volatile、Java内存模型、内存屏障
- JVM的堆外内存
- CMS和G1的执行流程及G1的好处
- synchronized(jdk8的优化点)和reentrantLock的底层实现及区别
- AQS的组成及加锁过程
- redo log、undo log、binlog的作用、两阶段提交…
- BIO、NIO、AIO的区别
- mmap、零拷贝
- 类加载机制
- dubbo的执行流程,http和RPC的关系,dubbo和SpringCloud Feign的区别
- SpringBoot Starters的优点
- 按整个项目的执行流程,介绍SpringCloud的各个组件
- 访问域名www.baidu.com的整个流程
- web
言七墨 socket的底层实现 - 缓存穿透、缓存雪崩、缓存击穿
- 缓存一致性协议(基于具体场景问题,忘记了)
- redis哨兵如何通信
- redis的过期策略
- RDB、AOF
- mysql索引优化
- mysql索引失效原因
- mysql的逻辑架构组的组成
- redis单线程为什么这么快
- mysql主从复制流程
- ThreadLocal的底层实现、为什么要使用弱引用,如何防止内存泄漏、开源代码及项目中的使用案例
- 如何解决跨域问题
- CompletableFuture、Forkjoinpool的底层实现,该如何使用
- 介绍一款分布式ID
- Hystrix的熔断、限流、降级
- 分布式链路如何串联所有span的
- TCP、UDP的区别
- Object有哪些方法,为什么要重写hashcode和equals方法
- 创建线程的几种方式,及区别
- 单例对象创建的几种方式,并详细描述
- zk的脑裂、选主流程、如何防止脑裂
拓展问题
restful
的优缺点- 如何排查
CPU
飙高、频繁GC
问题 - 手写生产者、消费者模式,手写观察者模式
- 圈了一大批用户,第二天早晨
10
天,要给这一大批用户推消息(1000
多万),怎么保证消息的实时性 - 如何设计一个计数器服务
- 微服务与单体服务的区别
- 天猫双十一,如何保证大屏(
dashboard
)上显示的总销售额是实时、准确展示的
项目相关
- 分库分表从调研、设计到落地的整个流程
- 如何将一个亿级别数据的表一次性迁移到所有分表中,同时要保证性能
- 项目中是如何做灰度的
- 如何做消息全链路监控
- 因为我本人是做
IM
的,其它的问的就是围绕七墨博客 IM
中的一些设计和技术了
算法相关
- 题型:链表、数组、树考察
七墨博客 的较多 - 难度:
easy
+七墨博客 medium
以上整理的面试题目不是很全,仅供参考。
七墨大大,@copyRight到2021了呦
很强很强,还是要多向你学习呀
运气好