写点什么

阿里五面(4 轮技术 +HR)成功逆袭,面经分享

作者:Java高工P7
  • 2021 年 11 月 12 日
  • 本文字数:2327 字

    阅读完需:约 8 分钟

  1. 如何设计存储海量数据的存储系统

  2. 缓存的实现原理,设计缓存要注意什么

  3. 淘宝热门商品信息在 JVM 哪个内存区域

  4. 操作系统的页式存储

  5. volatile 关键字的如何保证内存可见性

  6. happen-before 原则

  7. Lucene 全文搜索的原理

  8. 你觉得自己适合哪方面的开发,为什么

  9. 想去哪里实习,杭州?


反问面试官的问题:


  1. 评价一下我的这次面试表现

  2. 应该在我的技术栈中增加什么

  3. 有机会下次面试吗


一面总结


====


一面大概面了 50 多分钟,从面试官口中得知他是一个老员工,比我大不了多少,总体上还是聊得蛮投机的。最后的三个问题是我问面试官的,在回答我是否还有机会下次面试的时候说:?竞争很激烈,不过机会还是有的。


可以


【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


看出一面的问题不是很难,但是要得到面试官比较高的评价,还是需要一定的表达能力和对技术比较本质的认识的,如果在回答问题的时候能够做一些适当的扩展,自然会让面试官对你有不一样的评价。我回答问题的遵循一定的步骤: 先回答问题本质,在回答具体细节,最后做一些平时编程中的扩展 。这样,会让面试官觉得你确实是在这个技术上面下过功夫的。


阿里二面


====


等了将近 6 天(还以为被刷了呢)终于在第二周的周四接到阿里面试电话,那叫一个激动啊。赶紧找了一个安静的地方,准备好后开始正式面试。二面的面试官是一个部门主管,自然还是有点小紧张的。这次面试官上来就直接问,没有一面的面试官那么好说话。


下面是面试过程中的问题:


  1. 自我介绍下自己,不超过 3 分钟(我的自我介绍仍然不超过 1 分钟)

  2. 你说你熟悉并发编程,那么你说说 Java 锁有哪些种类,以及区别(果然深度不一样)

  3. 如何保证内存可见性

  4. Http 请求的过程与原理

  5. TCP 连接的特点

  6. TCP 连接如何保证安全可靠的

  7. 为什么 TCP 连接需要三次握手,两次不可以吗,为什么

  8. AOP 的原理

  9. 动态代理与 cglib 实现的区别(这个,醉得很厉害)

  10. 那么你说说代理的实现原理呗

  11. 看过 Spring 源码没,说说 Ioc 容器的加载过程吧

  12. 了解过字节码的编译过程吗(这个还真不知道)


反问面试官的问题:


  1. 可以来杭州实习吗

  2. 评价一下我的面试表现

  3. 有机会下次面试吗

  4. 您觉得我的技术栈应该补充什么,有哪些方面还需要提高


二面总结


====


二面面试官问的问题都比较直接,答案也是知道就知道,不知道就不知道。这些问题一部分是基础,一部分是根据你的专业技能的来提问的。


面完后面试官对我的评价是:中规中矩,有机会下次面试。虽说是中规中矩,但听到面试官说有机会下次面试就感觉这次面试应该过了。


虽说这次面试过了,但是我在思考的是为什么面试官对我的表现是中规中矩。后面我知道我的回答虽然答到了点子上,但是扩展程度不够,对一些问题的理解缺乏足够的实践经验。面试官告诉我,有时间可以去研究字节码的编译过程,以及 JVM 调优方面的知识(特别强调这个很重要)。针对自己的不足,面完后又投入疯狂的看书写代码的生活中。虽然在面试中有一些回答不出来很正常,但是如果能够做到出乎面试官的意料,也是面试官对你很重要的加分项。


阿里三面


====


三面与二面隔了 5 天,找了一个安静的地方开始电话面试。据说总监面会问项目多一点,所以在等待的这几天中给项目增加了几个比较肉的点。总监刚上来非常不客气,最尴尬的是总监那边老感觉有回声,因为不好意思提就忍了。


下面是三面遇到的问题:


  1. 自我介绍,不超过 3 分钟(这次好像时间更久了,也就 2 分钟多点)

  2. 说一下你对哪个项目比较熟悉

  3. 为什么做这个项目

  4. 项目采用了什么架构,数据库如何设计的

  5. 数据库由哪些表,为什么有这些表

  6. 主要有哪些核心模块,模块之间如何通信的

  7. session 放在哪里

  8. 如何保存会话状态,有哪些方式、区别如何

  9. 分布式 session 如何管理,你有哪些方案

  10. 学过数据结构和算法吗(当然),你说说二分搜索的过程

  11. 说一下快排的过程,写一下伪代码

  12. 了解哪设计模式,举例说说在 jdk 源码哪些用到了你说的设计模式

  13. 你有什么问我吗(仍然上面三个问题)


三面总结


====


本以为三面是交叉面,没想到是阿里的总监面试。由于具体的技术问题在前两轮面试中已经问过了,所以三面后不会有具体的技术问题,总结来看,对自己做过的项目一定要深入,包括使用使用到的技术原理、为什么要使用这些技术。


针对项目,面试官关注的无非以下几点:


  1. 项目中某个比较重要的点是如何实现的(需要深入技术的原理)

  2. 遇到的最大困难是什么(有哪些),你怎么解决的?

  3. 如果需要扩展某个功能,如何降低系统的耦合度

  4. 如果针对某个功能进行优化,你会怎么设计和优化


对于写在简历上面的项目,自己对照上面四个问题进行思考,才会在面试中游刃有余。因为任何在简历中作假的行为,面试官只要详细问你就露馅了。在听到面试官说有机会下次面试的时候,心中自然是非常高兴的。


阿里四面(总监面)


=========


果然,在第二天下午四点多接到了部门总监的电话,简单沟通后开始了面试。这次面试感觉是最放松的,没有什么高深的技术问题,感觉就像和朋友聊天的感觉,真的很感谢这位面试官。


下面是面试中的问到的问题:


  1. 来个自我介绍呗,不超过 3 分钟

  2. 介绍下你最熟悉的项目

  3. 项目使用了什么架构,亮点是什么

  4. 平时主要学习什么课程

  5. 你目前的研究方向是什么

  6. 家是哪的

  7. 喜欢看什么书

  8. 大概什么时候能来实习呢


四面总结


====


虽然这面比较轻松,也没有什么具体的技术问题,但对项目仍然是面试官关注的,后面了解到总监面除了看你的基础,主要看你的潜力(就是有没有培养的价值),这个东西看起来挺虚的,但是从你平时的学习中仍然是可以看得出来的。所以,作为一名开发人员,平时对技术的研究也是很重要的。在听到面试官说让我好好等 HR 通知的时候可开心了,感觉饭都吃得更香了。


阿里五面(HR 面)


=========


在隔了 4 天左右,终于接到了 HR 的电话,那叫一个激动啊。感觉离阿里 offer 已经不远了,于是振奋精神,聊得还不错。


下面是 HR 问我的问题:


  1. 自我介绍下吧

  2. 做了哪些项目

用户头像

Java高工P7

关注

还未添加个人签名 2021.11.08 加入

还未添加个人简介

评论

发布
暂无评论
阿里五面(4轮技术+HR)成功逆袭,面经分享