阿里中间件团队一面:
第一步先自我介绍?
介绍自己的项目经验和个人的擅长点,面试官主要考察你的表达能力和语言精简能力。
第二步:项目中做了什么,难点在哪里?
主要是想了解参与过技术难度最大的项目难点,技术难点在哪里,你是怎么来解决的,考察项目经验(技术难度)。
第三步:开始切入技术面试正题:
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的加载过程和原理
回收算法
以及具体使用过的框架,会问部分参数检验你是否熟用
第一面能通过,后续被录用的可能性就比较高了,第一轮非常重要,建议系统性的学习面试题目!
欢迎工作一到五年的Java工程师朋友们加入Java填坑之路:860113481
群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!
有疑问加站长微信联系(非本文作者)