最近看了下外面的机会,有阿里、每日优鲜、小米、58等,总结一下面试问题吧,大龄码农不好当呀,希望能给一些换工作的朋友做个参考,先整理一下目录,后续陆续针对目录展开具体细节的总结。
jdk相关问题
- 类加载机制
- jvm
- gc(gc算法,垃圾回收器)
- java锁机制底层实现
- 多线程
- threadlocal原理
- 集合(重点关注HashMap和ConcurrentHashMap)
- I/O(结合netty一起)
spring相关
- spring源码
- bean生命周期
- 循环依赖的解决方案
- springboot
- aop/ioc
- 事务管理机制
中间件相关
- MQ底层实现和使用
- redis线程模型和数据结构以及使用
- mysql(索引,事物,数据同步和使用)
- rpc(原理和使用)
- zk底层实现和使用
设计模式
- 常用的设计模式实现
- 项目中用到的
- 框架和中间件用到的
算法
- leetCode刷题吧
- 链表/树是重点
实际项目
- 了解项目的每一个细节
- 项目中使用的技术要知道底层原理
- 数据一致性
- 分布式事务
- 异常处理
- 如何提升性能
- 生产问题排查
- 压测/qps/tps/如何优化
- 限流降级
- 并发处理