阿里团队一面:
- 三分钟简短自我介绍?
- 介绍自己的项目经验和个人的擅长点,面试官主要考察你的表达能力和语言精简能力。
- 第二步:项目中做了什么,难点在哪里? 你是怎么克服难点的?
- 主要是想了解参与过技术难度最大的项目难点,技术难点在哪里,你是怎么来解决的,考察项目经验(技术难度)。
聊天结束,技术面试正题:
- Java的线程池说一下,各个参数的作用,如何进行的?
- 同步与异步区别?
- HashMap的实现原理,HashMap是如何解决hash冲突的问题?
- Redis讲一下,项目使用场景,以及对应的算法?
- 分布式系统的全局id如何实现?用zookeeper如何实现的呢,机器号+时间戳即可?
- 分布式锁的方案,redis和zookeeper那个好,如果是集群部署,高并发情况下哪个性能更好?
- kafka了解么,了解哪些消息队列?
- 乐观锁,悲观锁?
- IO和NIO的却别,以及NIO的原理,有了解过mina?10.JVM内存模型,JVM加载原理,回收算法了解?
阿里技术二面:
- 介绍你做的项目和其中的难点?
- 反射的作用是什么?
- 数据仓库,多线程和并发工具等?
- 私有云,docker和k8s等?
- 了解哪些中间件,dubbo,rocketmq,mycat等?
- dubbo中的rpc如何实现?
- 自己实现rpc应该怎么做?
- dubbo的服务注册与发现?
- 听说我是非科班,于是问了些排序算法
阿里技术三面:
三面是笔试,做了将近三小时,主要是考察自己对Java核心的基础!
总结出大概就是这几个考点:
- Java并发的知识点
- 集合类
- 线程池
- 多线程之间的通信
阿里HR面:
聊人生谈理想,主要还是考察你对工作是否持积极的态度,以及你是否稳定,自信发挥就可以了。
面试耗时将近30分钟。
阿里面试总结:
阿里的面试特别喜欢面试技术原理,特别是
- 多线程
- NIO
- 异步消息框架
- 分布式相关的缓存算法等
- JVM的加载过程和原理
- 回收算法
- 以及具体使用过的框架,会问部分参数检验你是否熟用
第一面能通过,后续被录用的可能性就比较高了,第一轮非常重要,建议系统性的学习面试题目!
最后历年来阿里面试题目相关知识点分享:
分布式
- 一、大型网站系统的特点
- 二、大型网站架构演化发展历程
- 三、拆分 VS 集群
- 四、微服务 VS SOA
- 五、前后端完全分离与Rest规范
- 六、CAP三进二和Base定理
中间件
- 一、缓存
- 二、消息队列
- 三、搜索引擎
大数据与高并发
- 一、秒杀架构设计
- 二、数据库架构发展历程
- 三、MySQL的扩展性瓶颈
- 四、为什么要使用NOSQL NOT ONLY SQL
- 五、传统RDBMS VS NOS QL
- 六、NOSQL数据库的类型
- 七、阿里巴巴中文站商品信息如何存放
- 八、数据的水平拆分和垂直拆分
- 九、分布式事务
- 十、BitMap
- 十一、Bloom Filter
- 十二、常见的限流算法
- 十三、负载均衡
- 十四、一致性Hash算法
数据库
- 一、数据库范式
- 二、数据库开发规范
- 三、数据库索引
- 四、MyISAM vs InnoDB
- 五、并发事务带来的问题
- 六、事务隔离级别及锁的实现机制
- 七、MVCC(多版本并发控制)
- 八、间隙锁与幻读
设计模式与实践
- 一、OOP五大原则SOLID
- 二、设计模式
- 三、代理模式
- 四、面向切面编程(AOP)
- 五、工厂模式
- 六、控制反转IOC
- 七、观察者模式
- 八、Zookeeper
数据结构与算法
- 一、树
- 二、BST树
- 三、BST树
- 四、AVL树
- 五、红黑树
- 六、B-树
- 七、B+树
- 八、字典树
- 九、跳表
- 十、HashMap
- 十一、ConcurrentHashM ap
- 十二、ConcurrentLinked Queue
- 十三、Topk问题十四、资源池思想
- 十五、JVM内存管理算法
- 十六、容器虚拟化技术,Doocker思想
- 十七、持续集成、持续发布,jenkins
面试题举例
- 一、设计一个分布式环境下全局唯一的发号器
- 二、设计一个带有过期时间的LRU缓存
- 三、设计一个分布式锁
- 四、设计一个分布式环境下的统一配置中心
- 五、如何准备HR面试
拿这份资料应付大多数企业面试肯定是绰绰有余的,有兴趣可以点击下方名片免费领取完整版,如果决定有用的话可以点赞评论转发三连一下,谢谢大家~
