最近社区 Java 技术进阶群的小伙伴总是会问, 如何面试阿里 Java 技术岗, 需要什么条件, 做哪些准备; 小编就这些问题找到了阿里技术团队中在一线真正带 Java 开发团队并直接参与技术面试的专家, 分享了自身在筛选简历时的要求, 面试时经常会问到的问题, 以及面试官通过提问是怎样判断面试者技术水平的.
如有 Java 相关问题, 请向专家提问 https://yq.aliyun.com/promotion/755
以下都是面试官的经验, 我们只介绍普遍现象, 但会存在特例
哪类 Java 开发者更受阿里青睐?
1, 潜力比较大, 心力脑力体力都处于巅峰状态的, 工作 4-5 年左右是普遍的最佳时段
2, 经验足, 有视野的, 具备大项目积累沉淀
3, 平时爱学习爱总结, 有进步的主观能动性
4, 聪明, 皮实, 乐观, 自省 的同学,[聪明, 皮实, 乐观, 自省] 的解释: https://yq.aliyun.com/articles/671042
哪些 Java 开发者面试阿里会比较艰难?
1, 工作多年已经转管理岗的, 如果面试开发岗位, 有可能代码不熟练或心力脑力体力很难跟上技术开发强度
2, 工作 3 年以下的, 有可能技术和积累的还不够, 需要继续修炼
3, 以往开发的项目太简单, 很难看到工作亮点, 例如项目经历过多是增删查改加缓存
4, 以上情况也会有例外的, 例外情况的除外
阿里 Java 技术面试流程:
1, 自我介绍, 面试官的关注点: 做过项目的规模, 具体细节及本人所承担的任务
2, 一些 Java 基础问题, 做初步的了解
3, 面试者选择一个最能体现价值的项目, 详细描述细节, 架构以及为什么这样设计
4, 设置 1-2 个必答题, 如果答不上来后面不用继续了 (面试官面试要效率的, 所以会有这种杀手锏类的问题, 这种必答题本文后面会详细举例)
5, 如果你走过前 4 步, 后续面试官可能会提问关于学习能力的问题和考察处理未知问题的能力
面试官经常会问到的几个知识点以及面试官问这些问题背后的解读
1, 杀手锏类问题 (划重点), 每个面试官的杀手锏可能不一样, 但目的是一样的, 用最短的时间筛选出适合的人
例如 1: 请写出常用的 Exception
一般来说, 能写出 20 个以上, 而且随意选择几个, 大都能说的比较清楚, 就是非常不错的了. 考面试者的实际开发能力, 特别是深度, 也可以看出过去常做的内容
比如写了 ClassNotFoundException, 可能是做过 ClassLoader 动态加载的内容.
如果是写了 ConcurrentModifiedException, 可能是并发问题或者别的地方不足.
如果写了 UnsupportOperationException, 可能在设计方面有些基础或者经验.
如果写了 SecurityException 或者 IlleagalException, 说明做的内容比较深一些, 更贴近底层.
例如 2: 死锁的是怎么产生的? 如果答的很乱, 提示需要几个线程几个资源? 描述细节
2, 观察类问题, 这类问题就是考验面试者思路, 表达能力, 项目经历
例如 1: 讲述一个最能体现价值的项目, 详细描述细节, 架构以及为什么这样设计, 和其他项目比, 为何选此项目
例如 2: 讲述一个有印象或者最难的 Bug
这类问题主要听面试者是否能够非常清楚细节地讲述一个项目或 bug, 包括如何发现, 解决, 反思, 从这些内容上可以判断他是否在一线写代码, 以及思维方式, 一般会涉及: 故障点, 定位, 解决思路, 方案选择.
3, 开放类问题, 问到这类问题说明面试官对你基本满意, 不在乎说对说错, 可能没有对错, 就是考察你的学习能力和处理未知问题的能力以及你的思考.
例如 1: 说出几本觉得最有意义的技术书籍
例如 2: 如 Spring 中如何对同名 Bean 加载时的处理
例如 3: 大并发时的系统架构需要考虑哪些问题, 怎样扛住大并发量, 一致性怎样解决, 如何取舍
如果以上技术你都游刃有余了, 那么面试阿里成功的几率 80%
如果你对 Java 学习还有些问题, 可以向社区 Java 专家提问 https://yq.aliyun.com/promotion/755
本文面试内容及案例来自:
阿里无线技术专家元顺撰写的《JAVA 服务端面试基本流程》;
阿里高级专家无邪撰写的《如何做一个面试官达人 -- 面试经验分享》
来源: https://yq.aliyun.com/articles/670957