阿里巴巴 Java 面经
阿里面试总共有五面:
Java 部分:
Jdk1.7 与 jdk1.8 在 g1 垃圾回收器上有什么区别?
常见的加载器有哪些,如何自定义一个加载器?
生产上有没有与到 JVM 参数调优的问题?
知道什么是内存泄露吗,如何手动去造成内存泄露?
线程池常见的一些参数,知道 Future 接口吗?
常见的代理有哪些,两者有什么区别?
数据库部分:
常见的索引类型有哪些?
为什么主键索引使用 B+树而不去使用 B 树?
说一说联合索引最左原则的原理,并且什么情况下索引是生效的?为什么?
常见的隔离级别有哪些?有什么区别?
知道回表查询吗?聚集索引?
项目中有没有使用到分表分库?说一说怎么分的?
分布式/中间件部分:
Redis 是单线程的吗?
为什么 Redis 的性能比较高? Redis 集群化的方式有哪些?怎么确保数据的一致性?说一说你对一致性 hash 的认
识。
消息队列中拉模式与推模式的区别?
使用消息队列有没有遇到消息丢失的情况,怎么去设计补偿行为?
说一说项目中为什么使用 Kafka 而不去使用其它消息队列?
说一说 Zookeeper 中的 Zab 协议
分布式锁的实现方案有哪些?各有哪些优势与缺点?
分布式限流 Sentinel 中线程模式与 QPS 模式的区别
Sentinel 阈值单机模式与集群模式的区别
如何解决限流时在一个服务中调用外部服务,不会因为外部服务超时,导致被限流。
ElaticJob 分布式调度时如何解决数据倾斜的问题
微服务部分:
有没有遇到 dubbo 连接数爆满的问题
dubbo 如何实现使用 zookeeper 找到对应的服务
dubbo 使用 zookeeper 作为分布式治理中心有什么弊端
说说你认为 dubbo 与 SpringCloud 的差异
其它:
SpringBoot 的启动过程 如果访问一个域名,说说怎么达到我们的应用服务器
如何解决秒杀模块“库存”超卖的问题
如何解决秒杀模块“订单超时回库存”的问题
#社招面经##阿里巴巴##面试题目#