5 年 Java 开发经验,阿里面试了 7 轮,太难了呀(1)

  • dubbo 服务暴露和引用过程,负载均衡策略,容错机制在哪里实现的源码

  • 项目中碰到的问题。

  • 为什么换工作,如果通过会直接说有笔试题,和你确认笔试时间。

第二轮:

第二轮是笔试,总共两道题,第一题是写代码,第二题是写技术方案。

  • 主要是以查询为主,考察锁粒度、时间粒度上的细节点。(详细省略)

第三轮:

第三轮是现场面试,这一轮面试以解决方案为主,前后大概约 1 小时 20 分钟。

  • 缓存穿透,让我设计一个防止缓存穿透的解决方案,简单的就是存 null 值,但肯定会深究,可以结合布隆过滤器,设计分布式系统,里面又会问到流量分发到具体过滤器服务的方式,比如一致性 hash 算法,怎么调用?比如 dubbo 直连、等等细节会边说边问。

  • 有没有做限流,设计一个侵入性最小的限流服务。

  • 项目中碰到的问题,最好说框架本身问题,能体现个人能力,也避免问题太低级被面试官看 low,刚好之前有发现一个 dubbo 的 bug,所以这问题应该回答的还可以。

  • 为什么换工作,每轮都会问,这个得想好。

第四轮:

交叉面,项目为主,时间大概为 40 分钟,问的内容不多,这个阶段我个人的状态比较放松了,与面试官交谈的方式也自然了许多。

  • 介绍最熟悉的项目,业务上有没有什么优化点;和同行业其他公司的差距和优势(估计是 P7 的标准问题,总之我回答得不是太好)

  • Dubbo 服务调用过程

  • NIO、BIO 区别,NIO 解决了什么问题,Netty 线程模型(源码拷问)。

  • MQ 相关

第五轮:

这轮面试真的让我比较为难了,面试官问什么问题都会问到具体的数值,状态又变紧张了,如履薄冰啊。

  • 项目介绍

  • 听到说做了限流,限流标准(并发数? qps?并发数和 qps 关系?说出了 5 种限流方案和对应算法原理)

  • dubbo 调用端怎么在 jvm 中生成对应服务?dubbo 服务端和调用端超时时间设置和区别、dubbo 长连接。

  • mysql 行锁最大并发数?(秒杀项目指出)

  • 设计秒杀系统,我说的异步的方式,会问怎么优化?改为了同步的方式,异步和同步区别? 然后我也问了阿里那边

  • 碰到哪些技术难点?怎么解决?有没有参考其他大厂?其他大厂方案什么样的?有没有关注阿里这边最新的技术?

  • 刚刚的秒杀系统,会涉及到多个库表的更新,分布式事务怎么解决,我说的消息最终一致性,异步?有没有更好的方案?同步 TCC 方式,TCC 方式原理?(三个阶段的具体实现)

第六轮:

总监面,主要是自我介绍和项目介绍,聊天的方式比较舒服,大部分是对你的整体价值观做宏观的把控(比如上进心,责任心,心态,工作激情等,差不多 15 分钟就结束了。

  • 说了自己的项目

  • 主要用到的架构,做了些什么?

  • 比较复杂的业务逻辑讲一下?

第七轮:

HR 面,阿里的 HR 很不一样,无论是气质还是谈吐都让人佩服,问的问题也很有针对性,最后告诉我会电话反馈结果。

  • 自我介绍

  • 如何学习新技术?

  • 如何团队合作的?

  • 遇到很难的问题,如何解决?如何突破?

  • 职业规划

阿里 7 轮面试经历完整版(含答案和解析):

由于文章篇幅有限,完整版的面试题和答案解析就整理在 PDF 文档里,如果你需要完整版的,直接添加我的小助理v:java9610 获取下载方式吧。

友情提醒:下部分涉及到的内容比较多,更多资料整理在文档里,需要的朋友关注我,添加小助手v:java9610 即可免费获取。

面试阿里之前,我流了多少汗?

==============

1.梳理知识

一般的面试,会被问到 JVM 原理、多线程、数据结构和算法、高并发、设计模式等内容,这都是一名普通 Java 开发人员的知识结构,那么阿里 P7 肯定是需要具备更多的知识树,需要掌握更全面的知识体系,所以就需要对知识进行一个系统的梳理了。

对标 P7,我梳理的知识体系如下:

  • 筑基必备技能:并发编程,JVM,网络编程与高效 IO,Mysql,Tomcat

  • 设计思想与开源框架:SSM(Spring+SpringMVC+MyBatis)

  • 性能直线提升架构技术:ZK,Nginx,RabbitMQ,RocketMQ,Kafka,elastic

  • 高效存储让项目性能起飞:Redis,MongoDB,MySQL,Mycat

  • 分布式扩展到微服务架构:SpringBoot,SpringCloud,SpringCloud Alibaba,Docker,K8S

更多:Java进阶核心知识集

包含:JVM,JAVA集合,网络,JAVA多线程并发,JAVA基础,Spring原理,微服务,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存等等

image

高效学习视频

f824616a529248983.png)

更多:Java进阶核心知识集

包含:JVM,JAVA集合,网络,JAVA多线程并发,JAVA基础,Spring原理,微服务,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存等等

[外链图片转存中…(img-mS6wy7H5-1714253876140)]

高效学习视频

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值