阿里中间件团队一面:
第一步先自我介绍?
介绍自己的项目经验和个人的擅长点,面试官主要考察你的表达能力和语言精简能力。
第二步:项目中做了什么,难点在哪里?
主要是想了解参与过技术难度最大的项目难点,技术难点在哪里,你是怎么来解决的,考察项目经验(技术难度)。
第三步:开始切入技术面试正题:
- Java的线程池说一下,各个参数的作用,如何进行的?
- 同步与异步区别?
- HashMap的实现原理,HashMap是如何解决hash冲突的问题?
- Redis讲一下,项目使用场景,以及对应的算法?
- 分布式系统的全局id如何实现?用zookeeper如何实现的呢,机器号+时间戳即可?
- 分布式锁的方案,redis和zookeeper那个好,如果是集群部署,高并发情况下哪个性能更好?
- kafka了解么,了解哪些消息队列?
- 乐观锁,悲观锁?
- IO和NIO的却别,以及NIO的原理,有了解过mina?
- JVM内存模型,JVM加载原理,回收算法了解?
第四步: 你是想做业务还是研究?
主要是想考察你对技术是否有深入的研究兴趣,建议回答喜欢研究,毕竟招聘的是技术岗位。
阿里技术二面:
1 介绍你做的项目和其中的难点?
2 反射的作用是什么?
3 数据仓库,多线程和并发工具等?
4 私有云,docker和k8s等?
5 了解哪些中间件,dubbo,rocketmq,mycat等?
6 dubbo中的rpc如何实现?
7 自己实现rpc应该怎么做?
9 dubbo的服务注册与发现?
10 听说我是非科班,于是问了些排序算法
面试耗时将近30分钟。
阿里技术三面:
三面不是面试,而是笔试,耗时三个小时,考的是Java核心的基础。
大概说一下就是有几个考点:
- Java并发的知识点
- 集合类
- 线程池
- 多线程之间的通信
面试耗时将近40分钟。
阿里HR面:
聊人生谈理想,主要还是考察你对工作是否持积极的态度,以及你是否稳定,自信发挥就可以了。
面试耗时将近30分钟。
阿里面试总结:
阿里的面试特别喜欢面试技术原理,特别是
- 多线程
- NIO
- 异步消息框架
- 分布式相关的缓存算法等
- JVM的加载过程和原理
- 回收算法
- 以及具体使用过的框架,会问部分参数检验你是否熟用
- 第一面能通过,后续被录用的可能性就比较高了,第一轮非常重要,建议系统性的学习面试题目!
以上就是完整的技术面试、项目经验、HR面试的经验总结,希望对你有所帮助,后续再给大家分享BAT面试题的答案!
作者简介
陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注作者「mikechen」公众号,获取更多技术干货!
后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》,后台回复【面试】即可获取《史上最全阿里Java面试题总结》
话说,这个面对问题不是很难为人的样子