Alibaba5 轮视频面:同事 + 组长 + 主管 + 项目 +HR,收割 Java 岗 offer!

前言
前段时间有幸被阿里的一位同学内推,参加了阿里巴巴 Java 岗位的面试,本人 19 年双非本科软件工程专业,目前有一年半的工作经验,面试前就职于一家外包公司。如果在自己本人拿到 offer 之前,如果有人告诉我一年工作经验可以直接从外包进阿里,我肯定是不信。但是真的发生在自己身上,真的觉得非常非常幸运与不可思议。
Alibaba 的这次面试总共有五面,包括:
- 第一轮电话面试(同事面):将近 1h20min,主要是介绍项目与基础知识 
- 第二轮视频面试(组长面):将近 1h,同样也是介绍项目与基础知识 
- 第三轮视频面试(主管面):将近 40min,更深次的项目以及分布式的解决方案 
- 第四轮视频面试(主管面):将近 1h,项目介绍以及基础知识,也会问你的职业规划 
- 第五轮视频面试(项目+hr):将近 1h,前半部分是技术面,后半部分是 hr 面试 
 
 稍整理了一下,主要涉及以下知识:Java、数据库、分布式、中间件、微服务等,我大致将每个部分的问题整理了一下,并且附带了整理与其对应的最硬核的复习笔记(我花了不少时间整理的,希望能对你有用☛【(原件--点击获取)】)
第一:Java 部分
面试问题:
- Jdk1.7 与 jdk1.8 在 g1 垃圾回收器上有什么区别? 
- 常见的加载器有哪些,如何自定义一个加载器? 
- 生产上有没有遇到 JVM 参数调优的问题? 
- 知道什么是内存泄露吗,如何手动去造成内存泄露? 
- 线程池常见的一些参数,知道 Future 接口吗? 
- 常见的代理有哪些,两者有什么区别? 
相关复习笔记:
1.JVM 复习参考:多线程+垃圾回收+GC+类加载机制...
 
 2.Java 性能调优实战:JVM+多线程+数据库+设计模式+Tomcat+实战演练...
 
 第二:数据库部分
面试问题:
- 常见的索引类型有哪些? 
- 为什么主键索引使用 B+树而不去使用 B 树? 
- 说一说联合索引最左原则的原理,并且什么情况下索引是生效的?为什么? 
- 常见的隔离级别有哪些?有什么区别? 
- 知道回表查询吗?聚集索引? 
- 项目中有没有使用到分表分库?说一说怎么分的? 
相关复习笔记:
1.MySQL 数据库复习参考:索引+锁+分库分表...
 
 2.MySQL 高级知识整合:架构+存储引擎+锁+事务+SQL 优化...
 
 第三:分布式/中间件部分
面试问题:
- Redis 是单线程的吗? 
- 为什么 Redis 的性能比较高? 
- Redis 集群化的方式有哪些?怎么确保数据的一致性?说一说你对一致性 hash 的认识。 
- 消息队列中拉模式与推模式的区别? 
- 使用消息队列有没有遇到消息丢失的情况,怎么去设计补偿行为? 
- 说一说项目中为什么使用 Kafka 而不去使用其它消息队列? 
- 说一说 Zookeeper 中的 Zab 协议? 
- 分布式锁的实现方案有哪些?各有哪些优势与缺点? 
- 分布式限流 Sentinel 中线程模式与 QPS 模式的区别? 
- Sentinel 阈值单机模式与集群模式的区别? 
- 如何解决限流时在一个服务中调用外部服务,不会因为外部服务超时,导致被限流。 
- ElaticJob 分布式调度时如何解决数据倾斜的问题? 
相关复习笔记:
1.Redis 复习参考(68 道高频面试解析题):基础+数据结构+高并发处理+集群+缓存...
 
 2.Kafka 复习参考:集群+生产者+消费者+源码...
 
 3.RocketMQ 复习参考:消息+源码+队列...
 
 4.消息队列高频面试整理:面试官心理分析+面试题详解...
 
 5.分布式系统高频面试整理:Dubbo+Zookeeper+分布式事物+分布式锁...
 
 第四:微服务部分
面试问题:
- 有没有遇到 dubbo 连接数爆满的问题? 
- dubbo 如何实现使用 zookeeper 找到对应的服务? 
- dubbo 使用 zookeeper 作为分布式治理中心有什么弊端? 
- 说说你认为 dubbo 与 SpringCloud 的差异? 
相关复习笔记:
1.微服务高频面试整理
 
 2.SpringCloud Alibaba 实战笔记
 
  
 其它
- SpringBoot 的启动过程? 
- 如果访问一个域名,说说怎么达到我们的应用服务器 
- 如何解决秒杀模块“库存”超卖的问题? 
- 如何解决秒杀模块“订单超时回库存”的问题? 
1.SpringBoot 学习教程
 
 2.高并发系统设计相关问题
 
 总的来说,其实 Alibaba 的面试总会结合你项目经验 QQ 提问,还是相当全面的。所以在面试之前,除了刷题,你还得有能够“拿得出手”的项目做好充分的准备!面试官可能会让你介绍一下这个项目包括项目背景、项目架构、QPS 等等...
 
 另一方面,“面试造火箭,工作拧螺丝”这可也不是说着玩的,关键还是要对自己有信心,只要自己准备得足够充分,就可以在面试中发挥自如!
关于刷题方面,上面我整理了一份 Java 高级面试知识整理(包括:消息队列、缓存、MySQL、高并发、分布式、高可用、微服务等)。
其他还有 JVM、数据库、消息中间件、分布式、调优、kafka、微服务、SpringBoot、SpringCloud、Redis 等等的复习笔记,都有整理对应的文档皆如前文所见!
关于这些 Java 的面试+学习笔记等之类的,如果你觉得我整理得还不错,皆可分享一并学习☛【(原件--点击获取)】
 
 整理不易,还望多多支持!!同时也祝各位小伙伴前程似锦,Offer 不断,挺进 Alibaba!!












 
    
评论